Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
Strumenti/GitHubGitHub/rizinorg/rz-ghidra
Analisi StaticaReverse EngineeringAnalisi di Binari
GitHubrizinorg/rz-ghidra

rz-ghidra

Integrazione profonda del decompilatore ghidra e del disassembler sleigh per rizin

Vedi Repository
9651084 giorni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
rz-ghidra logo

rz-ghidra

Questa è un'integrazione del decompilatore Ghidra e del disassemblatore Sleigh per Rizin. Si basa esclusivamente sulla parte del decompilatore di Ghidra, che è scritta interamente in C++, quindi Ghidra stesso non è affatto necessario e il plugin può essere compilato autonomamente. Questo progetto è stato presentato, inizialmente per radare2, alla r2con 2019 come parte del talk su Cutter: https://youtu.be/eHtMiezr7l8?t=950

Usage

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

Le seguenti variabili di configurazione (per il comando e) possono essere utilizzate per regolare il comportamento di 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

Qui, ghidra.sleighhome deve puntare a una directory contenente i file *.sla, *.lspec, ... per le architetture che devono essere supportate dal decompilatore. Questo viene comunque configurato automaticamente quando si utilizza il pacchetto rz-pm o installando come mostrato di seguito.

Building

Per prima cosa, assicurati che il sottomodulo contenuto in questo repository sia stato recuperato e sia aggiornato:

root@kitploit:~
git submodule init
git submodule update

Quindi, il plugin per Rizin può essere compilato e installato come segue:

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

Qui, imposta CMAKE_INSTALL_PREFIX su una posizione da cui Rizin possa caricare il plugin. Il passaggio di installazione è necessario affinché il plugin funzioni perché include l'installazione dei file Sleigh necessari. Se stai usando Rizin da git, imposta anche CMAKE_PREFIX_PATH sulla directory di installazione di Rizin.

Per compilare anche il plugin per Cutter, devi avere Cutter installato da sorgente sotto un qualche prefisso, che può essere opzionalmente specificato con -DCMAKE_PREFIX_PATH=<path>, quindi passa -DBUILD_CUTTER_PLUGIN=ON a cmake per abilitare il 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

Per impostazione predefinita, il plugin per Cutter viene installato in un percorso scelto automaticamente nella home directory dell'utente corrente. Questo percorso può essere sovrascritto con -DCUTTER_INSTALL_PLUGDIR.

Versioning and Rizin Compatibility

Rizin ha un'API C in rapida evoluzione, quindi è necessario essere espliciti su quali versioni di rz-ghidra siano compatibili con quali versioni di Rizin:

  • Il branch dev di rz-ghidra segue il branch dev di Rizin.
  • Il branch stable di rz-ghidra segue il branch stable di Rizin.

Per quanto riguarda i rilasci, rz-ghidra viene generalmente rilasciato contemporaneamente a Rizin e spesso utilizza gli stessi numeri di versione (ma non è garantito, non dipendere da questi numeri!). Inoltre, insieme a ogni rilascio di Rizin, su rz-ghidra viene creato un tag come rz-0.1.2, che punta esattamente a un rilascio di rz-ghidra e indica che quel rilascio è compatibile con la specifica versione di Rizin. Questi tag possono essere utilizzati dai manutentori delle distribuzioni per cercare come impostare le dipendenze.

License

Nota che questo plugin è disponibile sotto LGPLv3, che è più restrittiva della licenza di Ghidra!

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see https://www.gnu.org/licenses/.

Scarica lo strumento