
radare2 v6.2.0
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 master actual de git es 6.2.0; la próxima versión será 6.2.1.
Descripción
r2 es una reescritura completa de radare. Proporciona un conjunto de librerías, herramientas y
plugins para facilitar las tareas de ingeniería inversa. Se distribuye bajo LGPLv3, aunque
cada plugin puede tener licencias diferentes (consulta r2 -Lj para más detalles)
El proyecto radare comenzó como un sencillo editor hexadecimal de línea de comandos centrado en la informática forense. Hoy en día, 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 la memoria del kernel y depurar programas localmente o mediante servidores remotos gdb/windbg. El amplio soporte de arquitecturas de r2 te permite analizar, emular, depurar, modificar y desensamblar cualquier binario.
Instalación
Descarga los últimos binarios publicados.
La forma recomendada de instalar radare2 es desde el código fuente del repositorio Git:
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 de 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 de r2 en el sistema, ejecuta:
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:
Con la herramienta r2pm puedes explorar e instalar muchos plugins y herramientas que usan radare2.
- iaito: La interfaz gráfica oficial de Qt
- keystone Instrucciones de ensamblador mediante la librería 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, al que se accede con el comando
pdd - r2diaphora: El motor de diffing de binarios de Diaphora sobre radare2
- r2flutter: Análisis de snapshots AOT de Dart/Flutter para aplicaciones Android e iOS
- r2frida: El plugin de 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 ampliadas de parseo de binarios
- goresym: Importa los 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 importa/extiende/exporta documentos SARIF
- r2hermes Desensamblador y analizador para bytecode de React Native Hermes
- r2renef Plugin de IO 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 # 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
Muchos plugins están incluidos en r2 por defecto. Pero puedes ampliar sus capacidades usando el gestor de paquetes 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
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 las charlas de youtube de r2con. También hay muchos artículos de blog, presentaciones y el libro oficial de radare2, pero siempre es una buena idea unirte a cualquiera de los chats oficiales y dejar allí tus preguntas o comentarios.
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 compatibles
Sistemas operativos
Windows (desde XP para x86/x64/arm64), Linux, Darwin, GNU/Hurd, {Mac,i,iPad,watch}OS de Apple, Android, Wasmer, BSD [Dragonfly, Net, Free, Open], 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, aplicaciones Pebble, Dyldcache de Apple, Kernelcache, trustlets MCLF, DEX, ART, clase Java, imagen de arranque de Android, ejecutables Plan9, HUNK de Amiga, ZIMG, bootloader MBN/SBL, coredump ELF, MDMP (minidump de Windows), PDP11, XTAC, CGC, DotNet, WASM (binario de WebAssembly), emulador Commodore VICE, DOL, QNX, WAD, OFF, TIC-80, GB/GBA, PSX, PRG (C64), PEF clásico de Apple, NDS, z64 y N3DS ...
Sistemas de archivos
Monta en userland varios sistemas de archivos como NTFS, FAT, HFS+, EXT, APFS, BeosFS, BFS, MINIX, ReiserFS, SFS, ubifs, ufs, jfs, ISO9660, UDF, xfs

