Radare2 (también conocido como r2 ) es un marco completo para realizar ingeniería inversa y analizar archivos binarios; Compuesto por un conjunto de pequeñas utilidades que se pueden utilizar juntas o de forma independiente desde la línea de comandos . Construido alrededor de un desensamblador de software de computadora que genera código fuente en lenguaje ensamblador a partir de código ejecutable por máquina, admite una variedad de formatos ejecutables para diferentes arquitecturas de procesador y sistemas operativos .
Radare2 se creó en febrero de 2006, [3] con el objetivo de proporcionar una interfaz de línea de comandos sencilla y gratuita para un editor hexadecimal que admita desplazamientos de 64 bits para realizar búsquedas y recuperar datos de discos duros , con fines forenses. Desde entonces, el proyecto ha crecido con el objetivo de proporcionar un marco completo para analizar archivos binarios respetando varios principios de la filosofía Unix . [4]
En 2009, se tomó la decisión de reescribirlo por completo, para sortear las limitaciones del diseño inicial. Desde entonces, el proyecto siguió creciendo [5] y atrajo a varios desarrolladores residentes.
En 2016, la primera r2con tuvo lugar en Barcelona , [6] [7] reuniendo a más de 100 participantes, presentando varias charlas sobre diversas características y mejoras del framework.
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]
Radare2 tiene una curva de aprendizaje pronunciada ya que sus principales binarios ejecutables se operan mediante línea de comandos y no tiene una GUI propia. Originalmente construido alrededor de un editor hexadecimal, ahora tiene una multitud de herramientas y características, y también enlaces para varios idiomas. [10] Mientras tanto, tiene una WebUI [11] y el proyecto de interfaz gráfica de usuario oficial para Radare2 se llama Iaito. [12]
Radare2 es capaz de ensamblar y desensamblar muchos programas de software, principalmente ejecutables, pero también puede realizar diferencias binarias con gráficos, [13] extraer información como símbolos de reubicación y varios otros tipos de datos. Internamente, utiliza una base de datos NoSQL llamada sdb para realizar un seguimiento de la información de análisis que Radare2 puede inferir o agregar manualmente el usuario. Dado que es capaz de manejar archivos binarios con formato incorrecto, también lo han utilizado investigadores de seguridad de software con fines de análisis. [14] [15] [16]
Radare2 tiene un depurador incorporado que es de nivel inferior que GDB . [ cita necesaria ] También puede interactuar con GDB y WineDBG [17] para depurar archivos binarios de Windows en otros sistemas. Además, también se puede utilizar como depurador del kernel con VMWare .
Dado que cuenta con un desensamblador y un depurador de bajo nivel, Radare2 puede resultar útil para los desarrolladores de exploits . El software tiene características que ayudan en el desarrollo de exploits, como un motor de búsqueda de dispositivos ROP y detección de mitigación . Debido a la flexibilidad del software y su compatibilidad con muchos formatos de archivos, los equipos de captura de banderas [18] [19] y otro personal orientado a la seguridad lo utilizan a menudo. [20] Radare2 también puede ayudar a crear shellcodes con su herramienta 'ragg2', similar a metasploit .
El Proyecto Iaito se ha desarrollado como la primera interfaz gráfica de usuario (GUI) dedicada para Radare2; Cutter lo ha bifurcado como una interfaz gráfica de usuario (GUI) desarrollada en segundo lugar para Radare2. Cuando el proyecto Cutter se separó del proyecto Radare2 a finales de 2020, [21] Iaito fue redesarrollado para ser la interfaz gráfica de usuario (GUI) oficial actual de Radare2 mantenida por los miembros del proyecto Radare2. [12]