
Framework di reverse engineering e set di strumenti da riga di comando in stile UNIX
L'attuale branch master di git è 6.2.0, la prossima release sarà 6.2.1.
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 forensica. Oggi, r2 è uno strumento da riga di comando di basso livello ricco di funzionalità, con supporto allo scripting tramite l'interprete Javascript integrato o via r2pipe.
r2 può modificare file su dischi rigidi 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 consente di analizzare, emulare, eseguire il debug, modificare e disassemblare qualsiasi binario.
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
sys/install.sh per l'installazione predefinita acr+make+symlinkradare2 fornisce il packaging Nix in dist/nix.
git o tramite pip usando r2env.make uninstallsudo make purgeSu 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
Usando lo strumento r2pm puoi esplorare e installare molti plugin e strumenti che usano radare2.
pddr2 frida://0 per usarlopdgQuesti sono i primi passi per usare r2, leggi il libro o cerca 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 di default. Ma puoi estenderne le capacità usando il gestore di pacchetti 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
Scopri di più su r2 guardando i talk YouTube della r2con. Ci sono anche molti blogpost, presentazioni e il libro ufficiale di radare2, ma è sempre una buona idea unirsi a una delle chat ufficiali e lasciare lì le tue domande o feedback.
#radare, #radare_side#radare:matrix.orgWindows (da XP per x86/x64/arm64), Linux, Darwin, GNU/Hurd, i sistemi {Mac,i,iPad,watch}OS di Apple, Android, Wasmer, [Dragonfly, Net, Free, Open] BSD, Z/OS, QNX, SerenityOS, Solaris, AIX, Haiku, Vinix, FirefoxOS.
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.
ELF, Mach-O, Fatmach-O, PE, PE+, MZ, COFF, XCOFF, OMF, TE, XBE, SEP64, BIOS/UEFI, BFLT, Pebble apps, Apple Dyldcache, Kernelcache, MCLF trustlets, DEX, ART, Java class, Android boot image, Plan9 executables, Amiga HUNK, ZIMG, MBN/SBL bootloader, ELF coredump, MDMP (Windows minidump), PDP11, XTAC, CGC, DotNet, WASM (WebAssembly binary), Commodore VICE emulator, DOL, QNX, WAD, OFF, TIC-80, GB/GBA, PSX, PRG (C64), Apple Classic PEF, NDS, z64 e N3DS ...
Monta in userland diversi filesystem come NTFS, FAT, HFS+, EXT, APFS, BeosFS, BFS, MINIX, ReiserFS, SFS, ubifs, ufs, jfs, ISO9660, UDF, xfs