Radare2 - Radare2

Radare2
Radare2.svg
CutterUiScreenshot2.png
Показан Iaito, графический пользовательский интерфейс radare2.
Автор (ы) оригинала Серги Альварес (блин)
Разработчики) блин и сообщество
Стабильный выпуск
5.4.2 / 20 сентября 2021 г . ; 22 дней назад ( 2021-09-20 )
Репозиторий
Написано в C
Операционная система Linux , BSD , macOS , Microsoft Windows , Haiku , Android , iOS , Solaris
Доступно в английский
Тип Дизассемблер
Лицензия LGPL
Веб-сайт www .radare .org / r / Отредактируйте это в Викиданных

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.

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

использованная литература

дальнейшее чтение

внешние ссылки