Radare2

История и разработка

Проект radare[5] начал разрабатывать хакер с ником pancake в 2006 году, и долгое время, по сути, он был единственным разработчиком. Изначально проект задумывался как шестнадцатеричный редактор с простым консольным интерфейсом, позволявший находить и восстанавливать данные с жестких дисков. Поэтому его называли «инструментом для компьютерной криминалистической экспертизы». В дальнейшем, по сообщению авторов, произошло изменение концепции проекта, и целью разработчиков стало создание полноценной платформы, предназначенной для анализа бинарных файлов, в частности — исполняемых[6].

В 2010 году произошел «редизайн» фреймворка, после чего проект стал разрастаться и пополняться новыми функциями, что позволило его использовать не только как редактор, но и как дизассемблер и анализатор как кода, так и шелл-кодов.

Состав radare2

Фреймфорк radare2 доступен в виде библиотек и утилит:

  • Rasm2 — ассемблер/дизассемблер фреймворка, выполнен как отдельное приложение и позволяет дизассемблировать как файлы, так и отдельные строки.
  • Rabin2 — утилита для работы с различными исполняемыми файлами (ELF, PE, Java class, Mach-O). Используется для получения различной информации о файле: импортируемых функций, экспортируемых символов, секций, подключаемых библиотек и прочего.
  • Rahash2 — утилита для получения хеш-значений во многих форматах как от файлов, так и от определённых частей данных.
  • Radiff2 — утилита для сравнения двоичных файлов.
  • Rafind2 — утилита для поиска как строк с помощью и без регулярных выражений, так и данных в шестнадцатеричном формате или по двоичному шаблону.
  • Ragg2 — экспериментальная утилита для компиляции небольших программ для архитектур x86/x64 и ARM.
  • Rax2 — утилита для конвертации данных в различных форматах.
  • Rarun2 — позволяет запускать программу с различными параметрами среды, аргументами, правами и каталогами.
  • Radeco[7] — декомпилятор.

Cutter

Cutter[8] — интерактивный дизассемблер основанный на radare2.

Поддерживаемые архитектуры/форматы файлов

Поддерживаемые архитектуры Поддерживаемые форматы файлов

История версий

Цвет Значение
КрасныйСтарая версия
ЗелёныйТекущая версия
Версия radare2 Дата выпуска Особенности
0.9.2 2 октября 2012
  • Поддержка новых CPU: Z80, dcpu16, m68k и arc.
  • Добавлена поддержка следующих платформ: dalvik, mips, arm.
  • Добавлена обработка zip:// и apk://.
  • Улучшен анализатор 16-битного x86-кода.
  • Добавлено множество команд, таких как ?i, ?I, ?k, b+, b- и т. д.
  • Теперь требуется valabind 0.7.2.
  • Исправлена ошибка при декодировании опкода FF25 в архитектуре x86_64.
  • Начата реализация поддержки DWARF.
  • Добавлена поддержка jmp [(rip+)0xoffset] и call [(rip+)0xoffset].
0.9.6 11 ноября 2013
  • Поддержка цветовых схем и вывода стрелок/рамок символами юникода.
  • Расположение конфигурационных файлов приведено в соответствии со спецификациями XDG.
  • Поддержка платформ AArch64, Texas Instruments C55x+, 8051, ARCompact.
  • Автоматическое распознавание и загрузка исполняемых файлов TE (Terse Executable), образов BIOS/UEFI.
  • Поддержка классов Java 7.
  • Поддержка объявления типов структур и множеств, например командой 'td'.
  • Python-биндинги переписаны с использованием ctypes, вместо swig.
  • Поддержка биндингов на Java JNI и D.
  • Для упрощения работы в r2 добавлена базовая поддержка команд 'clear', 'ls', 'cat', 'cd', 'pwd'.
  • Все команды могут быть соединены через пайпы '|' как и в обычном POSIX shell.
  • Начат рефакторинг и переход ядра на SDB (простая база данных «ключ-значение») для хранения метаинформации (функции, метки, комментарии и многое другое).
0.9.9 5 июня 2015
1.0[9] 6 ноября 2016Добавлено автодополнение команд, цветовые темы, форматы menuetOS, KolibriOS, DOS4GW, улучшены парсеры PE, MACH0, ELF, COFF символов, улучшена поддержка Android
1.0.2[9] 8 ноября 2016

См. также

Примечания

  1. https://github.com/radareorg/radare2/releases/tag/5.6.0 — 2022.
  2. Joshua J. Drake, Zach Lanier, Collin Mulliner, Pau Oliva Fora, Stephen A. Ridley. Android Hacker's Handbook. — John Wiley & Sons, 2014. — С. 495. — 576 с. — ISBN 9781118922255.
  3. Workshop «Реверсинг и отладка вредоносного ПО и прошивок с помощью фреймворка radare2»
  4. Ken Dunham, Shane Hartman, Manu Quintans, Jose Andre Morales, Tim Strazzere. Android Malware and Analysis. — CRC Press, 2014-10-24. — С. 146. — 246 с. — ISBN 9781482252194.
  5. Репозиторий Git radare (англ.)
  6. Radare documentation, Chapter 1: Introduction, 1.1 History Архивная копия от 27 ноября 2015 на Wayback Machine (англ.)
  7. Репозиторий Git radeco (англ.).
  8. Домашняя страница Cutter (англ.)
  9. Releases · radare/radare2 · GitHub

Литература

На английском языке

Ссылки

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.