Radare2 (znany także jako r2) – kompletny framework do inżynierii wstecznej i analizy plików binarnych; składa się z zestawu pomniejszych narzędzi, które mogą zostać użyte niezależnie od siebie przy pomocy wiersza poleceń. Obsługuje wiele formatów plików wykonywalnych przeznaczonych dla różnych procesorów i systemów operacyjnych.

Funkcjonalność Jako że Radare2 nie posiada GUI, jego nauka może początkowo okazać się skomplikowana. Pierwotnie został zbudowany na bazie edytora heksadecymalnego, aktualnie posiada wiele narzędzi i funkcji, a także API dla kilku języków programowaniaRepozytorium Git dla wiązań radare2 do innych języków programowania.

Analiza statyczna Radare2 potrafi asemblować i deasemblować wiele rodzajów kodu, ale potrafi także między innymi generować binarne diffy"Binary Diffing" visual en Linux con Radare2, czy pozyskiwać symbole debuggera. Jako że pozwala on na pracę także z uszkodzonymi plikami binarnymi, często używany jest do analizy bezpieczeństwa systemów informatycznychAlienVault – OSX/Leverage.a AnalysisPHDays IV, May 21, 2014, 'Anton Kochkov', Application of radare2 illustrated by Shylock/Caphaw..

Analiza dynamiczna Radare2 ma wbudowany debugger, bardziej niskopoziomowy niż GDB. Posiada także do niego interfejs, obsługuje też WineDBG w celu analizy programów dla Windows na innych systemach operacyjnych. Można go także użyć jako debuggera kernela przy pomocy wsparcia dla VMWare. Radare2 obsługuje protokół WinDBG.

Tworzenie exploitów Połączenie deasemblera z niskopoziomowym debuggerem sprawia, że radare2 może być użyty przez programistów exploitów. W programie istnieje kilka funkcji, które pomagają w tworzeniu exploitów, na przykład wyszukiwarka gadżetów ROP czy wykrywanie zabezpieczeń. Ze względu na elastyczność radare2 i jego obsługę wielu formatów plików, często jest on używany przez drużyny capture the flagDragon SectorLSE i inne osoby związane z bezpieczeństwem systemów komputerowychPhrack – manual binary mangling with radare. Przy pomocy załączonego narzędzia "ragg2", ułatwione jest pisanie shellcode, podobnie jak w przypadku projektu metasploit.

Obsługiwane architektury/formaty plików Obsługiwane formaty plików COFF i pochodne, włącznie z Win32/64/generic PE ELF i pochodne Mach-O (Mach) i pochodne Kartridże Game Boy oraz Game Boy Advance MZ (MS-DOS) Java class dyld cache dumpDydl cache – iphonedevwiki.net Dex (Dalvik EXecutable) Format Xbox xbe Pliki binarne Plan9 Maszyna wirtualna WinrarTavis Ormandy – Fun with Constrained Programming Systemy plików z rodzin ext, ReiserFS, HFS+, NTFS, FAT, ... DWARF oraz PDB w celu przechowywania dodatkowych informacji debuggera Surowe pliki binarne Zestawy instrukcji procesora Rodzina Intel x86 ARM Atmel AVR Brainfuck Motorola 68k oraz H8 Ricoh 5A22 MOS 6502 Maszyny wirtualne Smartcard PSOS Maszyna wirtualna Java MIPS: mipsb/mipsl/mipsr/mipsrl/r5900b/r5900l PowerPC Rodzina SPARC TMS320Cxxx Argonaut RISC Core Intel 51: 8051/80251b/80251s/80930b/80930s Zilog Z80 CR16 Cambridge Silicon Radio (CSR) AndroidVM Dalvik DCPU-16 Bajtkod EFI Gameboy (z80) Bajtkod Java Malebolge MSIL/CIL Nios II SuperH Spc700 Systemz TMS320 V850 Whitespace XCore

Przypisy

Linki zewnętrzne The radare book. pancake. 2008. s. 152. 

Strona internetowa projektu Blog Radare2 Repozytorium Git

Kategoria:Narzędzia do analizy programów Kategoria:Wolne oprogramowanie napisane w C