Radare2 - Radare2
Автор (ы) оригинала | Серги Альварес (блин) |
---|---|
Разработчики) | блин и сообщество |
Стабильный выпуск | 5.4.2 / 20 сентября 2021 г .
|
Репозиторий | |
Написано в | C |
Операционная система | Linux , BSD , macOS , Microsoft Windows , Haiku , Android , iOS , Solaris |
Доступно в | английский |
Тип | Дизассемблер |
Лицензия | LGPL |
Веб-сайт |
www |
Radare2 (также известный как r2 ) - это полный фреймворк для обратного проектирования и анализа двоичных файлов; состоит из набора небольших утилит, которые можно использовать вместе или независимо от командной строки . Построенный на основе дизассемблера для компьютерного программного обеспечения, который генерирует исходный код на языке ассемблера из машинно-исполняемого кода, он поддерживает множество исполняемых форматов для различных архитектур процессоров и операционных систем .
История
Radare2 был создан в феврале 2006 года с целью предоставить бесплатный и простой интерфейс командной строки для шестнадцатеричного редактора, поддерживающего 64-битные смещения для поиска и восстановления данных с жестких дисков в криминалистических целях. С тех пор проект расширился, и его цель изменилась, чтобы предоставить полную основу для анализа двоичных файлов, придерживаясь нескольких принципов философии Unix .
В 2009 году было принято решение полностью переписать его, чтобы обойти ограничения первоначального дизайна. С тех пор проект продолжал развиваться и привлек нескольких разработчиков-резидентов.
В 2016 году первый r2con состоялся в Барселоне , собрав более 100 участников, показывая различные переговоры о различных функций и улучшений в рамках.
Radare2 был в центре внимания многочисленных презентаций на нескольких громких конференциях по безопасности, таких как recon , hack.lu , 33c3 .
Особенности и использование
Radare2 требует сложного обучения, поскольку у него нет графического интерфейса . Первоначально построенный на основе шестнадцатеричного редактора, теперь он имеет множество инструментов и функций, а также привязки для нескольких языков. Между тем у него есть WebUI и внешний Qt GUI под названием Cutter (ранее назывался Iaito).
Статический анализ
Radare2 может собирать и дизассемблировать множество программ, в основном исполняемых файлов, но он также может выполнять двоичное сравнение с графиками, извлекать информацию, такую как символы перемещений , и различные другие типы данных. Внутри он использует базу данных NoSQL с именем sdb для отслеживания аналитической информации, которая может быть выведена radare2 или добавлена пользователем вручную. Поскольку он может работать с искаженными двоичными файлами, он также использовался исследователями безопасности программного обеспечения для целей анализа.
Динамический анализ
Radare2 имеет встроенный отладчик более низкого уровня, чем GDB . Он также может взаимодействовать с GDB и WineDBG для отладки двоичных файлов Windows в других системах. Кроме того, его также можно использовать в качестве отладчика ядра с VMWare .
Эксплуатация программного обеспечения
Благодаря наличию дизассемблера и низкоуровневого отладчика, radare2 может быть полезен разработчикам эксплойтов . Программное обеспечение имеет функции, которые помогают в разработке эксплойтов, такие как поисковая машина ROP-гаджетов и обнаружение смягчения последствий . Из-за гибкости программного обеспечения и поддержки многих форматов файлов оно часто используется командами захвата флагов и другим персоналом, ориентированным на безопасность. Radare2 также может помочь в создании шелл-код с его инструментом «ragg2», похожий на Metasploit .
Графический интерфейс пользователя (GUI)
Проект Iaito был разработан как первый специализированный графический пользовательский интерфейс (GUI) для radare2, а затем разветвлен Cutter как второй разработанный графический пользовательский интерфейс (GUI) для radare2. Когда проект Cutter был отделен от проекта radare2 в 2020 году, Iaito был переработан, чтобы стать текущим официальным графическим интерфейсом пользователя (GUI) radare2, поддерживаемым участниками проекта radare2.
Поддерживаемые архитектуры / форматы
- Распознаваемые форматы файлов
- COFF и производные, включая Win32 / 64 / generic PE
- ELF и производные
- Mach-O ( Мах ) и производные
- Картриджи для Game Boy и Game Boy Advance
- MZ ( MS-DOS )
- Класс Java
- Байт-код Lua 5.1 и Python
- дамп кеш-памяти dyld
- Декс ( Dalvik EXecutable)
- Формат Xbox xbe
- Бинарные файлы Plan9
- Виртуальная машина WinRAR
- Файловая система, такая как семейство ext , ReiserFS , HFS + , NTFS , FAT , ...
- Форматы файлов DWARF и PDB для хранения дополнительной отладочной информации
- Необработанный двоичный файл
- Наборы инструкций
- Семейство Intel x86
- ARM архитектура
- Серия Atmel AVR
- Brainfuck
- Motorola 68k и H8
- Ricoh 5A22
- MOS 6502
- Виртуальная машина Smartcard PSOS
- Виртуальная машина Java
- MIPS : mipsb / mipsl / mipsr / mipsrl / r5900b / r5900l
- PowerPC
- Семья SPARC
- Серия TMS320Cxxx
- Ядро Argonaut RISC
- Intel 51 серии: 8051 / 80251b / 80251s / 80930b / 80930s
- Зилог Z80
- CR16
- Кембриджское силиконовое радио (CSR)
- AndroidVM Dalvik
- DCPU-16
- Байт-код EFI
- Game Boy (в стиле z80)
- Байт-код Java
- Мальболге
- MSIL / CIL
- Ниос II
- SuperH
- Spc700
- Systemz
- TMS320
- V850
- Пробел
- XCore
использованная литература
дальнейшее чтение
- Майджин (2016). Книга radare2 . Проверено 20 марта +2016 .
- моноисточник (2016). Radare2 Исследования . Проверено 19 января 2017 года .
- блин (2008). Оригинальная радиолокационная книга (PDF) . п. 152.