
radare2 v6.2.0
Framework di reverse engineering e set di strumenti da riga di comando in stile UNIX
Radare2: Framework di Reversing Libero per Unix Geeks
L'attuale branch master di git è 6.2.3, la prossima release sarà 6.2.4.
Descrizione
r2 è una riscrittura completa di radare. Fornisce un insieme di librerie, strumenti e
plugin per facilitare le attività di reverse engineering. Distribuito sotto LGPLv3, nonostante
ogni plugin possa avere licenze diverse (vedi r2 -Lj per i dettagli)
Il progetto radare è nato come un semplice editor esadecimale da riga di comando focalizzato sulla forensics. Oggi, r2 è uno strumento da riga di comando di basso livello completo con supporto per lo scripting tramite l'interprete Javascript integrato o via r2pipe.
r2 può modificare file su dischi locali, visualizzare la memoria del kernel e fare debug di programmi localmente o tramite server gdb/windbg remoti. L'ampio supporto architetturale di r2 ti permette di analizzare, emulare, fare debug, modificare e disassemblare qualsiasi binario.
Installazione
Scarica gli ultimi binari rilasciati.
Il modo consigliato per installare radare2 è dal sorgente del repository Git:
git clone https://github.com/radareorg/radare2
radare2/sys/install.sh
- Esegui
sys/install.shper l'installazione predefinita acr+make+symlink - Sono supportate le build con meson/ninja (funzionano anche muon/samu) e make.
Nix
radare2 fornisce il packaging Nix sotto dist/nix.
Build dal Sorgente
- r2 può essere installato da
gito viapipusandor2env. - Le build per Windows richiedono meson e msvc o mingw come compilatori
- Per disinstallare la build corrente di r2 esegui
make uninstall - Per disinstallare TUTTE le installazioni di sistema di r2 esegui:
sudo make purge
Su Windows usa gli script .bat e msvc:
preconfigure.bat REM setup python, meson, ninja
configure.bat REM run meson b + vs project
make.bat REM run ninja -C b
prefix\bin\radare2.exe
Plugin Popolari:
Usando lo strumento r2pm puoi sfogliare e installare molti plugin e strumenti che utilizzano radare2.
- iaito: L'interfaccia grafica Qt ufficiale
- keystone Istruzioni assembler usando la libreria Keystone
- decai Decompilatore basato su AI
- r2ai Esegui un Language Model in localhost con Llama dentro r2!
- r2dec: Un decompilatore basato su r2 scritto in JS, accessibile con il comando
pdd - r2diaphora: Il motore di binary diffing di Diaphora sopra radare2
- r2flutter: Analisi degli snapshot AOT Dart/Flutter per app Android e iOS
- r2frida: Il plugin io di frida. Avvia r2 con
r2 frida://0per usarlo - r2ghidra: Il decompilatore nativo ghidra standalone accessibile con
pdg - r4ghidra: Senti la gioia di radare dentro il tuo Ghidra
- r2papi API di alto livello sopra r2pipe
- r2pipe Scripta radare2 da qualsiasi linguaggio di programmazione
- r2poke Integrazione con GNU/Poke per capacità estese di parsing binario
- goresym: Importa i simboli GoReSym come flag
- r2yara Esegui Yara da r2 o usa le primitive di r2 da Yara
- radius2: Un motore di esecuzione simbolica veloce basato su boolector ed esil
- r2sarif importa/estendi/esporta documenti SARIF
- r2hermes Disassembler e analyzer per il bytecode Hermes di React Native
- r2renef Plugin IO Renef per Radare2 - Strumentazione dinamica Android
- r2unity: Ispeziona i metadati Unity IL2CPP e i binari nativi da radare2
- warrp Plugin nativo radare2 per il formato WARP di binary ninja
Utilizzo
Questi sono i primi passi per usare r2, leggi il libro o trova tutorial per maggiori dettagli
$ r2 /bin/ls # open file in read-only
> aaa # analyse the program (r2 -A)
> afl # list all functions (try aflt, aflm)
> px 32 # print 32 byte hexdump current block
> s sym.main # seek to main (using flag name)
> f~foo # filter flags matching 'foo' (internal |grep)
> iS;is # list sections and symbols (rabin2 -Ss)
> pdf; agf # disassembly and ascii-art function graph
> oo+;w hello # reopen in read-write and write a string
> ?*~... # interactive filter in all command help
> q # quit
Molti plugin sono inclusi in r2 per impostazione predefinita. Ma puoi estendere le sue capacità usando il package manager r2pm.
r2pm -s <word> # search packages matching a word
r2pm -Uci <pkg> # update database and clean install a package
r2pm -u <pkg> # uninstall the given package
r2pm -l <pkg> # list installed packages
Risorse
- Libro Ufficiale: Leggi sull'utilizzo di r2
- COMMUNITY.md: Coinvolgimento della community e linee guida generali
- CONTRIBUTING.md: Informazioni su come segnalare problemi e contribuire. Vedi anche Contributing
- DEVELOPERS.md: Linee guida di sviluppo per r2
- SECURITY.md: Istruzioni per segnalare vulnerabilità
- USAGE.md: Alcuni comandi di esempio
- INSTALL.md: Istruzioni di installazione usando make o meson

