Новая версия фреймворка для обратного инжиниринга - radare2 0.9.6
Вышла новая версия radare 0.9.6, открытого фреймворка для реверс-инжиниринга. Фреймфорк написан полностью на языке Си, и доступен как в виде библиотек, так и в виде утилит (r2, rabin2, rasm2, etc). Большая часть фреймворка распространяется под лицензией LGPL, что позволяет использовать его в коммерческих приложениях. Среди поддерживаемых архитектур: 8051, x86(16, 32 и 64 бита), arm (включая aarch64), avr, arc (arctangent a4 и arcompact), mips, powerpc, sparc, java, dalvik, bf, rarvm. Radare2 компилируется и работает в GNU/Linux, Windows, OSX, *BSD, Android, Solaris и iOS. Особенностью фреймворка является его моудльность и расширяемость: поддерживает скриптование на Vala, Python, Perl, Ruby, Go, Guile, Lua, JavaScript, Java. Предоставляется поддержка отладки, в том числе и через протокол gdb. Основной парадигмой дизассемблера является интерактивность.
В новой версии:
Поддержка цветовых схем и вывода стрелок/рамок символами юникода. Расположение конфигурационных файлов приведено в соответствии со спецификациями XDG. Поддержка платформ AArch64, Texas Instruments C55x+, 8051, ARCompact. Автоматическое распознавание и загрузка исполняемых файлов TE (Terse Executable), образов BIOS/UEFI. Поддержка классов Java 7. Поддержка объявления типов структур и множеств, например командой 'td': [0×8048000]> «td struct Foo { int a; int b; };» Python-биндинги переписаны с использованием ctypes, вместо swig. Поддержка биндингов на Java JNI и D. Для упрощения работы в r2 добавлена базовая поддержка команд 'clear', 'ls', 'cat', 'cd', 'pwd'. Все команды могут быть соединены через пайпы '|' как и в обычном POSIX shell. Начат рефакторинг и переход ядра на SDB (простая база данных «ключ-значение») для хранения метаинформации (функции, метки, комментарии и многое другое). Релиз был подготовлен с активным тестированием и исправлением регрессий (r2-regressions tests). При нахождении ошибок просьба, по возможности, прикреплять результат выполнения такого теста к уведомлению об ошибке вместе с подробным описанием проблемы.
© OpenNet