Radare2 (también conocido como r2 ) es un marco de trabajo completo para la ingeniería inversa y el análisis de binarios; se compone de un conjunto de pequeñas utilidades que se pueden usar juntas o de forma independiente desde la línea de comandos . Basado en un desensamblador de software que genera código fuente en lenguaje ensamblador a partir de código ejecutable, admite una variedad de formatos ejecutables para diferentes arquitecturas de procesadores y sistemas operativos .
Historia
Radare2 se creó en febrero de 2006, [ 3 ] con el objetivo de proporcionar una interfaz de línea de comandos gratuita y sencilla para un editor hexadecimal que admitiera desplazamientos de 64 bits para realizar búsquedas y recuperar datos de discos duros con fines forenses. Desde entonces, el proyecto ha crecido y su objetivo ha cambiado a proporcionar un marco completo para analizar binarios, adhiriéndose a varios principios de la filosofía Unix . [ 4 ]
En 2009, se tomó la decisión de reescribirlo por completo para superar las limitaciones del diseño inicial. Desde entonces, el proyecto siguió creciendo [ 5 ] y atrajo a varios desarrolladores residentes.
En 2016, tuvo lugar la primera r2con en Barcelona , [ 6 ] [ 7 ] reuniendo a más de 100 participantes, con charlas sobre diversas características y mejoras del marco.
Radare2 ha sido el foco de múltiples presentaciones en varias conferencias de seguridad de alto perfil, como recon , [ 8 ] hack.lu , [ 9 ] 33c3 . [ 3 ]
Horquilla Rizin
En 2020, Radare2 se bifurcó como Rizin debido a desacuerdos entre el autor original y un grupo de colaboradores externos. [ 10 ]
Características y uso
Radare2 tiene una curva de aprendizaje pronunciada , ya que sus principales binarios ejecutables se manejan mediante una interfaz de línea de comandos. Originalmente desarrollado en torno a un editor hexadecimal, ahora cuenta con multitud de herramientas y funciones, además de enlaces para varios lenguajes. [ 11 ] Junto a la interfaz de línea de comandos, dispone de una opción de interfaz web [ 12 ] y un proyecto oficial de interfaz gráfica de usuario llamado Iaito. [ 13 ]
Análisis estático
Radare2 es capaz de ensamblar y desensamblar muchos programas de software, principalmente ejecutables, pero también puede realizar comparaciones binarias con gráficos, [ 14 ] extraer información como símbolos de reubicación y otros tipos de datos. Internamente, utiliza una base de datos NoSQL llamada sdb para mantener un registro de la información de análisis que Radare2 puede inferir o agregar manualmente por el usuario. Dado que puede manejar binarios mal formados, también ha sido utilizado por investigadores de seguridad de software con fines de análisis. [ 15 ] [ 16 ] [ 17 ]
Análisis dinámico
Radare2 tiene un depurador integrado de nivel inferior a GDB . También puede interactuar con GDB y WineDBG [ 18 ] para depurar binarios de Windows en otros sistemas. Además, puede utilizarse como depurador de kernel con VMWare .
Explotación de software
Dado que incluye un desensamblador y un depurador de bajo nivel, Radare2 puede ser útil para los desarrolladores de exploits . El software cuenta con funciones que facilitan el desarrollo de exploits, como un motor de búsqueda de gadgets ROP y detección de mitigación . Debido a la flexibilidad del software y su compatibilidad con numerosos formatos de archivo, suele ser utilizado por equipos de captura de bandera [ 19 ] [ 20 ] y otro personal orientado a la seguridad. [ 21 ] Radare2 también puede ayudar a crear shellcodes con su herramienta 'ragg2', similar a metasploit .
Interfaz gráfica de usuario (GUI)
El proyecto Iaito se desarrolló como la primera interfaz gráfica de usuario (GUI) dedicada para Radare2; Cutter lo bifurcó como una segunda interfaz gráfica de usuario (GUI) desarrollada para Radare2. Cuando el proyecto Cutter se separó del proyecto Radare2 a finales de 2020, [ 22 ] Iaito se rediseñó para convertirse en la interfaz gráfica de usuario (GUI) oficial actual de Radare2, mantenida por los miembros del proyecto Radare2. [ 13 ]
Arquitecturas y formatos compatibles
- Formatos de archivo reconocidos
- COFF y derivados, incluyendo Win32/64/ PE genérico
- ELF y derivados
- Mach-O ( Mach ) y derivados
- Cartuchos de Game Boy y Game Boy Advance
- MZ ( DOS )
- Clase Java
- Código de bytes de Lua 5.1 y Python
- volcado de caché de dyld [ 23 ]
- Dex ( ejecutable Dalvik )
- Formato Xbox xbe [ 24 ]
- binarios de Plan9
- Máquina virtual WinRAR [ 25 ]
- Sistemas de archivos como la familia ext , ReiserFS , HFS+ , NTFS , FAT , ...
- Formatos de archivo DWARF y PDB para almacenar información de depuración adicional.
- Amiga Hunk
- binario sin procesar
- Conjuntos de instrucciones
- Familia Intel x86
- Arquitectura ARM
- Serie Atmel AVR
- jodido cerebro
- Motorola 68k y H8
- Ricoh 5A22
- MOS 6502
- Máquina virtual PSOS con tarjeta inteligente
- máquina virtual Java
- MIPS : mipsb/mipsl/mipsr/mipsrl/r5900b/r5900l
- PowerPC
- Familia SPARC
- Serie TMS320Cxxx
- Núcleo RISC Argonaut
- Serie Intel 51 : 8051/80251b/80251s/80930b/80930s
- Zilog Z80
- CR16
- Cambridge Silicon Radio (CSR)
- AndroidVM Dalvik
- DCPU-16
- Código de bytes EFI
- Game Boy (similar a la Z80)
- Código de bytes de Java
- Malbolge
- MSIL/CIL
- Nios II
- SuperH
- Spc700
- Sistemaz
- TMS320
- V850
- Espacio en blanco
- XCore
Referencias
- ↑ "Versión 6.0.7" . 23 de noviembre de 2025. Consultado el 24 de noviembre de 2025 .
- ↑ «radareorg/radare2» . 18 de enero de 2024 – vía GitHub.
- 1 2 "Radare desmitificado" . Sitio web de Chaos Computer Club . CCC. 29-12-2016 . Consultado el 29-12-2016 .
- ↑ "He escrito más de 300.000 líneas de código para Radare" . www.cigtr.info . Archivado del original el 3 de noviembre de 2018. Consultado el 21 de enero de 2017 .
- ↑ CCC (29 de diciembre de 2016), El radar desmitificado , consultado el 21 de enero de 2017
- ↑ "r2con 2016" . Grupo NCC . Consultado el 21 de enero de 2017 .
- ↑ Bakken, Sam (09-08-2016). "El hacker detrás de la herramienta de ingeniería inversa de código abierto Radare..." NowSecure . Recuperado el 21-01-2017 .
- ↑ "Calendario de Recon 2015" . recon.cx . Consultado el 21/01/2017 .
- ↑ "Charlas en Hack.lu 2015" . Hack.lu 2015. Consultado el 21 de enero de 2017 .
- ↑ Rizin (5 de diciembre de 2020). "Preguntas frecuentes" . Rizin . Consultado el 24 de septiembre de 2025 .
- ^ "radareorg/radare2-bindings" . 12 de diciembre de 2023 – vía GitHub.
- ↑ "La nueva interfaz web" . radare.today . Archivado del original el 29/07/2016.
- 1 2 "iaito" . rada.re. Consultado el 14 de agosto de 2021 .
- ↑ ""Binary Diffing" visual en Linux con Radare2" .
- ↑ Arada, Eduardo De la (18 de mayo de 2024). "Análisis de OSX/Leverage.a" . ciberseguridad.att.com .
- ↑ "Ninguno" (PDF) .
- ↑ PHDays IV, 21 de mayo de 2014, 'Anton Kochkov', Aplicación de radare2 ilustrada por Shylock/Caphaw.D y Snakso.A análisis
- ↑ "Archivo de Gmane sobre la compatibilidad con WinDBG en radare2" . Archivado del original el 2 de noviembre de 2014. Consultado el 28 de agosto de 2014 .
- ↑ "Plaid CTF 2014 - Artículo sobre Tiffany" . Dragon Sector .
- ↑ "Prácticas previas de DEFCON2K12: análisis de pwn300" . Blog de la LSE . 4 de junio de 2012.
- ↑ "manipulación binaria manual con radare" . .:: Phrack Magazine :: .
- ↑ "Anuncio de Rizin" . rizin.re . 8 de diciembre de 2020. Consultado el 8 de diciembre de 2020 .
- ↑ "dyld_shared_cache - Wiki de desarrollo de iPhone" . iphonedev.wiki .
- ↑ "Formato de archivo .XBE" . www.caustik.com
- ↑ "Diversión con programación restringida" .
Lecturas adicionales
- maijin (2016). El libro radare2 . Recuperado el 20 de marzo de 2016 .
- monosource (2016). Exploraciones de Radare2 . Recuperado el 19 de enero de 2017 .
- panqueque (2008). El libro original de radare . pág. 152.
Enlaces externos
- Desmontadores
- Software libre multiplataforma
- Depuradores
- Software libre programado en C
- Software que utiliza la Licencia Pública General Reducida de GNU.