
Framework de ingeniería inversa estilo UNIX y conjunto de herramientas de línea de comandos
<a href="https://radare.org/"><img border=0 src="https://assets.kitploit.com/production/public/readmes/3006/3a698148c5a0a1bc714cb3ac4439316f08cf2349b8cd75366bc1b9d2bf7f9c22.png" alt="captura de pantalla" align="left" width="128px"></a>
## Radare2: Framework de Reversión Libre para Geeks de Unix
[](https://github.com/radareorg/radare2/actions/workflows/ci.yml?query=branch%3Amaster) [](https://github.com/radareorg/radare2/actions/workflows/build.yml?query=branch%3Amaster) [](https://github.com/radareorg/radare2/actions/workflows/tcc.yml)
[](https://bestpractices.coreinfrastructure.org/projects/741) [](https://scan.coverity.com/projects/416) [](https://discord.gg/YBey7CR9jf)
La rama `master` actual de git es `6.2.5`, la próxima versión será `6.2.6`.
### 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
enfocado en forense. Hoy, r2 es una herramienta de línea de comandos de bajo nivel con todas las funciones
y soporte para scripting con el intérprete de Javascript integrado o mediante 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 te permite
analizar, emular, depurar, modificar y desensamblar cualquier binario.
<p align="center">
<a href="https://www.radare.org/"><img src="https://assets.kitploit.com/production/public/readmes/3006/c19b136adc5b00ffa9e295f2624beea0f7fb78e36cfa8081c31116b9a5723a85.png" alt="captura de pantalla" align="center" border=0 width="600px"></a>
</p>
## Instalación
Descarga los últimos binarios [publicados](https://github.com/radareorg/radare2/releases).
La forma recomendada de instalar radare2 es desde el código fuente del repositorio Git:
```sh
git clone https://github.com/radareorg/radare2
radare2/sys/install.sh
```
* Ejecute `sys/install.sh` para la instalación predeterminada con acr+make+symlink
* Se admiten compilaciones con meson/ninja (muon/samu también funciona) y make.
### Nix
radare2 proporciona empaquetado Nix en [`dist/nix`](https://github.com/radareorg/radare2/blob/master/dist/nix/README.md).
### Compilación desde el código fuente
* r2 se puede instalar desde `git` o mediante `pip` usando `r2env`.
* Las compilaciones para Windows requieren meson y msvc o mingw como compiladores
* Para desinstalar la compilación actual de r2 ejecute `make uninstall`
* Para desinstalar TODAS las instalaciones del sistema de r2 haga: `sudo make purge`
En Windows use los scripts .bat y msvc:
```bat
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 usan radare2.
* [iaito](https://github.com/radareorg/iaito): La interfaz gráfica oficial de Qt
* [keystone](https://github.com/radareorg/radare2-extras/tree/master/keystone) Instrucciones del ensamblador usando la librería Keystone
* [decai](https://github.com/radareorg/r2ai) Descompilador basado en IA
* [r2ai](https://github.com/radareorg/r2ai) ¡Ejecuta un Modelo de Lenguaje en localhost con Llama dentro de r2!
* [r2dec](https://github.com/wargio/r2dec-js): Un descompilador basado en r2 escrito en JS, accesible con el comando `pdd`
* [r2diaphora](https://github.com/FernandoDoming/r2diaphora): El motor de diffing binario de [Diaphora](https://github.com/joxeankoret/diaphora) sobre radare2
* [r2flutter](https://github.com/trufae/r2flutter): Análisis de snapshots AOT de Dart/Flutter para aplicaciones Android e iOS
* [r2frida](https://github.com/nowsecure/r2frida): El plugin io de frida. Inicia r2 con `r2 frida://0` para usarlo
* [r2ghidra](https://github.com/radareorg/r2ghidra): El descompilador nativo independiente de ghidra accesible con `pdg`
* [r4ghidra](https://github.com/radareorg/r4ghidra): Siente la alegría de radare dentro de tu Ghidra
* [r2papi](https://github.com/radareorg/radare2-r2papi) API de alto nivel sobre r2pipe
* [r2pipe](https://github.com/radareorg/radare2-r2pipe) Script radare2 desde cualquier lenguaje de programación
* [r2poke](https://github.com/radareorg/radare2-extras/tree/master/r2poke) Integración con GNU/Poke para capacidades extendidas de análisis binario
* [goresym](https://github.com/hanemile/radare2-GoReSym): Importar símbolos de GoReSym como flags
* [r2yara](https://github.com/radareorg/r2yara) Ejecutar Yara desde r2 o usar primitivas de r2 desde Yara
* [radius2](https://github.com/radareorg/radius2): Un motor de ejecución simbólica rápido basado en boolector y esil
* [r2sarif](https://github.com/radareorg/r2sarif) importar/extender/exportar documentos SARIF
* [r2hermes](https://github.com/radareorg/r2hermes) Desensamblador y analizador para bytecode de React Native Hermes
* [r2renef](https://github.com/Ahmeth4n/r2renef) Plugin IO Renef para Radare2 - Instrumentación Dinámica de Android
* [r2unity](https://github.com/radareorg/r2unity): Inspeccionar metadatos de Unity IL2CPP y binarios nativos desde radare2
* [warrp](https://github.com/radareorg/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
```sh
$ 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 se incluyen en r2 por defecto. Pero puedes ampliar sus capacidades
utilizando el gestor de paquetes [r2pm](https://github.com/radareorg/radare2-pm).
```sh
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](https://book.rada.re): Lee sobre el uso de r2
* [COMMUNITY.md](https://github.com/radareorg/radare2/blob/master/COMMUNITY.md): Participación en la comunidad y directrices generales
* [CONTRIBUTING.md](https://github.com/radareorg/radare2/blob/master/CONTRIBUTING.md): Información sobre cómo reportar problemas y
contribuir. Consulta también [Contributing](#contributing)
* [DEVELOPERS.md](https://github.com/radareorg/radare2/blob/master/DEVELOPERS.md): Directrices de desarrollo para r2
* [SECURITY.md](https://github.com/radareorg/radare2/blob/master/SECURITY.md): Instrucciones para reportar vulnerabilidades
* [USAGE.md](https://github.com/radareorg/radare2/blob/master/USAGE.md): Algunos comandos de ejemplo
* [INSTALL.md](https://github.com/radareorg/radare2/blob/master/INSTALL.md): Instrucciones de instalación usando make o meson
## Documentación
Aprende más sobre r2 viendo las [charlas de youtube](https://www.youtube.com/c/r2con) de [r2con](https://rada.re/con). También hay muchos blogposts, presentaciones y el [libro oficial de radare2](https://book.rada.re), pero siempre es una buena idea unirse a cualquiera de los chats oficiales y plantear tus preguntas o comentarios allí.
## Comunidad
* Sitio web: [https://www.radare.org/](https://www.radare.org/)
* Discord: [Servidor](https://discord.gg/YBey7CR9jf)
* Mastodon: [@radareorg](https://infosec.exchange/@radareorg)
* Telegram: canales [Principal](https://t.me/radare) y [Secundario](https://t.me/radare_side)
* [irc.libera.chat](https://libera.chat): `#radare`, `#radare_side`
* [Matrix](https://matrix.to/#/#radare:matrix.org): `#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, [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 espacio de usuario varios sistemas de archivos como NTFS, FAT, HFS+, EXT, APFS, BeosFS, BFS, MINIX, ReiserFS, SFS, ubifs, ufs, jfs, ISO9660, UDF, xfs
## Estado de empaquetado
* [](https://snapcraft.io/radare2)
* [](https://repology.org/project/radare2/versions)
* [](https://repology.org/project/radare2/versions) [](https://repology.org/project/radare2/versions)
* [](https://repology.org/project/radare2/versions)
* [](https://repology.org/project/radare2/versions) [](https://repology.org/project/radare2/versions)
* [](https://repology.org/project/radare2/versions) [](https://repology.org/project/radare2/versions)
* [](https://repology.org/project/radare2/versions) [](https://repology.org/project/radare2/versions)