Radare2 (també conegut com r2) és un marc complet per a l'enginyeria inversa i l'anàlisi de binaris; compost per un conjunt de petites utilitats que es poden utilitzar juntes o independentment de la línia d'ordres. Construït al voltant d'un desmuntador de programari informàtic que genera codi font en llenguatge ensamblador a partir de codi executable per màquina, admet una varietat de formats executables per a diferents arquitectures de processadors i sistemes operatius.
Història Radare2 va ser creat el febrer de 2006 per l'analista i investigador en seguretat de tecnologia mòbil Sergi Àlvarez, amb l'objectiu de proporcionar una interfície de línia d'ordres senzilla i gratuïta per a un editor hexadecimal que suportés desplaçaments de 64 bits per fer cerques i recuperar dades dels discs durs, amb finalitats forenses. Des d'aleshores, el projecte ha crescut amb l'objectiu evolucionar a proporcionar un marc complet per analitzar fitxers binaris alhora que s'adhereix a diversos principis de la filosofia Unix.
L'any 2009 es va prendre la decisió de reescriure'l completament, per evitar les limitacions del disseny inicial. Des de llavors, el projecte va continuar creixent, i va atreure diversos desenvolupadors residents.
L'any 2016 va tenir lloc a Barcelona la primera trobada r2con que va reunir més de 100 participants, amb diverses xerrades sobre diverses característiques i millores del framework.
Radare2 ha estat el focus de múltiples presentacions en diverses conferències de seguretat d'alt perfil, com el recon, hack.lu, i 33c3.
Característiques i ús Radare2 té una corba d'aprenentatge pronunciada, ja que els seus principals binaris executables s'utilitzen per línia d'ordres i no té una GUI per si mateix. Originalment construït al voltant d'un editor hexadecimal, ara té multitud d'eines i funcions, i també enllaços per a diversos llenguatges. Mentrestant té una WebUI i el projecte oficial d'interfície gràfica d'usuari per a Radare2 es diu Iaito.
Anàlisi estàtica Radare2 és capaç de muntar i desmuntar molts programes de programari, principalment executables, però també pot realitzar diferències binàries amb gràfics, extreure informació com símbols de reubicació i altres tipus de dades. Internament, utilitza una base de dades NoSQL anomenada sdb per fer un seguiment de la informació d'anàlisi que Radare2 pot inferir o afegir manualment per l'usuari. Com que és capaç de tractar amb binaris mal formats, també ha estat utilitzat pels investigadors de seguretat de programari amb finalitats d'anàlisi.PHDays IV, May 21, 2014, 'Anton Kochkov', Application of radare2 illustrated by Shylock/Caphaw.
Anàlisi dinàmica Radare2 té un depurador integrat de nivell inferior que GDB. També pot connectar amb GDB i WineDBG per depurar binaris de Windows en altres sistemes. A més, també es pot utilitzar com a depurador del nucli amb VMWare.
Explotació de programari Com que inclou un desassemblador i un depurador de baix nivell, Radare2 pot ser útil per als desenvolupadors d'explotacions. El programari té funcions que ajuden al desenvolupament d'explotacions, com ara un motor de cerca de gadgets ROP i detecció de mitigació. A causa de la flexibilitat i el suport del programari per a molts formats de fitxers, sovint l'utilitzen els equips de captura i un altre personal orientat a la seguretat. Radare2 també pot ajudar a crear shellcodes amb la seva eina "ragg2", similar a metasploit.
Interfície gràfica d'usuari (GUI) El projecte Iaito s'ha desenvolupat com la primera interfície gràfica d'usuari (GUI) dedicada per a Radare2; Cutter l'ha bifurcat com a interfície d'usuari gràfica (GUI) desenvolupada, en segon lloc, per a Radare2. Quan el projecte Cutter es va separar del projecte Radare2 a finals de 2020, Iaito es va tornar a desenvolupar per ser l'actual interfície gràfica d'usuari (GUI) oficial de Radare2 mantinguda pels membres del projecte Radare2.
Arquitectures i formats compatibles Recognized file formats COFF and derivatives, including Win32/64/generic PE ELF and derivatives Mach-O (Mach) and derivatives Game Boy and Game Boy Advance cartridges MZ (MS-DOS) Java class Lua 5.1 and Python bytecode dyld cache dump Dex (Dalvik EXecutable) Xbox xbe format Plan9 binaries WinRAR virtual machine File system like the ext family, ReiserFS, HFS+, NTFS, FAT, ... DWARF and PDB file formats for storing additional debug information Raw binary Instruction sets Intel x86 family ARM architecture Atmel AVR series Brainfuck Motorola 68k and H8 Ricoh 5A22 MOS 6502 Smartcard PSOS Virtual Machine Java virtual machine MIPS: mipsb/mipsl/mipsr/mipsrl/r5900b/r5900l PowerPC SPARC Family TMS320Cxxx series Argonaut RISC Core Intel 51 series: 8051/80251b/80251s/80930b/80930s Zilog Z80 CR16 Cambridge Silicon Radio (CSR) AndroidVM Dalvik DCPU-16 EFI bytecode Game Boy (z80-like) Java Bytecode Malbolge MSIL/CIL Nios II SuperH Spc700 Systemz TMS320 V850 Whitespace XCore
Referències
Bibliografia
Enllaços externs
Radare2 Git repository Iaito Git repository Categoria:Programari lliure escrit en C