Radare2 - Radare2
Показан графический пользовательский интерфейс radare2 Cutter (2018). | |
Оригинальный автор (ы) | Серги Альварес (блин) |
---|---|
Разработчики) | блин и основные участники |
Стабильный выпуск | 4.5.0[1] / 18 июля 2020 г. |
Репозиторий | |
Написано в | C[2] |
Операционная система | Linux, BSD, macOS, Майкрософт Виндоус, Хайку, Android, iOS, Солярис |
Доступно в | английский |
Тип | Дизассемблер |
Лицензия | LGPL |
Интернет сайт | www |
Radare2 (также известен как r2) является полным рамки за разобрать механизм с целью понять, как это работает и анализ двоичных файлов; состоит из набора небольших утилит, которые можно использовать вместе или независимо от командная строка. Построен вокруг дизассемблер за компьютерное программное обеспечение который порождает язык ассемблера исходный код из машинно-исполняемого кода, он поддерживает множество исполняемые форматы для разных архитектуры процессоров и операционные системы.
История
Radare2 был создан в феврале 2006 года,[3] стремясь обеспечить свободный и простой интерфейс командной строки для шестнадцатеричный редактор поддержка 64-битных смещений для поиска и восстановления данных из жесткие диски, для судебно-медицинских целей. С тех пор проект расширился, и его цель была изменена, чтобы предоставить полную структуру для анализа двоичных файлов, придерживаясь нескольких принципов Философия Unix.[4]
В 2009 году было принято решение полностью переписать его, чтобы обойти ограничения первоначального дизайна. С тех пор проект продолжал расти,[5] и привлек несколько постоянных разработчиков.
В 2016 году первый r2con проходил в Барселона,[6][7] собирает более 100 участников, включая различные доклады о различных функциях и улучшениях фреймворка.
Radare2 был в центре внимания многочисленных презентаций на нескольких громких конференциях по безопасности, таких как разведка,[8] hack.lu,[9] 33c3[3].
Особенности и использование
Radare2 имеет крутой кривая обучения поскольку у него нет GUI сам по себе. Первоначально построенный на основе шестнадцатеричного редактора, теперь он имеет множество инструментов и функций, а также привязки для нескольких языков.[10] Между тем у него есть WebUI[11] и есть внешний Qt Графический интерфейс называется Cutter (ранее назывался Iaito).[12]
Статический анализ
Radare2 умеет собирать и разбирать много вещей, но он также может выполнять двоичное различие с графиками,[13] извлекать информацию вроде переезд символы и различные другие типы данных. Внутри он использует NoSQL база данных названный SDB для отслеживания аналитической информации, которая может быть получена с помощью radare2 или добавлена пользователем вручную. Поскольку он может работать с искаженными двоичными файлами, он также использовался безопасность программного обеспечения исследователи для целей анализа.[14][15][16]
Динамический анализ
Эта секция нужны дополнительные цитаты для проверка.Ноябрь 2016) (Узнайте, как и когда удалить этот шаблон сообщения) ( |
Radare2 имеет встроенный отладчик это ниже, чем GDB. Он также может взаимодействовать с GDB и WineDBG[17] отлаживать Windows двоичные файлы в других системах. Кроме того, его также можно использовать как отладчик ядра с VMWare.
Эксплуатация программного обеспечения
Благодаря наличию дизассемблера и низкоуровневого отладчика, radare2 может быть полезен разработчикам подвиги. Программное обеспечение имеет функции, которые помогают в разработке эксплойтов, такие как ROP-гаджет поисковая система и смягчение обнаружение. Из-за гибкости программного обеспечения и поддержки многих форматов файлов оно часто используется захват флага команды[18][19] и другой персонал, ориентированный на безопасность.[20]Radare2 также может помочь в создании шеллкоды с помощью инструмента ragg2, похожего на метасплоит.
Резак
Резак это первый чиновник графический пользовательский интерфейс (GUI) для radare2. Это все еще молодой проект, который в основном нацелен «на тех, кто еще не является пользователем radare2 из-за кривой обучения, потому что им не нравятся приложения CLI или из-за сложности / нестабильности radare2». Преемник ранее известного проекта Яито который пострадал от слишком небольшого обслуживания после того, как он стал открытым исходным кодом на GitHub. Позже Iaito был разветвлен и сильно переписан, снова с C ++ и Qt в качестве его основы. Такой выбор дизайна позволяет ему быть кросс-платформенный приложение для Linux, MacOS а также Windows. Тогда же он был переименован в Cutter. Цель Cutter - экспортировать обширные функциональные возможности radare2 в современный удобный графический интерфейс, который может конкурировать с другими основными структурами статического и динамического анализа, такими как Hex-Rays. Интерактивный дизассемблер, или же Бинарный ниндзя.
Поддерживаемые архитектуры / форматы
- Распознаваемые форматы файлов
- КОФФ и производные, включая Win32 / 64 / generic PE
- ELF и производные
- Мачо (Мах ) и производные
- Геймбой и Game Boy Advance патроны
- MZ (MS-DOS )
- Класс Java
- Lua 5.1 и Python байт-код
- дамп кеш-памяти dyld[21]
- Декс (Дальвик Исполняемый)
- Xbox формат xbe[22]
- Plan9 двоичные файлы
- WinRAR виртуальная машина[23]
- Файловая система словно доб семья, ReiserFS, HFS +, NTFS, ТОЛСТЫЙ, ...
- 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 серии
- RISC-ядро Argonaut
- Intel 51 серии: 8051 / 80251b / 80251s / 80930b / 80930s
- Зилог Z80
- CR16
- Кембриджское силиконовое радио (CSR)
- AndroidVM Дальвик
- DCPU-16
- Байт-код EFI
- Gameboy (в стиле z80)
- Байт-код Java
- Мальболге
- MSIL / CIL
- Ниос II
- SuperH
- Spc700
- Systemz
- TMS320
- V850
- Пробел
- XCore
Рекомендации
- ^ «Релизы - радар / радар2». Получено 22 июля 2020 - через GitHub.
- ^ Репозиторий Git
- ^ а б "Развенчанный радар". Компьютерный Клуб Хаоса медиа сайт. CCC. 2016-12-29. Получено 2016-12-29.
- ^ ""Я написал более 300 000 строк кода для Radare"". www.cigtr.info. Получено 2017-01-21.
- ^ CCC, радар демистифицирован, получено 2017-01-21
- ^ "r2con 2016". Группа НКК. Получено 2017-01-21.
- ^ Баккен, Сэм (2016-08-09). "Хакер, стоящий за открытым исходным кодом, инструментом обратного проектирования Radare ..." NowSecure. Получено 2017-01-21.
- ^ «Расписание Recon 2015». recon.cx. Получено 2017-01-21.
- ^ «Беседы на Hack.lu 2015». Hack.lu 2015. Получено 2017-01-21.
- ^ Репозиторий Git для привязок radare2
- ^ Новый веб-интерфейс
- ^ Резак
- ^ Визуализация "двоичного различия" в Linux с Radare2
- ^ AlienVault - OSX / Leverage.a Анализ
- ^ Крейг Хеффнер - Поиск и устранение бэкдоров в потребительских прошивках
- ^ PHDays IV, 21 мая 2014 г., «Антон Кочков», Применение radare2 на примере Shylock / Caphaw.D и Snakso. Анализ
- ^ Архив Gmane о поддержке WinDBG в radare2
- ^ Сектор Дракона
- ^ LSE
- ^ Phrack - ручная обработка двоичных файлов с помощью radare
- ^ Кеш Dydl - iphonedevwiki.net
- ^ .XBE Формат файла 1.1
- ^ Тэвис Орманди - Развлечение с ограниченным программированием
дальнейшее чтение
- Майджин (2016). Книга radare2. Получено 20 марта 2016.
- моноисточник (2016). Radare2 Исследования. Получено 19 января 2017.
- блин (2008). Оригинальная радарная книга (PDF). п. 152.