
radare2 v6.2.2
Framework di reverse engineering e set di strumenti da riga di comando in stile UNIX
Radare2: Framework di Reverse Engineering Libero per Geek Unix
Il ramo master attuale di git è 6.2.2, 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, sebbene
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 computer forensics. Oggi, r2 è uno strumento da riga di comando di basso livello completo con supporto per lo scripting tramite l'interprete Javascript integrato o tramite r2pipe.
r2 può modificare file su dischi rigidi locali, visualizzare la memoria del kernel e fare debug di programmi localmente o tramite server remoti gdb/windbg. L'ampio supporto architetturale di r2 ti consente di analizzare, emulare, fare debug, modificare e disassemblare qualsiasi binario.
Installazione
Scarica gli ultimi binari rilasciati.
Il metodo 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 in dist/nix.
Build dal Sorgente
- r2 può essere installato da
gito tramitepipusandor2env. - Le build 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 navigare e installare molti plugin e strumenti che usano radare2.
- iaito: L'interfaccia grafica Qt ufficiale
- keystone Istruzioni assembler usando la libreria Keystone
- decai Decompilatore basato su IA
- 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 diffing binario 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 ghidra nativo standalone accessibile con
pdg - r4ghidra: Senti la gioia di radare dentro la tua 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 r2 da Yara
- radius2: Un motore di esecuzione simbolica veloce basato su boolector ed esil
- r2sarif importa/estende/esporta documenti SARIF
- r2hermes Disassemblatore e analizzatore per il bytecode Hermes di React Native
- r2renef Plugin IO Renef per Radare2 - Strumentazione Android Dinamica
- 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 # apre il file in sola lettura
> aaa # analizza il programma (r2 -A)
> afl # elenca tutte le funzioni (prova aflt, aflm)
> px 32 # stampa un hexdump di 32 byte del blocco corrente
> s sym.main # vai a main (usando il nome del flag)
> f~foo # filtra i flag che corrispondono a 'foo' (|grep interno)
> iS;is # elenca sezioni e simboli (rabin2 -Ss)
> pdf; agf # disassembly e grafico delle funzioni in ascii-art
> oo+;w hello # riapri in lettura-scrittura e scrivi una stringa
> ?*~... # filtro interattivo in tutto l'help dei comandi
> q # esci
Molti plugin sono inclusi in r2 di default. Ma puoi estenderne le capacità usando il gestore di pacchetti r2pm.
r2pm -s <parola> # cerca pacchetti che corrispondono a una parola
r2pm -Uci <pkg> # aggiorna il database e installa pulito un pacchetto
r2pm -u <pkg> # disinstalla il pacchetto dato
r2pm -l <pkg> # elenca i pacchetti installati
Risorse
- Libro Ufficiale: Leggi sull'uso di r2
- COMMUNITY.md: Coinvolgimento della community e linee guida generali
- CONTRIBUTING.md: Informazioni su come segnalare problemi e contribuire. Vedi anche Contribuire
- 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
Documentazione
Scopri di più su r2 guardando i talk su youtube della r2con. Ci sono anche molti post di blog, slide e il libro ufficiale di radare2, ma è sempre una buona idea unirsi a uno dei chat ufficiali e lasciare lì le tue domande o feedback.
Community
- Sito web: https://www.radare.org/
- Discord: Server
- Mastodon: @radareorg
- Telegram: Canali Principale e Secondario
- irc.libera.chat:
#radare,#radare_side - Matrix:
#radare:matrix.org
Piattaforme Supportate
Sistemi Operativi
Windows (da XP per x86/x64/arm64), Linux, Darwin, GNU/Hurd, {Mac,i,iPad,watch}OS di Apple, Android, Wasmer, [Dragonfly, Net, Free, Open] BSD, Z/OS, QNX, SerenityOS, Solaris, AIX, Haiku, Vinix, FirefoxOS.
Architetture
i386, x86-64, Alpha, ARM, AVR, BPF, sBPF, MIPS, PowerPC, SPARC, RISC-V, SH, m68k, S390, XCore, CR16, HPPA, ARC, Blackfin, Z80, H8/300, V810, PDP11, m680x, V850, CRIS, XAP (CSR), PIC, LM32, 8051, 6502, i4004, i8080, Propeller, EVM, OR1K Tricore, CHIP-8, LH5801, T8200, GameBoy, SNES, SPC700, MSP430, Xtensa, xcore, NIOS II, Java, Dalvik, Pickle, WebAssembly, MSIL, EBC, TMS320 (c54x, c55x, c55+, c64x), Hexagon, Brainfuck, Malbolge, whitespace, DCPU16, LANAI, lm32, MSIL, InfernoDis, UXN, Cosmac, PythonBytecode, Sharp sm5xx MCPus, FreeScale QIQa, MCORE, mcs96, RSP, SuperH-4, VAX, KVX, Am29000, LOONGARCH, JDH8, s390x, STM8.
Formati File
ELF, Mach-O, Fatmach-O, PE, PE+, MZ, COFF, XCOFF, OMF, TE, XBE, SEP64, BIOS/UEFI, BFLT, app Pebble, Apple Dyldcache, Kernelcache, MCLF trustlets, DEX, ART, classe Java, immagine di boot Android, eseguibili Plan9, Amiga HUNK, ZIMG, bootloader MBN/SBL, coredump ELF, MDMP (minidump Windows), PDP11, XTAC, CGC, DotNet, WASM (binario WebAssembly), emulatore Commodore VICE, DOL, QNX, WAD, OFF, TIC-80, GB/GBA, PSX, PRG (C64), Apple Classic PEF, NDS, z64, e N3DS ...
FileSystem
Monta in userland diversi filesystem come NTFS, FAT, HFS+, EXT, APFS, BeosFS, BFS, MINIX, ReiserFS, SFS, ubifs, ufs, jfs, ISO9660, UDF, xfs

