Свободный фреймворк для дизассемблирования и реверс-инжиниринга radare2 запустил краудфандинговую
кампанию с целью собрать 12000 EUR на проведение собственного Summer of Code.
В этом году radare2 не прошел отбор в Google Summer of Code, что не остановило нас, и мы решили всё равно выполнить
задуманное (web интерфейс, бинарные шаблоны, миграция на sdb, ROP-компилятор, ESIL — Evaluable
Strings Intermediate Language, парсер PDB и протокола Windbg, сигнатурный анализ, bokken — графический интерфейс на PyGtk, поддержка новых архитектур).
Фреймфорк написан полностью на языке Си и доступен в виде подключаемых библиотек. Также в состав входят утилиты по сравнению файлов, ассемблеры, мини-компилятор shell-кодов. Большая часть кода распространяется по лицензии LGPL, что позволяет использовать его в коммерческих проектах. Основной парадигмой дизассемблера является его интерактивность.
Среди поддерживаемых архитектур: 8051, x86 (16, 32, 64 бита), arm (включая ARM64/AArch64), avr,
arc (ARCtangent A4 и ARCompact), mips, powerpc, sparc, h8, cr16, TI TMS320*, EBC (EFI bytecode), java, dalvik,
bf, rarvm. Radare2 компилируется и работает на следующих платформах: GNU/Linux, Windows, OSX, *BSD,
Solaris, Android и iOS. Поддерживает скриптование на Vala, Python (ctypes), JavaScript, Perl, Ruby, Go,
Guile, Lua, Java, OCaml. Поддерживает как прямую отладку, так и работу с протоколами gdb, winedbg.
Разработка вёдется на GitHub-е, так что каждый может отправить Pull Request с исправлением какого-либо бага, или добавлением новой возможности.
В процессе написания книга по использованию radare2 (пока не закончена).
Также доступны несколько примеров использования:
План на лето с подробным описанием заданий находится тут: rada.re/rsoc
Официальный сайт проекта: rada.re/
Автор: xvilka