Это старая версия документа!
Полезные инструменты для Reverse Engineering
В процессе реверс-инжиниринга применяется множество утилит: дизассемблеры, отладчики, хекс-редакторы, анализаторы, системы сравнения и инструменты автоматизации. Ниже представлен список основных утилит с кратким описанием.
Анализаторы и дизассемблеры
- IDA Pro — Интерактивный дизассемблер с декомпиляцией, графом вызовов и скриптингом.
- Ghidra — Бесплатный фреймворк от NSA для анализа бинарей и декомпиляции (GUI + CLI).
- Radare2 / rizin / Cutter — Консольный дизассемблер с графическим интерфейсом (Cutter).
- Binary Ninja — Коммерческий инструмент с хорошей декомпиляцией и API на Python.
- Capstone + Keystone — Дизассемблер + ассемблер для создания собственных утилит.
Отладчики
- x64dbg — Мощный отладчик для Windows PE-файлов (32/64-бит), с плагинами и скриптами.
- OllyDbg — Легендарный отладчик для Win32. Устарел, но всё ещё полезен.
- WinDbg — Отладчик от Microsoft, идеально подходит для анализа драйверов и ядра.
- Immunity Debugger — На базе OllyDbg, расширен для задач безопасности и эксплойтов.
- GDB — GNU отладчик для ELF, ELF64 и многого другого, консольный, но мощный.
Хекс-редакторы и анализаторы данных
- Hex Editor Neo — Коммерческий HEX-редактор с поддержкой скриптов и шаблонов.
- 010 Editor — HEX-редактор с шаблонами бинарных структур (Binary Templates).
- HxD — Бесплатный и лёгкий HEX-редактор с поддержкой дисков и RAM.
- CFF Explorer — Утилита для анализа PE-заголовков, импорта и секций.
- Detect It Easy (DIE) — Определение компиляторов, упаковщиков и оболочек.
Декомпиляторы и инструменты анализа кода
- RetDec — Онлайн-декомпилятор от Avast, также есть CLI.
- Snowman — Статический декомпилятор для x86/x64.
- Jadx / JADX GUI — Декомпилятор Android APK/Dex в Java-код.
- ILSpy — .NET-декомпилятор (C#, VB, IL) с GUI.
- dnSpyEx / dnSpy — Мощный .NET редактор и отладчик.
Организация и автоматизация
- Cutter — GUI к Radare2/Rizin, упрощает анализ и визуализацию.
- Frida — Динамический инструмент для анализа и инжекции кода в рантайме.
- xAnalyzer — Плагин для x64dbg и IDA, упрощает анализ фрагментов кода.
- BinDiff / Diaphora — Инструменты сравнения бинарников (аналог текстового diff).
- GhidraBridge — Интеграция Ghidra с Python-скриптами и IDE.
- Python + PyQt / IDAPython / Ghidra scripts — Автоматизация анализа.
Упаковщики / Обфускаторы / Деобфускаторы
- UPX — Универсальный упаковщик исполняемых файлов.
- Exeinfo PE — Определяет упаковку, секции, стартовый код.
- Unpacker.me / PEiD / DIE — Детектирование упаковщиков, сигнатур и шифрования.
Другие вспомогательные утилиты
- Process Hacker / Process Explorer — Отслеживание процессов и хендлов.
- Resource Hacker — Просмотр и редактирование ресурсов PE.
- PE-bear — Анализ PE-файлов с визуализацией, хороший альтернативный GUI.
- Strings — Поиск строк в бинарниках (есть версия от SysInternals).
- Dependency Walker — Проверка зависимостей и импортов PE-файлов.
Онлайн-сервисы
- RetDec — онлайн-декомпилятор
- Compiler Explorer — сравнение компиляторов и вывод ASM
- Unpac.Me — автоматическая распаковка PE-файлов
Полезные пакеты и фреймворки
- Angr — Анализ путей исполнения, symbolic execution (Python).
- Z3 Solver — SMT-решатель от Microsoft, применим в анализе условий.
- Unicorn Engine — Эмулятор CPU, часто используется вместе с Frida/Angr.
Заключение
Для эффективной работы реверс-инженера рекомендуется освоить как минимум один дизассемблер (IDA или Ghidra), один отладчик (x64dbg или WinDbg), и один HEX-редактор. Остальные утилиты — в помощь для более глубокого анализа, автоматизации и удобства.