Bokken — удобный Python / GTK (PyGTK) графический интерфейс (GUI) для набора инструментов реверс-инжиниринга radare2 (r2).
radare2 (r2) — фреймворк для дизассемблирования, отладки, анализа и манипуляции бинарными файлами, набор инструментов (библиотек и консольных утилит) для реверс-инжиниринга. Особенностью фреймворка является его модульность и расширяемость, поддерживается скриптование (на Vala, Python, Perl, Lua, Ruby, Go, Java и JavaScript).
Реверс-инжиниринг (обратный инжиниринг / обратная разработка) — исследование некоторого готового объекта с целью понять принцип его работы. Обычно применяется если создатель оригинального объекта не предоставил информации о структуре и способе создания/производства объекта (устройства или приложения).
В состав radare2 входят библиотеки и утилиты различного назначения (radeco, rasm2, rabin2, rahash2, radiff2, rafind2, ragg2, rax2 и rarun2), с помощью Bokken можно получить более простой доступ к большинству функциональных возможностей консольных утилит.
Bokken имеет интерфейс с вкладками (опционально) и поддерживает изменение темы оформления. Функционал приложения позволяет дизассемблировать как бинарные, так и отдельные строки, работать с различными исполняемыми файлами (ELF, PE, Java class, Mach-O) и получать различную информацию о файле (импортируемые функции, экспортируемые символы, секции, подключаемые библиотеки и др).
Bokken позволяет проводить сравнение бинарных файлов, получать хеш-значения во многих форматах (от бинарных файлов и от определенных частей данных), поддерживается поиск строк (простой и с помощью регулярных выражений) и данных (в шестнадцатеричном формате или по бинарному шаблону), можно конвертировать данные в различных форматах и многое другое...
Bokken находится в стадии активной разработки и рассчитан прежде всего на пользователей имеющих соответствующую квалификацию (программистов, кракеров/взломщиков, специалистов по безопасности и пр), управление приложением осуществляется с помощью мыши и/или клавиатурных сочетаний, имеется подробная встроенная документация, много дополнительной информации доступно на сайте проекта (на английском).
Лицензия: GNU General Public License version 2.0 (GPLv2)