reverseenengineering:soft_radare2

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

reverseenengineering:soft_radare2 [2025/07/18 12:40] – создано Lexreverseenengineering:soft_radare2 [2025/07/18 12:43] (текущий) Lex
Строка 1: Строка 1:
-===== RADARE2 =====+====== Radare2 ====== 
 + 
 +**Radare2** (часто сокращается как **r2**) — это мощный, кроссплатформенный набор инструментов с открытым исходным кодом для анализа, дизассемблирования, отладки и реверс-инжиниринга исполняемых файлов. В отличие от IDA или x64dbg, Radare2 изначально проектировался как CLI-инструмент, что делает его особенно гибким, скриптуемым и пригодным для автоматизации задач. 
 + 
 +===== Основные возможности ===== 
 + 
 +  * Поддержка множества архитектур и форматов (ELF, PE, Mach-O, raw, firmware) 
 +  * Дизассемблирование и ассемблирование (через встроенные движки) 
 +  * Отладка в режиме реального времени (локально и удалённо) 
 +  * Поддержка анализа бинарных файлов, секций, функций, строк, сигнатур 
 +  * Гибкая система меток, комментариев, типов и символов 
 +  * Графический режим (`Visual Mode`) и граф вызовов (CFG) 
 +  * Расширенные возможности автоматизации: скрипты на r2pipe (Python, JS, Go и др.) 
 +  * Возможность редактирования, патчинга и сохранения изменений 
 +  * Совместим с **Cutter** — GUI-интерфейсом на основе Radare2 
 +  * Поддержка консольного UI, curses-графики и даже веб-интерфейса 
 + 
 +===== Поддерживаемые форматы и архитектуры ===== 
 + 
 +  * **Форматы файлов**: ELF, PE, Mach-O, raw, BIOS, firmware, .dex, .apk и др. 
 +  * **Архитектуры**: 
 +    - x86 / x64 
 +    - ARM / ARM64 
 +    - MIPS / PowerPC 
 +    - RISC-V 
 +    - MSP430, AVR, SPARC и многие другие 
 + 
 +===== Платформы ===== 
 + 
 +  * Windows 
 +  * Linux 
 +  * macOS 
 +  * Android (через Termux) 
 +  * BSD, Solaris, и др. 
 + 
 +===== Компоненты и интерфейсы ===== 
 + 
 +  * **CLI-интерфейс** (основной) 
 +  * **Visual Mode** (графический TUI) 
 +  * **Cutter** — графическая оболочка с декомпилятором 
 +  * **WebUI** — веб-интерфейс на базе r2web 
 +  * **r2pipe** — взаимодействие с r2 через скриптовые языки (Python, Node.js, Go, Ruby, Rust) 
 + 
 +===== Расширение и автоматизация ===== 
 + 
 +  * Сотни команд с префиксами (`af`, `pdf`, `aa`, `s`, `VV`, `V!`, и др.) 
 +  * Скрипты на r2pipe (интерфейс к API radare2 из внешних языков) 
 +  * Плагины: дизассемблеры, отладчики, анализаторы 
 +  * Возможность написания своих плагинов (C, Python, V) 
 + 
 +===== Применение ===== 
 + 
 +  * Реверс-инжиниринг программ и прошивок 
 +  * Анализ вредоносного ПО 
 +  * Изучение неизвестных форматов и бинарей 
 +  * Отладка локальных и удалённых процессов 
 +  * Патчинг и модификация кода 
 +  * Исследовательские и CTF-задачи 
 + 
 +===== Cutter — графическая оболочка ===== 
 + 
 +  * Современный интерфейс (Qt) 
 +  * Построен поверх Radare2, полностью совместим 
 +  * Поддерживает дизассемблирование, CFG-графы, редактирование памяти, псевдокод 
 +  * Интеграция с **Decompiler RetDec** и другими средствами 
 + 
 +===== Сравнение с аналогами ===== 
 + 
 +^ Инструмент   ^ Архитектуры       ^ Декомпиляция ^ Отладка ^ Интерфейс ^ Расширяемость ^ Цена       ^ 
 +| Radare2      | Многоархитектурный| Да (ограничено) | Да      | CLI / TUI / Web | Да (r2pipe)     | Бесплатно 
 +| Ghidra       | Многоархитектурный| Да              | Да      | GUI             | Да              | Бесплатно 
 +| x64dbg       | x86 / x64         | Частично        | Да      | GUI             | Да              | Бесплатно 
 +| IDA Free     | x86 / x64         | Нет              | Да      | GUI             | Да              | Бесплатно 
 +| IDA Pro      | Многоархитектурный| Да              | Да      | GUI             | Да              | $$$        | 
 + 
 +===== Установка ===== 
 + 
 +  * Windows: через MSYS2, Chocolatey, Winget или официальный архив 
 +  * Linux: пакетный менеджер (`apt`, `pacman`, `dnf`) или компиляция из исходников 
 +  * macOS: `brew install radare2` 
 +  * Docker: `docker pull radareorg/radare2` 
 + 
 +===== Полезные команды (CLI) ===== 
 + 
 +  * `aa` — анализ всех функций 
 +  * `pdf @ main` — показать дизассемблированную функцию 
 +  * `VV` — граф вызовов 
 +  * `s <addr>` — перейти к адресу 
 +  * `wx <hex>` — записать байты 
 +  * `db <addr>` — установить breakpoint 
 +  * `dc` — продолжить исполнение 
 +  * `?` — помощь и поиск по командам 
 + 
 +===== Лицензия и распространение ===== 
 + 
 +  * Лицензия: GNU LGPL 
 +  * Открытый исходный код 
 +  * Поддержка и разработка: [https://rada.re/](https://rada.re/
 +  * GitHub: [https://github.com/radareorg/radare2](https://github.com/radareorg/radare2) 
 + 
 +===== Заключение ===== 
 + 
 +**Radare2** — мощная система для реверс-инжиниринга, гибкая и удобная для автоматизации, но требующая времени на освоение. В сочетании с Cutter предоставляет как CLI-, так и GUI-интерфейс, охватывая весь спектр задач анализа бинарных файлов. Отлично подходит для CTF, прошивок, исследования неизвестных архитектур и продвинутого использования в терминале. 
 + 
 +Рекомендуется для опытных пользователей, специалистов по безопасности и энтузиастов низкоуровневого анализа.
  
  • reverseenengineering/soft_radare2.1752817249.txt.gz
  • Последнее изменение: 2025/07/18 12:40
  • Lex