Przejdź do zawartości

Radare2

Z Wikipedii, wolnej encyklopedii
Radare2
logo
Ilustracja
Autor pancake
Aktualna wersja stabilna 5.9.2
(20 maja 2024) [±]
Licencja LGPL
Strona internetowa

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ść[edytuj | edytuj kod]

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 programowania[1].

Analiza statyczna[edytuj | edytuj kod]

Radare2 potrafi asemblować i deasemblować wiele rodzajów kodu, ale potrafi także między innymi generować binarne diffy[2], 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 informatycznych[3][4][5].

Analiza dynamiczna[edytuj | edytuj kod]

Radare2 ma wbudowany debugger, bardziej niskopoziomowy niż GDB. Posiada także do niego interfejs, obsługuje też WineDBG[6] 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[edytuj | edytuj kod]

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 flag[7][8] i inne osoby związane z bezpieczeństwem systemów komputerowych[9]. Przy pomocy załączonego narzędzia "ragg2", ułatwione jest pisanie shellcode, podobnie jak w przypadku projektu metasploit.

Obsługiwane architektury/formaty plików[edytuj | edytuj kod]

Przypisy[edytuj | edytuj kod]

Linki zewnętrzne[edytuj | edytuj kod]