Vincenzo Marletta

97 papers B 12Journal 46Unranked 37
YearRankTypeTitle / Venue / Authors
2024 J jnl
IEEE Trans. Instrum. Meas.
Bruno Andò, Salvatore Baglio, Mattia Manenti, Vincenzo Marletta, Adi R. Bulsara, Roberto La Rosa
2023 conf
I2MTC
Bruno Andò, Salvatore Baglio, Valeria Finocchiaro, Vincenzo Marletta, Sreeraman Rajan, Ebrahim Ali Nehary, Valeria Dibilio, Giovanni Mostile, Mario Zappia
2023 B conf
SAS
Francesco Arcadio, Domenico del Prete, Luigi Zeni, Maria Pesavento, Giancarla Alberti, Vincenzo Marletta, Salvatore Castorina, Bruno Andò, Nunzio Cennamo
2023 J jnl
IEEE Trans. Instrum. Meas.
Nunzio Cennamo, Francesco Arcadio, Bruno Andò, Vincenzo Marletta, Domenico del Prete, Mario Cesaro, Alfredo De Matteis, Luigi Zeni
2023 B conf
SAS
Bruno Andò, Salvatore Baglio, Salvatore Castorina, Salvatore Graziani, Vincenzo Marletta, Alberto Campisi
2022 J jnl
Sensors
Bruno Andò, Salvatore Baglio, Salvatore Graziani, Vincenzo Marletta, Valeria Dibilio, Giovanni Mostile, Mario Zappia
2022 conf
I2MTC
Bruno Andò, Salvatore Baglio, Adi R. Bulsara, Vincenzo Marletta, Bruno Vaccaro
2022 conf
M&N
Bruno Andò, Salvatore Baglio, Salvatore Castorina, Salvatore Graziani, Alberto Campisi, Vincenzo Marletta
2022 B conf
SAS
Bruno Andò, Salvatore Baglio, Valeria Dibilio, Vincenzo Marletta, Michele Marella, Giovanni Mostile, Sreeraman Rajan, Mario Zappia
2022 B conf
SAS
Nunzio Cennamo, Francesco Arcadio, Vincenzo Marletta, Domenico del Prete, Bruno Andò, Luigi Zeni, Mario Cesaro, Alfredo De Matteis
2022 conf
I2MTC
Nunzio Cennamo, Francesco Arcadio, Aldo Minardo, Domenico del Prete, Luigi Zeni, Maria Pesavento, Giancarla Alberti, Vincenzo Marletta, Bruno Andò
2021 J jnl
IEEE Trans. Instrum. Meas.
Bruno Andò, Salvatore Baglio, Vincenzo Marletta
2021 J jnl
Sensors
Bruno Andò, Salvatore Baglio, Vincenzo Marletta, Ruben Crispino
2021 J jnl
IEEE Trans. Instrum. Meas.
Nunzio Cennamo, Francesco Arcadio, Vincenzo Marletta, Salvatore Baglio, Luigi Zeni, Bruno Andò
2021 J jnl
IEEE Trans. Instrum. Meas.
Bruno Andò, Salvatore Baglio, Salvatore Castorina, Ruben Crispino, Vincenzo Marletta
2021 J jnl
Sensors
Bruno Andò, Salvatore Baglio, Salvatore Castorina, Vincenzo Marletta
2021 conf
I2MTC
Bruno Andò, Salvatore Baglio, Salvatore Castorina, Ruben Crispino, Vincenzo Marletta, Giovanni Mostile, Mario Zappia
2021 J jnl
J. Ambient Intell. Humaniz. Comput.
Bruno Andò, Salvatore Baglio, Ruben Crispino, Vincenzo Marletta
2021 conf
MetroInd4.0&IoT
Bruno Andò, Salvatore Baglio, Luciano Cantelli, Salvatore Castorina, Ruben Crispino, Carl J. Debono, Dario C. Guastella, Vincenzo Marletta, Giovanni Muscato, Giuseppe Sutera, Matthew Sacco, Andrea Borgese
2021 J jnl
IEEE Instrum. Meas. Mag.
Vincenzo Marletta
2021 J jnl
IEEE Instrum. Meas. Mag.
Vincenzo Marletta
2021 J jnl
IEEE Instrum. Meas. Mag.
Bruno Andò, Salvatore Baglio, Salvatore Castorina, Vincenzo Marletta, Ruben Crispino
2020 J jnl
IEEE Trans. Instrum. Meas.
Bruno Andò, Salvatore Baglio, Vincenzo Marletta, Antonio Pistorio
2020 J jnl
IEEE Trans. Instrum. Meas.
Bruno Andò, Vincenzo Marletta, Salvatore Baglio, Ruben Crispino, Giovanni Mostile, Valeria Dibilio, Alessandra Nicoletti, Mario Zappia
2020 J jnl
IEEE Trans. Instrum. Meas.
Bruno Andò, Salvatore Baglio, Adi R. Bulsara, Vincenzo Marletta
2020 J jnl
Sensors
Bruno Andò, Salvatore Baglio, Salvatore Castorina, Ruben Crispino, Vincenzo Marletta
2020 conf
ForItAAL
Bruno Andò, Salvatore Baglio, Salvatore Castorina, Ruben Crispino, Vincenzo Marletta, Giovanni Muscato, Luca Porcaro, Sebastiano Salupo, Carl J. Debono, Nadia Theuma
2020 J jnl
IEEE Instrum. Meas. Mag.
Vincenzo Marletta
2020 J jnl
IEEE Instrum. Meas. Mag.
Vincenzo Marletta
2020 conf
I2MTC
Nunzio Cennamo, Francesco Arcadio, Luigi Zeni, Bruno Andò, Salvatore Baglio, Vincenzo Marletta
2019 J jnl
IEEE Trans. Instrum. Meas.
Bruno Andò, Salvatore Baglio, Ruben Crispino, Salvatore Graziani, Vincenzo Marletta, Alfio Mazzaglia, Valentina Sinatra, David Mascali, Giuseppe Torrisi
2019 J jnl
IEEE Trans. Instrum. Meas.
Bruno Andò, Salvatore Baglio, Vincenzo Marletta, Antonio Pistorio, Adi R. Bulsara
2019 J jnl
IEEE Trans. Instrum. Meas.
Bruno Andò, Salvatore Baglio, Vincenzo Marletta, Antonio Pistorio, Adi R. Bulsara
2019 J jnl
IEEE Trans. Instrum. Meas.
Bruno Andò, Salvatore Baglio, Vincenzo Marletta, Ruben Crispino, Antonio Pistorio
2019 conf
I2MTC
Bruno Andò, Salvatore Baglio, Vincenzo Marletta, Roberto La Rosa, Adi R. Bulsara
2019 J jnl
IEEE Trans. Instrum. Meas.
Nunzio Cennamo, Luigi Zeni, Maria Pesavento, Simone Marchetti, Vincenzo Marletta, Salvatore Baglio, Salvatore Graziani, Antonio Pistorio, Bruno Andò
2019 conf
M&N
Bruno Andò, Salvatore Baglio, Salvatore Castorina, Ruben Crispino, Vincenzo Marletta
2019 conf
I2MTC
Bruno Andò, Salvatore Baglio, Ruben Crispino, Vincenzo Marletta
2019 conf
M&N
Bruno Andò, Salvatore Baglio, Ruben Crispino, Vincenzo Marletta, Valeria Dibilio, Giovanni Mostile, Alessandra Nicoletti, Mario Zappia
2019 conf
ForItAAL
Bruno Andò, Luciano Cantelli, Salvatore Castorina, Ruben Crispino, Dario Calogero Guastella, Vincenzo Marletta, Giovanni Muscato, Giuseppe Sutera
2019 B conf
SAS
Bruno Andò, Salvatore Baglio, Salvatore Castorina, Ruben Crispino, Vincenzo Marletta
2019 B conf
SAS
Bruno Andò, Salvatore Baglio, Salvatore Castorina, Ruben Crispino, Vincenzo Marletta
2019 J jnl
IEEE Instrum. Meas. Mag.
Vincenzo Marletta
2019 J jnl
IEEE Instrum. Meas. Mag.
Vincenzo Marletta
2019 J jnl
IEEE Instrum. Meas. Mag.
Vincenzo Marletta
2019 J jnl
IEEE Instrum. Meas. Mag.
Vincenzo Marletta
2019 J jnl
IEEE Trans. Instrum. Meas.
Bruno Andò, Salvatore Baglio, Vincenzo Marletta, Adi R. Bulsara
2019 conf
M&N
Bruno Andò, Salvatore Baglio, Salvatore Castorina, Ruben Crispino, Salvatore Graziani, Vincenzo Marletta, Luca Porcaro, Sebastiano Salupo
2019 J jnl
Sensors
Bruno Andò, Salvatore Baglio, Ruben Crispino, Vincenzo Marletta
2019 ed.
Sensors
Bruno Andò, Francesco Baldini, Corrado Di Natale, Vittorio Ferrari, Vincenzo Marletta, Giovanna Marrazza, Valeria Militello, Giorgia Miolo, Marco Rossi, Lorenzo Scalise, Pietro Siciliano
2018 B conf
SAS
Bruno Andò, Salvatore Baglio, Vincenzo Marletta, Antonio Pistorio
2018 J jnl
IEEE Trans. Instrum. Meas.
Bruno Andò, Salvatore Baglio, Vincenzo Marletta, Angelo Valastro
2018 conf
ForItAAL
Bruno Andò, Salvatore Baglio, Ruben Crispino, Lucia L'Episcopo, Vincenzo Marletta, Marco Branciforte, Maria Celvisia Virzì
2018 J jnl
IEEE Trans. Instrum. Meas.
Bruno Andò, Salvatore Baglio, Vincenzo Marletta, Antonio Pistorio, Valeria Dibilio, Giovanni Mostile, Alessandra Nicoletti, Mario Zappia
2018 conf
I2MTC
Bruno Andò, Salvatore Baglio, Ruben Crispino, Salvatore Graziani, Vincenzo Marletta, Alfio Mazzaglia, Valentina Sinatra, David Mascali, Giuseppe Torrisi
2018 conf
I2MTC
Nunzio Cennamo, Luigi Zeni, Bruno Andò, Salvatore Baglio, Salvatore Graziani, Vincenzo Marletta, Antonio Pistorio, Maria Pesavento, Simone Marchetti
2018 B conf
SAS
Bruno Andò, Salvatore Baglio, Ruben Crispino, Vincenzo Marletta, Valeria Dibilio, Giovanni Mostile, Alessandra Nicoletti, Mario Zappia
2018 conf
ForItAAL
Ruben Crispino, Bruno Andò, Salvatore Baglio, Vincenzo Marletta
2018 J jnl
IEEE Instrum. Meas. Mag.
Vincenzo Marletta
2018 conf
Sensors
Bruno Andò, Salvatore Baglio, Vincenzo Marletta, Ruben Crispino, Salvatore Castorina, Antonio Pistorio, Giovanna Di Pasquale, Antonino Pollicino
2018 conf
I2MTC
Bruno Andò, Salvatore Baglio, Salvatore Graziani, Vincenzo Marletta, Antonio Pistorio, Adi R. Bulsara
2018 J jnl
IEEE Instrum. Meas. Mag.
Vincenzo Marletta
2017 conf
ICE/ITMC
Bruno Andò, Salvatore Baglio, Vincenzo Marletta, Ruben Crispino
2017 conf
ForItAAL
Bruno Andò, Salvatore Baglio, Vincenzo Marletta, Antonio Pistorio, Valeria Dibilio, Giovanni Mostile, Alessandra Nicoletti, Mario Zappia
2017 conf
I2MTC
Bruno Andò, Salvatore Baglio, Vincenzo Marletta, Angelo Valastro, Antonio Pistorio, Carlo Trigona
2017 ed.
ForItAAL
Filippo Cavallo, Vincenzo Marletta, Andrea Monteriù, Pietro Siciliano
2017 J jnl
IEEE Trans. Instrum. Meas.
Bruno Andò, Salvatore Baglio, Adi R. Bulsara, Vincenzo Marletta, Antonio Pistorio
2017 J jnl
Sensors
Bruno Andò, Salvatore Baglio, Adi R. Bulsara, Teresa Emery, Vincenzo Marletta, Antonio Pistorio
2017 J jnl
IEEE Trans. Instrum. Meas.
Bruno Andò, Salvatore Baglio, Vincenzo Marletta, Antonio Pistorio, Adi R. Bulsara
2017 conf
M&N
Bruno Andò, Salvatore Baglio, Vincenzo Marletta, Antonio Pistorio, Adi R. Bulsara
2016 J jnl
IEEE Trans. Instrum. Meas.
Bruno Andò, Salvatore Baglio, Cristian O. Lombardo, Vincenzo Marletta, Antonio Pistorio
2016 J jnl
IEEE Trans. Instrum. Meas.
Bruno Andò, Salvatore Baglio, Cristian Orazio Lombardo, Vincenzo Marletta
2016 conf
ForItAAL
Bruno Andò, Salvatore Baglio, Vincenzo Marletta, Angelo Valastro
2016 B conf
SAS
Bruno Andò, Salvatore Baglio, Vincenzo Marletta, Antonio Pistorio, Adi R. Bulsara
2016 conf
I2MTC
Bruno Andò, Salvatore Baglio, S. Frisenna, Cristian Orazio Lombardo, Vincenzo Marletta
2016 B conf
SAS
Bruno Andò, Salvatore Baglio, Cristian O. Lombardo, Vincenzo Marletta, Valeria Dibilio, Giovanni Mostile, Alessandra Nicoletti, Mario Zappia
2016 conf
Sensors
Bruno Andò, Salvatore Baglio, Adi R. Bulsara, Vincenzo Marletta, Antonio Pistorio
2016 conf
I2MTC
Bruno Andò, Salvatore Baglio, Vincenzo Marletta, Antonio Pistorio, Adi R. Bulsara
2015 J jnl
IEEE Trans. Hum. Mach. Syst.
Bruno Andò, Salvatore Baglio, Vincenzo Marletta, Angelo Valastro
2015 conf
M&N
Bruno Andò, Salvatore Baglio, Cristian O. Lombardo, Vincenzo Marletta
2015 J jnl
IEEE Trans. Instrum. Meas.
Bruno Andò, Salvatore Baglio, Cristian Orazio Lombardo, Vincenzo Marletta
2015 conf
I2MTC
Bruno Andò, Salvatore Baglio, Cristian O. Lombardo, Vincenzo Marletta, Antonio Pistorio
2015 J jnl
IEEE Trans. Instrum. Meas.
Rosaria E. Musumeci, Vincenzo Marletta, Bruno Andò, Salvatore Baglio, Enrico Foti
2015 conf
I2MTC
Bruno Andò, Salvatore Baglio, Cristian O. Lombardo, Vincenzo Marletta
2015 conf
I2MTC
Bruno Andò, Salvatore Baglio, Vincenzo Marletta
2014 conf
I2MTC
Bruno Andò, Salvatore Baglio, Vincenzo Marletta, Antonio Pistorio
2014 B conf
SAS
Bruno Andò, Salvatore Baglio, Cristian O. Lombardo, Vincenzo Marletta
2014 conf
I2MTC
Bruno Andò, Salvatore Baglio, Cristian O. Lombardo, Vincenzo Marletta, Elisa A. Pergolizzi, Antonio Pistorio
2014 B conf
SAS
Bruno Andò, Salvatore Baglio, Cristian O. Lombardo, Vincenzo Marletta
2014 conf
I2MTC
Bruno Andò, Salvatore Baglio, Vincenzo Marletta, Enrico Foti, Rosaria E. Musumeci
2014 J jnl
IEEE Trans. Instrum. Meas.
Bruno Andò, Salvatore Baglio, Vincenzo Marletta
2013 J jnl
IEEE Trans. Instrum. Meas.
Bruno Andò, Salvatore Baglio, Vincenzo Marletta, Adi R. Bulsara
2013 conf
M&N
Bruno Andò, Salvatore Baglio, Cristian O. Lombardo, Vincenzo Marletta, Elisa A. Pergolizzi, Antonio Pistorio
2013 conf
I2MTC
Bruno Andò, Salvatore Baglio, Vincenzo Marletta
2011 J jnl
IEEE Trans. Instrum. Meas.
Bruno Andò, Salvatore Baglio, Gaetano L'Episcopo, Vincenzo Marletta, Nicolò Savalli, Carlo Trigona
2011 J jnl
IEEE Trans. Instrum. Meas.
Salvatore Baglio, Adi R. Bulsara, Bruno Andò, Salvatore La Malfa, Vincenzo Marletta, Carlo Trigona, Patrick Longhini, Andy Kho, Visarath In, Joseph D. Neff, Gregory W. Anderson, Chris C. Obra, Brian K. Meadows, Antonio Palacios
2010 J jnl
IEEE Trans. Instrum. Meas.
Bruno Andò, Salvatore Baglio, Adi R. Bulsara, Vincenzo Marletta
redb/extractors/js_extractors/js_deobfuscator.py
← Index redb/extractors/js_extractors/js_deobfuscator.py python
"""Subprocess-driven JavaScript deobfuscator with jsbeautifier fallback.

Owns the heavy lifting that was previously embedded inside
`JSDeobfuscationExtractor` (`_run_deobfuscator` + `_try_jsbeautifier`). Exposed
as a single module-level entry point `deobfuscate(source, log)` so it can be
called from `JSContext.deobfuscated` (cached per sample) without dragging
extractor state through the call.

Configuration (env vars):
    JS_DEOBFUSCATOR_PATH    Path or name of the external tool (default: webcrack).
    JS_DEOBFUSCATE_TIMEOUT  Seconds before the external tool is killed
                            (process-group SIGTERM, then SIGKILL). Default: 60.

If the external tool produces non-empty output and exits 0, that wins. Otherwise
the source is run through jsbeautifier (which only normalises formatting, but
already exposes strings hidden by minification). If neither path produces
output, returns (None, None).

`FileNotFoundError` for the external tool is treated as routine — the analysis
server is either provisioned with the tool or it isn't — and demoted to a
debug-level log.
"""

import os
import signal
import subprocess
import tempfile
from typing import Optional, Tuple

DEFAULT_DEOBFUSCATOR = "webcrack"
DEFAULT_TIMEOUT_SECS = 60


def _run_external(
    source: str, deobfuscator_path: str, timeout: int, log
) -> Tuple[Optional[str], int]:
    """Run the configured external deobfuscator over `source` and capture stdout.

    Returns (text, returncode). `text` is `None` and `returncode` is `-1` when
    the binary is missing, the run timed out, or any other unexpected failure
    occurred. Missing-binary is logged at debug; timeouts and unexpected errors
    surface at warning/error.
    """
    try:
        with tempfile.NamedTemporaryFile(
            suffix=".js", mode="w", delete=False, encoding="utf-8"
        ) as tmp:
            tmp.write(source)
            tmp_path = tmp.name

        try:
            process = subprocess.Popen(
                [deobfuscator_path, tmp_path],
                stdout=subprocess.PIPE,
                stderr=subprocess.PIPE,
                preexec_fn=os.setsid,
            )

            try:
                stdout, _ = process.communicate(timeout=timeout)
                return stdout.decode("utf-8", errors="replace"), process.returncode
            except subprocess.TimeoutExpired:
                # Kill the entire process group so spawned helpers (e.g. node
                # subprocesses webcrack itself launches) get cleaned up too.
                try:
                    os.killpg(os.getpgid(process.pid), signal.SIGTERM)
                    process.wait(timeout=5)
                except Exception:
                    try:
                        os.killpg(os.getpgid(process.pid), signal.SIGKILL)
                    except Exception:
                        pass
                log.warning(f"Deobfuscation timed out after {timeout}s")
                return None, -1
        finally:
            try:
                os.unlink(tmp_path)
            except Exception:
                pass
    except FileNotFoundError:
        log.debug(f"Deobfuscator binary not found at {deobfuscator_path}")
        return None, -1
    except Exception as e:
        log.error(f"Error running deobfuscator: {e}")
        return None, -1


def _try_jsbeautifier(source: str, log) -> Tuple[Optional[str], Optional[str]]:
    """Fallback path: format the source with jsbeautifier. Returns
    `(text, "jsbeautifier")` or `(None, None)` if jsbeautifier isn't installed
    or the call raised."""
    try:
        import jsbeautifier
        opts = jsbeautifier.default_options()
        opts.indent_size = 2
        return jsbeautifier.beautify(source, opts), "jsbeautifier"
    except ImportError:
        log.debug("jsbeautifier not available")
        return None, None
    except Exception as e:
        log.warning(f"jsbeautifier failed: {e}")
        return None, None


def deobfuscate(source: str, log) -> Tuple[Optional[str], Optional[str]]:
    """Run the configured external deobfuscator, falling back to jsbeautifier.

    Returns `(text, normalizer_used)` on success, or `(None, None)` when neither
    path produced non-empty output. `normalizer_used` is the basename of the
    external tool (e.g. `"webcrack"`) or the literal `"jsbeautifier"`.
    """
    if not source:
        return None, None

    deobfuscator_path = os.getenv("JS_DEOBFUSCATOR_PATH", DEFAULT_DEOBFUSCATOR)
    timeout = int(os.getenv("JS_DEOBFUSCATE_TIMEOUT", str(DEFAULT_TIMEOUT_SECS)))

    text, returncode = _run_external(source, deobfuscator_path, timeout, log)
    if text and returncode == 0 and text.strip():
        return text, os.path.basename(deobfuscator_path)

    return _try_jsbeautifier(source, log)