
Detaped es un desensamblador y descompilador de Python para Duktape. Su uso previsto es la revisión y el análisis de código fuente en situaciones donde solo se tiene el binario de bytecode de Duktape compilado, como en una evaluación de caja negra.
Detaped es un desensamblador y decompilador de Python para Duktape (GitHub). El uso previsto es para la revisión y el análisis de código fuente en situaciones donde solo se dispone del binario de bytecode compilado de Duktape, como en una evaluación de caja negra.
└─$ detaped --help
usage: detaped.py [-h] [-o OUTPUT] [-a ASM] [-t TXT] [-n] [-v {none,normal,debug}]
[--disable-grouping] [--disable-call] [--disable-jump] [--disable-if-else]
[--disable-if-condition] [--disable-try-catch-finally] [--disable-for-loop]
[--disable-while-loop] [--disable-init-array] [--disable-init-object]
[--disable-get-prop] [--disable-join-operator] [--disable-double-return]
input
Duktape JavaScript bytecode decompiler
positional arguments:
input The Duktape bytecode file or directory to be decompiled.
options:
-h, --help show this help message and exit
-o OUTPUT, --output OUTPUT
The decompiled output JavaScript file or directory.
-a ASM, --asm ASM The output JavaScript ASM file or directory.
-t TXT, --txt TXT The command output text file.
-n, --no-ansi Disable ANSI color output.
-v {none,normal,debug}, --verbosity {none,normal,debug}
The script output verbosity mode. (Default "normal")
Decompiler Grouping:
Disable specific decompiler grouping functionality.
--disable-grouping Disables all grouping functionality.
--disable-call Disables call grouping.
--disable-jump Disables jump block grouping.
--disable-if-else Disables if/else block grouping.
--disable-if-condition
Disables grouping if statement with preceding condition.
--disable-try-catch-finally
Disables try/catch/finally block grouping.
--disable-for-loop Disables for loop block grouping.
--disable-while-loop Disables while loop block grouping.
--disable-init-array Disables grouping array initialization.
--disable-init-object
Disables grouping object initialization properties.
--disable-get-prop Disables grouping get properties.
--disable-join-operator
Disables grouping join operators.
--disable-double-return
Disables grouping return undefined after return.
El siguiente diagrama muestra cómo un archivo JavaScript simple se transforma en los distintos estados.
