Linux -- это интересно

radare2 (r2)


Рубрика: Прочие -> Системные утилиты
Метки: | | | |
Просмотров: 303

radare2 (r2) — фреймворк для дизассемблирования, отладки, анализа и манипуляции бинарными файлами, набор инструментов (библиотек и консольных утилит) для реверс-инжиниринга.

Реверс-инжиниринг (обратный инжиниринг / обратная разработка) — исследование некоторого готового объекта с целью понять принцип его работы. Обычно применяется если создатель оригинального объекта не предоставил информации о структуре и способе создания/производства объекта (устройства или приложения).

Проект radare начат в 2006 году и изначально задумывался как шестнадцатеричный редактор (Hex-редактор / Hex Editor) с простым консольным интерфейсом, позволявший находить и восстанавливать данные с жестких дисков. В дальнейшем произошло изменение концепции проекта, по словам разработчиков целью проекта стало создание полноценной платформы для анализа бинарных файлов (в частности исполняемых).

В 2010 году произошел "редизайн" фреймворка, после чего проект значительно расширился и пополнился новыми функциями, что позволяет использовать его не только как Hex-редактор, но и как дизассемблер, как анализатор кода и шелл-кодов (двоичный исполняемый код). Особенностью фреймворка является его модульность и расширяемость, поддерживается скриптование (на Vala, Python, Perl, Lua, Ruby, Go, Java и JavaScript).

В состав radare2 входят библиотеки и утилиты:

  • radeco - декомпилятор;
  • rasm2 - ассемблер/дизассемблер фреймворка, выполнен как отдельное приложение и позволяет дизассемблировать как бинарные, так и отдельные строки;
  • rabin2 - утилита для работы с различными исполняемыми файлами (ELF, PE, Java class, Mach-O), используется для получения различной информации о файле: импортируемые функции, экспортируемые символы, секции, подключаемые библиотеки и прочее;
  • rahash2 - утилита для получения хеш-значений во многих форматах как от бинарных файлов, так и от определенных частей данных;
  • radiff2 - утилита для сравнения бинарных файлов;
  • rafind2 - утилита для поиска как строк с помощью и без регулярных выражений, так и данных в шестнадцатеричном формате или по бинарному шаблону;
  • ragg2 - экспериментальная утилита для компиляции небольших приложений для x86/x64 и ARM-архитектур;
  • rax2 - утилита для конвертации данных в различных форматах;
  • rarun2 - позволяет запускать программу с различными параметрами среды, аргументами, правами и директориями;

radare2 кроме консольного интерфейса имеет визуальный режим и веб-интерфейс (WebUI), имеется и неофициальный графический интерфейс Bokken (Python/GTK).

Лицензия: GNU Lesser General Public License v3.0

Домашняя страница

Страница на github.com

Книга по использованию Radare2 (на английском)

Оставьте комментарий!
Используйте нормальные имена.Войти через loginza
Если вы уже зарегистрированы как комментатор или хотите зарегистрироваться, укажите пароль и свой действующий email.
(При регистрации на указанный адрес придет письмо с кодом активации и ссылкой на ваш персональный аккаунт, где вы сможете изменить свои данные, включая адрес сайта, ник, описание, контакты и т.д.)



 
(обязательно)