Автор (ы) оригинала | Серги Альварес (блин) |
---|---|
Разработчики) | блин и основные участники |
Стабильный выпуск | 5.2.1 / 21 апреля 2021 г . [1] |
Репозиторий | |
Написано в | C [2] |
Операционная система | Linux , BSD , macOS , Microsoft Windows , Haiku , Android , iOS , Solaris |
Доступно в | английский |
Тип | Дизассемблер |
Лицензия | LGPL |
Веб-сайт | www |
Radare2 (также известный как r2 ) - это полный фреймворк для обратного проектирования и анализа двоичных файлов; состоит из набора небольших утилит, которые можно использовать вместе или независимо от командной строки . Построенный на основе дизассемблера для компьютерного программного обеспечения, который генерирует исходный код на языке ассемблера из машинно-исполняемого кода, он поддерживает множество исполняемых форматов для различных архитектур процессоров и операционных систем .
История [ править ]
Radare2 был создан в феврале 2006 года [3] с целью предоставить бесплатный и простой интерфейс командной строки для шестнадцатеричного редактора, поддерживающего 64-битные смещения для поиска и восстановления данных с жестких дисков в криминалистических целях. С тех пор проект расширился, и его цель изменилась, чтобы предоставить полную основу для анализа двоичных файлов, придерживаясь нескольких принципов философии Unix . [4]
В 2009 году было принято решение полностью переписать его, чтобы обойти ограничения первоначального дизайна. С тех пор проект продолжал расти [5] и привлек нескольких постоянных разработчиков.
В 2016 году первая r2con состоялась в Барселоне , [6] [7] собрать более 100 участников, показывая различные переговоры о различных функций и улучшений в рамках.
Radare2 был в центре внимания многочисленных презентаций на нескольких громких конференциях по безопасности, таких как recon , [8] hack.lu , [9] 33c3 . [3]
Radare2 был раздвоенный в декабре 2020 года , как Rizin некоторыми членами radare2 и Cutter команды разработчиков ядра , которые стремятся «внимание на удобство, стабильность и рабочих функций, которая стремится обеспечить благоприятную среду для разработчиков и пользователей.» [10]
Особенности и использование [ править ]
Radare2 требует сложного обучения, поскольку у него нет графического интерфейса . Первоначально построенный на основе шестнадцатеричного редактора, теперь он имеет множество инструментов и функций, а также привязки для нескольких языков. [11] Между тем у него есть WebUI [12] и внешний Qt GUI под названием Cutter (ранее назывался Iaito). [13]
Статический анализ [ править ]
Radare2 может собирать и дизассемблировать множество программ, в основном исполняемых файлов, но он также может выполнять двоичное сравнение с графиками, [14] извлекать информацию, такую как символы перемещений , и различные другие типы данных. Внутри он использует базу данных NoSQL с именем sdb для отслеживания аналитической информации, которая может быть выведена radare2 или добавлена пользователем вручную. Поскольку он может работать с искаженными двоичными файлами, он также использовался исследователями безопасности программного обеспечения для целей анализа. [15] [16] [17]
Динамический анализ [ править ]
Этот раздел требует дополнительных ссылок для проверки . Ноябрь 2016 г. ) ( Узнайте, как и когда удалить этот шаблон сообщения ) ( |
Radare2 имеет встроенный отладчик более низкого уровня, чем GDB . Он также может взаимодействовать с GDB и WineDBG [18] для отладки двоичных файлов Windows в других системах. Кроме того, его также можно использовать в качестве отладчика ядра с VMWare .
Эксплуатация программного обеспечения [ править ]
Благодаря наличию дизассемблера и низкоуровневого отладчика, radare2 может быть полезен разработчикам эксплойтов . Программное обеспечение имеет функции, которые помогают в разработке эксплойтов, такие как поисковая машина ROP-гаджетов и обнаружение смягчения . Из-за гибкости программного обеспечения и поддержки многих форматов файлов оно часто используется командами захвата флагов [19] [20] и другим персоналом, ориентированным на безопасность. [21] radare2 также может помочь в создании шелл-код с его инструментом «ragg2», похожий на Metasploit .
Резак [ править ]
Cutter был первым официальным графическим пользовательским интерфейсом (GUI) для radare2. Он в основном нацелен «на тех, кто [se] еще не является пользователем radare2 из-за кривой обучения, потому что им не нравятся приложения CLI или из-за сложности / нестабильности radare2». Это был преемник ранее известного проекта Iaito, который пострадал от слишком малого обслуживания после того, как стал открытым исходным кодом на GitHub . Позже Iaito был разветвлен и сильно переписан, снова на C ++ и Qt в качестве основы. Эти варианты дизайна позволяют ему быть кроссплатформенным приложением, ориентированным на Linux, MacOS, а также Windows.. Тогда же он был переименован в Cutter. Цель Cutter - экспортировать обширную функциональность radare2 в современный удобный графический интерфейс, который может конкурировать с другими основными структурами статического и динамического анализа, такими как Hex-Rays Interactive Disassembler или Binary Ninja .
В 2020 году основная команда Cutter, которая также была частью основной команды radare2, покинула radare2 и стала соучредителем Rizin. После этого Cutter переключился с radare2 на Rizin в качестве бэкэнда. [22] В настоящее время Iaito является форком Cutter с последним работающим коммитом с radare2.
Поддерживаемые архитектуры / форматы [ править ]
- Распознаваемые форматы файлов
- COFF и производные, включая Win32 / 64 / generic PE
- ELF и производные
- Mach-O ( Мах ) и производные
- Картриджи для Game Boy и Game Boy Advance
- MZ ( MS-DOS )
- Класс Java
- Байт-код Lua 5.1 и Python
- дамп кеш-памяти dyld [23]
- Декс ( Dalvik EXecutable)
- Формат Xbox xbe [24]
- Бинарные файлы Plan9
- Виртуальная машина WinRAR [25]
- Файловая система, такая как семейство 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
Ссылки [ править ]
- ^ "Релизы · radareorg / radare2" . github.com . Проверено 26 апреля 2021 .
- ^ Репозиторий Git
- ^ a b "Радара демистифицирована" . Медиа-сайт компьютерного клуба «Хаос» . CCC. 2016-12-29 . Проверено 29 декабря 2016 .
- ^ «Я написал более 300 000 строк кода для Radare» . www.cigtr.info . Архивировано из оригинала на 2018-11-03 . Проверено 21 января 2017 .
- ^ CCC, радар демистифицирован , получено 21 января 2017 г.
- ^ "r2con 2016" . Группа НКЦ . Проверено 21 января 2017 .
- ^ Баккен, Сэм (2016-08-09). «Хакер, стоящий за инструментом обратного проектирования Radare с открытым исходным кодом ...» NowSecure . Проверено 21 января 2017 .
- ^ «Расписание разведки на 2015 год» . recon.cx . Проверено 21 января 2017 .
- ^ "Talks at Hack.lu 2015" . Hack.lu 2015 . Проверено 21 января 2017 .
- ^ Анонсируем Ризин!
- ^ Репозиторий Git для привязок radare2
- ^ Новый веб-интерфейс
- ^ Резак
- ^ Визуализация "Binary Diffing" в Linux с Radare2
- ^ AlienVault - OSX / Leverage.a Анализ
- ^ Крейг Хеффнер - Обнаружение и устранение бэкдоров в потребительских прошивках
- ^ PHDays IV, 21 мая 2014 года 'Антон Кочков', Применение radare2 иллюстрируется Шейлок / Caphaw.D и анализа Snakso.A
- ^ Архив Gmane о поддержке WinDBG в radare2
- ^ Сектор Dragon
- ^ LSE
- ^ Phrack - ручное бинарное искажение с помощью радара
- ^ Ризин (2020-12-05). «Часто задаваемые вопросы» . Ризин . Проверено 26 апреля 2021 .
- ^ Кеш Dydl - iphonedevwiki.net
- ^ .XBE Формат файла 1.1
- ^ Тэвис Орманди - Развлечение с ограниченным программированием
Дальнейшее чтение [ править ]
- Майджин (2016). Книга radare2 . Проверено 20 марта 2016 года .
- моноисточник (2016). Radare2 Исследования . Проверено 19 января 2017 года .
- блин (2008). Оригинальная радиолокационная книга (PDF) . п. 152.
Внешние ссылки [ править ]
- Официальный веб-сайт
- Блог Radare2
- radare2 репозиторий Git
- Репозиторий Cutter Git