
Framework de ingeniería inversa estilo UNIX y conjunto de herramientas de línea de comandos
La rama actual master de git es 6.2.2, la próxima versión será 6.2.4.
r2 es una reescritura completa de radare. Proporciona un conjunto de bibliotecas, herramientas y
plugins para facilitar las tareas de ingeniería inversa. Distribuido bajo LGPLv3, aunque
cada plugin puede tener licencias diferentes (consulta r2 -Lj para más detalles)
El proyecto radare comenzó como un simple editor hexadecimal de línea de comandos centrado en la informática forense. Hoy, r2 es una herramienta de línea de comandos de bajo nivel con todas las funciones con soporte para scripting mediante el intérprete de Javascript integrado o a través de r2pipe.
r2 puede editar archivos en discos duros locales, ver memoria del kernel y depurar programas localmente o mediante servidores remotos gdb/windbg. El amplio soporte de arquitecturas de r2 permite analizar, emular, depurar, modificar y desensamblar cualquier binario.
Descarga los binarios de la última versión publicada.
La forma recomendada de instalar radare2 es desde el repositorio Git fuente:
git clone https://github.com/radareorg/radare2
radare2/sys/install.sh
sys/install.sh para la instalación predeterminada acr+make+symlinkradare2 proporciona empaquetado Nix en dist/nix.
git o mediante pip usando r2env.make uninstallsudo make purgeEn Windows usa los scripts .bat y 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 la herramienta r2pm puedes explorar e instalar muchos plugins y herramientas que utilizan radare2.
pddr2 frida://0 para usarlopdgEstos son los primeros pasos para usar r2, lee el libro o busca tutoriales para más detalles
$ r2 /bin/ls # abre el archivo en modo solo lectura
> aaa # analiza el programa (r2 -A)
> afl # lista todas las funciones (prueba aflt, aflm)
> px 32 # imprime un volcado hexadecimal de 32 bytes del bloque actual
> s sym.main # busca main (usando el nombre del flag)
> f~foo # filtra flags que coincidan con 'foo' (|grep interno)
> iS;is # lista secciones y símbolos (rabin2 -Ss)
> pdf; agf # desensamblado y grafo de funciones en arte ASCII
> oo+;w hello # reabre en modo lectura-escritura y escribe una cadena
> ?*~... # filtro interactivo en toda la ayuda de comandos
> q # salir
Muchos plugins están incluidos en r2 por defecto. Pero puedes extender sus capacidades usando el gestor de paquetes r2pm.
r2pm -s <palabra> # busca paquetes que coincidan con una palabra
r2pm -Uci <pkg> # actualiza la base de datos e instala limpiamente un paquete
r2pm -u <pkg> # desinstala el paquete dado
r2pm -l <pkg> # lista paquetes instalados
Aprende más sobre r2 viendo charlas de youtube de r2con. También hay muchas publicaciones de blog, presentaciones y el libro oficial de radare2, pero siempre es buena idea unirse a cualquiera de los chats oficiales y dejar tus preguntas o comentarios allí.
#radare, #radare_side#radare:matrix.orgWindows (desde XP para x86/x64/arm64), Linux, Darwin, GNU/Hurd, Apple's {Mac,i,iPad,watch}OS, 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, y N3DS ...
Monta en el espacio de usuario varios sistemas de archivos como NTFS, FAT, HFS+, EXT, APFS, BeosFS, BFS, MINIX, ReiserFS, SFS, ubifs, ufs, jfs, ISO9660, UDF, xfs