Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
rz-ghidra — Intégration profonde du décompilateur Ghidra et du désassembleur Sleigh pour rizin | Kitploit
Outils/GitHubGitHub/rizinorg/rz-ghidra
Analyse StatiqueRétro-ingénierieAnalyse de Binaires
GitHubrizinorg/rz-ghidra

rz-ghidra

Intégration profonde du décompilateur Ghidra et du désassembleur Sleigh pour rizin

Voir le dépôt
965108il y a 4 joursVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
Logo de rz-ghidra

rz-ghidra

Ceci est une intégration du décompilateur Ghidra et du désassembleur Sleigh pour Rizin. Il est basé uniquement sur la partie décompilateur de Ghidra, qui est écrite entièrement en C++, donc Ghidra lui-même n'est pas du tout nécessaire et le plugin peut être construit de manière autonome. Ce projet a été présenté, initialement pour radare2, à la r2con 2019 dans le cadre de la conférence sur Cutter : https://youtu.be/eHtMiezr7l8?t=950

Utilisation

root@kitploit:~
Usage: pdg   # Native Ghidra decompiler plugin
| pdg           # Decompile current function with the Ghidra decompiler
| pdgd          # Dump the debug XML Dump
| pdgx          # Dump the XML of the current decompiled function
| pdgj          # Dump the current decompiled function as JSON
| pdgo          # Decompile current function side by side with offsets
| pdgs          # Display loaded Sleigh Languages
| pdg*          # Decompiled code is returned to rizin as comment

Les variables de configuration suivantes (pour la commande e) peuvent être utilisées pour ajuster le comportement de rz-ghidra :

root@kitploit:~
    ghidra.cmt.cpp: C++ comment style
 ghidra.cmt.indent: Comment indent
     ghidra.indent: Indent increment
       ghidra.lang: Custom Sleigh ID to override auto-detection (e.g. x86:LE:32:default)
    ghidra.linelen: Max line length
   ghidra.nl.brace: Newline before opening '{'
    ghidra.nl.else: Newline before else
 ghidra.sleighhome: SLEIGHHOME

Ici, ghidra.sleighhome doit pointer vers un répertoire contenant les fichiers *.sla, *.lspec, ... pour les architectures qui devraient être supportées par le décompilateur. Ceci est cependant configuré automatiquement lors de l'utilisation du paquet rz-pm ou de l'installation comme indiqué ci-dessous.

Construction

Tout d'abord, assurez-vous que le sous-module contenu dans ce dépôt est récupéré et à jour :

root@kitploit:~
git submodule init
git submodule update

Ensuite, le plugin Rizin peut être construit et installé comme suit :

root@kitploit:~
mkdir build && cd build
cmake -DCMAKE_INSTALL_PREFIX=~/.local ..
make
make install

Ici, définissez CMAKE_INSTALL_PREFIX sur un emplacement d'où Rizin peut charger le plugin. L'étape d'installation est nécessaire pour le fonctionnement du plugin car elle inclut l'installation des fichiers Sleigh nécessaires. Si vous utilisez Rizin depuis git, définissez également CMAKE_PREFIX_PATH sur le répertoire d'installation de Rizin.

Pour construire également le plugin Cutter, vous devez avoir Cutter installé depuis les sources sous un certain préfixe, qui peut être spécifié optionnellement avec -DCMAKE_PREFIX_PATH=<path>, puis passez -DBUILD_CUTTER_PLUGIN=ON à cmake pour activer le plugin :

root@kitploit:~
/my/path/rz-ghidra> mkdir build && cd build
/my/path/rz-ghidra/build> cmake -DBUILD_CUTTER_PLUGIN=ON -DCMAKE_PREFIX_PATH=/path/to/cutter/prefix -DCMAKE_INSTALL_PREFIX=~/.local ..
/my/path/rz-ghidra/build> make && make install

Par défaut, le plugin Cutter est installé dans un chemin choisi automatiquement dans le répertoire personnel de l'utilisateur courant. Ce chemin peut être remplacé avec -DCUTTER_INSTALL_PLUGDIR.

Gestion des versions et compatibilité avec Rizin

Rizin a une API C en évolution rapide, il est donc nécessaire d'être explicite sur les versions de rz-ghidra compatibles avec les versions de Rizin :

Lors de l'utilisation de Rizin et rz-ghidra depuis git :

  • La branche dev de rz-ghidra suit la branche dev de Rizin.
  • La branche stable de rz-ghidra suit la branche stable de Rizin.

Concernant les versions, rz-ghidra est généralement publié simultanément avec Rizin et utilise souvent les mêmes numéros de version (mais ce n'est pas garanti, ne vous fiez pas à ces numéros !). De plus, à chaque version de Rizin, un tag comme rz-0.1.2 est créé sur rz-ghidra, qui pointe exactement sur une version de rz-ghidra et indique que cette version est compatible avec la version spécifiée de Rizin. Ces tags peuvent être utilisés par les mainteneurs de distributions pour savoir comment configurer les dépendances.

Licence

Veuillez noter que ce plugin est disponible sous LGPLv3, ce qui est plus strict que la licence de Ghidra !

Ce programme est un logiciel libre : vous pouvez le redistribuer et/ou le modifier selon les termes de la GNU Lesser General Public License telle que publiée par la Free Software Foundation, soit la version 3 de la Licence, soit (à votre choix) toute version ultérieure.

Ce programme est distribué dans l'espoir qu'il sera utile, mais SANS AUCUNE GARANTIE ; sans même la garantie implicite de QUALITÉ MARCHANDE ou d'ADÉQUATION À UN USAGE PARTICULIER. Voir la GNU Lesser General Public License pour plus de détails.

Vous devriez avoir reçu une copie de la GNU Lesser General Public License avec ce programme. Sinon, consultez https://www.gnu.org/licenses/.

Télécharger l’outil