
Descompilador de Ghidra de línea de comandos en Python
Esta herramienta de línea de comandos en Python descompila todas las funciones de un binario y las escribe en un directorio en archivos C separados:```mermaid
flowchart LR
a(filename ) --> b[ghidrecomp] a2[(Symbol Server)] --> b
b --> e(Ghidra Project Files) b --> output
subgraph output
subgraph decompilations direction LR i(func1.c) h(func2.c) f(funcB.c) end
subgraph callgraphs direction LR j(callgraph1.md) k(callgraph2.md) l(callgraphN.md) end
subgraph bsim-xml direction LR n(sig-md5-bin1.xml) m(sig-md5-bin2.xml) o(sig-md5-binN.xml) end
end
O un único archivo `C` y archivo de cabecera con `--cppexport`:```mermaid
flowchart LR
a(filename ) --> b[ghidrecomp]
a2[(Symbol Server)] --> b
b --> e(Ghidra Project Files)
b --> singlefile
subgraph singlefile
direction LR
s1(all_funcs.c)
s2(all_funcs.h)
end
El propósito principal de esto es utilizar las descompilaciones para investigación y análisis. La herramienta se basa en Ghidra para la descompilación y se comunica con Ghidra mediante jpype a través de pyghidra.
todas estas características las proporciona en última instancia Ghidra
-o OUTPUT_PATH)--cppexport)-s SYMBOLS_PATH)
--sym-file-path)--filter)--gdt)--sast) con Semgrep para el análisis estático del código descompilado