
radare2 v6.2.2
Framework de ingeniería inversa estilo UNIX y conjunto de herramientas de línea de comandos
Radare2: Framework Libre de Ingeniería Inversa para Geeks de Unix
La rama actual master de git es 6.2.2, la próxima versión será 6.2.4.
Descripción
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.
Instalación
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
- Ejecuta
sys/install.shpara la instalación predeterminada acr+make+symlink - Se admiten compilaciones con meson/ninja (muon/samu también funcionan) y make.
Nix
radare2 proporciona empaquetado Nix en dist/nix.
Compilación desde el código fuente
- r2 se puede instalar desde
gito mediantepipusandor2env. - Las compilaciones de Windows requieren meson y msvc o mingw como compiladores
- Para desinstalar la compilación actual de r2 ejecuta
make uninstall - Para desinstalar TODAS las instalaciones del sistema de r2 haz:
sudo make purge
En 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
Plugins Populares:
Usando la herramienta r2pm puedes explorar e instalar muchos plugins y herramientas que utilizan radare2.
- iaito: La interfaz gráfica oficial de Qt
- keystone Instrucciones de ensamblador usando la biblioteca Keystone
- decai Descompilador basado en IA
- r2ai ¡Ejecuta un Modelo de Lenguaje en localhost con Llama dentro de r2!
- r2dec: Un descompilador basado en r2 escrito en JS, accesible con el comando
pdd - r2diaphora: El motor de diffing binario de Diaphora sobre radare2
- r2flutter: Análisis de instantáneas AOT de Dart/Flutter para aplicaciones Android e iOS
- r2frida: El plugin io de frida. Inicia r2 con
r2 frida://0para usarlo - r2ghidra: El descompilador nativo independiente de ghidra accesible con
pdg - r4ghidra: Siente la alegría de radare dentro de tu Ghidra
- r2papi API de alto nivel sobre r2pipe
- r2pipe Scriptea radare2 desde cualquier lenguaje de programación
- r2poke Integración con GNU/Poke para capacidades extendidas de análisis binario
- goresym: Importa símbolos de GoReSym como flags
- r2yara Ejecuta Yara desde r2 o usa primitivas de r2 desde Yara
- radius2: Un motor rápido de ejecución simbólica basado en boolector y esil
- r2sarif importar/extender/exportar documentos SARIF
- r2hermes Desensamblador y analizador para bytecode de React Native Hermes
- r2renef Plugin IO de Renef para Radare2 - Instrumentación dinámica de Android
- r2unity: Inspecciona metadatos IL2CPP de Unity y binarios nativos desde radare2
- warrp Plugin nativo de radare2 para el formato WARP de binary ninja
Uso
Estos 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
Recursos
- Libro Oficial: Lee sobre el uso de r2
- COMMUNITY.md: Participación comunitaria y pautas generales
- CONTRIBUTING.md: Información sobre cómo reportar problemas y contribuir. Consulta también Contributing
- DEVELOPERS.md: Pautas de desarrollo para r2
- SECURITY.md: Instrucciones para reportar vulnerabilidades
- USAGE.md: Algunos comandos de ejemplo
- INSTALL.md: Instrucciones de instalación usando make o meson
Documentación
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í.
Comunidad
- Sitio web: https://www.radare.org/
- Discord: Servidor
- Mastodon: @radareorg
- Telegram: Canales Principal y Secundario
- irc.libera.chat:
#radare,#radare_side - Matrix:
#radare:matrix.org
Plataformas Soportadas
Sistemas Operativos
Windows (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.
Arquitecturas
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.
Formatos de Archivo
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 ...
Sistemas de Archivos
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

