
Python Ghidra Decompiler en ligne de commande
Cet outil Python en ligne de commande décompile toutes les fonctions d'un binaire et les écrit dans un répertoire sous forme de fichiers C séparés :```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
Ou un seul fichier `C` et fichier d'en-tête avec `--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
Le but principal est d'utiliser les décompilations pour la recherche et l'analyse. L'outil s'appuie sur Ghidra pour la décompilation et communique avec Ghidra à l'aide de jpype via pyghidra.
toutes ces fonctionnalités sont finalement fournies par Ghidra
-o OUTPUT_PATH)--cppexport)-s SYMBOLS_PATH)
--sym-file-path)--filter)--gdt)--sast) avec Semgrep pour l'analyse statique du code décompilé