Это старая версия документа!
Программное обеспечение
Отладчики
x64dbg/x32dbg
x64dbg и x32dbg — это отладчики с открытым исходным кодом для 64-битных и 32-битных Windows-приложений соответственно.
Плюсы:
- Удобный графический интерфейс
- Активное сообщество и регулярные обновления
- Поддержка плагинов
- Расширенные функции скриптинга (xAnalyzer, ScyllaHide и т.д.)
Минусы:
- Только для Windows
- Может быть менее мощным для анализа сложных обфусцированных исполняемых файлов по сравнению с IDA Pro
Лучше всего подходит для:
- Отладки PE-файлов
- Реверс-инжиниринга вредоносных программ
- Патчинга исполняемых файлов
OllyDbg
OllyDbg — классический 32-битный отладчик для Windows.
Плюсы:
- Простота использования
- Хорошо подходит для начинающих
- Большое количество плагинов
Минусы:
- Нет поддержки 64-битных приложений
- Проект устарел, давно не обновлялся
- Ограниченные возможности по сравнению с современными отладчиками
Лучше всего подходит для:
- Обучения отладке
- Реверса старого 32-битного ПО
IDA Pro
IDA Pro — один из самых мощных коммерческих дизассемблеров с функцией отладки.
Плюсы:
- Мощный статический анализатор
- Поддержка множества архитектур и форматов
- Встроенный отладчик
- Интерактивная диаграмма потоков управления
Минусы:
- Высокая стоимость лицензии
- Сложный интерфейс для новичков
- Ограничения демо-версии
Лучше всего подходит для:
- Глубокого статического анализа
- Реверс-инжиниринга сложного ПО и прошивок
- Анализа вредоносного ПО
RADARE2
RADARE2 — мощный кроссплатформенный фреймворк для анализа бинарных файлов.
Плюсы:
- Кроссплатформенность (Linux, Windows, macOS)
- Поддержка множества архитектур
- Скриптуемость (ESIL, r2pipe)
- Поддержка анализа прошивок
Минусы:
- Высокий порог входа, сложный интерфейс
- Отсутствие полноценного GUI (только r2ghidra и Cutter)
Лучше всего подходит для:
- Анализа нестандартных форматов и платформ
- Автоматизации реверса
- Проектов с открытым исходным кодом
GHIDRA
GHIDRA — бесплатный инструмент от NSA для обратного инжиниринга.
Плюсы:
- Бесплатная и мощная альтернатива IDA Pro
- Поддержка различных платформ и форматов
- Встроенный декомпилятор
- Скриптуемость на Java и Python
Минусы:
- Меньше готовых плагинов по сравнению с IDA
- Более медленная работа на больших проектах
- GUI может быть неудобным для некоторых задач
Лучше всего подходит для:
- Статического анализа
- Декомпиляции бинарных файлов
- Обучения реверс-инжинирингу
Сканеры ресурсов
Программы, предназначенные для извлечения ресурсов (иконок, строк, изображений, диалогов) из исполняемых файлов.
Resource Hacker
Плюсы:
- Простой интерфейс
- Позволяет изменять ресурсы напрямую
- Поддержка как .exe, так и .dll
Минусы:
- Только Windows
- Не поддерживает некоторые нестандартные форматы
Лучше всего подходит для:
- Модификации GUI-элементов программ
- Извлечения ресурсов
PE Explorer
Плюсы:
- Анализ PE-структуры
- Интеграция дизассемблера
- Хорошая поддержка ресурсов
Минусы:
- Платный
- Устаревший интерфейс
Лучше всего подходит для:
- Изучения структуры PE-файлов
- Редактирования и анализа ресурсов
Граберы
Инструменты для перехвата и извлечения данных, таких как логины, ключи и сетевой трафик.
Wireshark
Плюсы:
- Поддержка множества сетевых протоколов
- Фильтрация и анализ трафика в реальном времени
- Расширяемость с помощью плагинов
Минусы:
- Требует знаний сетевых протоколов
- Не все шифрованные протоколы можно расшифровать
Лучше всего подходит для:
- Сниффинга трафика
- Анализа сетевой безопасности
WebBrowserPassView / Mail PassView
Плюсы:
- Мгновенный доступ к сохранённым паролям
- Поддержка большинства популярных браузеров и клиентов
Минусы:
- Распознается антивирусами как потенциально вредоносное ПО
- Не работает при шифровании профиля пользователя
Лучше всего подходит для:
- Восстановления забытых паролей
- Анализа скомпрометированных систем
Анализаторы
Программы, выполняющие статический или динамический анализ кода, структуры или поведения файлов.
CFF Explorer
Плюсы:
- Удобная работа с PE-заголовками
- Интеграция с PE-дизассемблером
- Возможность модификации структур PE
Минусы:
- Устаревший интерфейс
- Не подходит для глубокой отладки
Лучше всего подходит для:
- Изучения структуры исполняемых файлов
- Модификации импортов и заголовков
Detect It Easy (DIE)
Плюсы:
- Определение компиляторов, упаковщиков
- Расширяемая сигнатурная база
Минусы:
- Только статический анализ
- Возможны ложные срабатывания
Лучше всего подходит для:
- Быстрого определения типа файла
- Анализа защиты файлов
Pestudio
Плюсы:
- Автоматический анализ подозрительных характеристик
- Интеграция с VirusTotal и другими сервисами
Минусы:
- Нет динамического анализа
- Закрытый исходный код
Лучше всего подходит для:
- Малварного анализа
- Предварительного сканирования перед реверсом
Эмуляторы
Позволяют запускать или анализировать поведение исполняемых файлов в изолированной или эмулируемой среде. Часто используются для анализа вредоносного ПО и отладки.
QEMU
Плюсы:
- Поддержка множества архитектур (x86, ARM, MIPS, RISC-V и др.)
- Возможность запуска образов ОС
- Используется в связке с GDB для отладки
Минусы:
- Сложность настройки
- Менее удобен для Windows-приложений
Лучше всего подходит для:
- Эмуляции нестандартных или встраиваемых систем
- Отладки low-level кода (прошивки, ядро)
Bochs
Плюсы:
- Аппаратная эмуляция на уровне инструкций CPU
- Поддержка отладки и трассировки инструкций
Минусы:
- Медленная работа
- Ограниченные возможности по сравнению с QEMU
Лучше всего подходит для:
- Отладки загрузчиков и низкоуровневого кода
- Эмуляции старых x86-систем
Unicorn Engine
Плюсы:
- Быстрая и лёгкая интеграция
- Скриптуемость на Python, C и др.
- Поддержка нескольких архитектур
Минусы:
- Только эмуляция CPU (без ОС и API)
- Требует ручной загрузки данных/регистров
Лучше всего подходит для:
- Частичной эмуляции фрагментов бинарного кода
- Эмуляции shell-кода и вредоносных инструкций
Декомпиляторы
Инструменты, преобразующие машинный код в псевдокод высокого уровня для лучшего понимания логики программы.
RetDec
Плюсы:
- Open Source
- Поддержка множества форматов (PE, ELF, Mach-O)
- Интеграция с IDA и Ghidra
Минусы:
- Псевдокод часто содержит лишние конструкции
- Нет полноценного GUI
Лучше всего подходит для:
- Декомпиляции редких форматов
- Образовательных и исследовательских задач
JEB Decompiler
Плюсы:
- Поддержка Android, Java и native кода
- Прекрасный GUI
- Поддержка obfuscation-aware анализа
Минусы:
- Платный (дорогая лицензия)
- Требует регистрации
Лучше всего подходит для:
- Анализа Android-приложений и DEX-файлов
- Обратного инжиниринга Java-кода
Инструменты упаковки/распаковки
UPX
Плюсы:
- Высокая степень сжатия
- Поддержка множества форматов (PE, ELF, Mach-O)
- Возможность распаковки
Минусы:
- Легко обнаруживается защитными средствами
- Простота обхода
Лучше всего подходит для:
- Минимизации размера файлов
- Тестирования unpacking-рутин в анализе вредоносного ПО
MPRESS, ASPack, Themida (коммерческие)
Плюсы:
- Защита от реверс-инжиниринга и анализа
- Встроенные анти-дизассемблерные техники
Минусы:
- Трудности при отладке/анализе
- Может вызывать ложные срабатывания антивирусов
Лучше всего подходит для:
- Защиты авторского ПО
- Усложнения анализа вредоносного кода
Мониторинг API
API Monitor
Плюсы:
- Перехват WinAPI и COM-вызовов в реальном времени
- Настраиваемые фильтры
- Возможность перехвата параметров и возвращаемых значений
Минусы:
- Только для Windows
- Ограниченная автоматизация
Лучше всего подходит для:
- Анализа поведения исполняемых файлов
- Поиска точек входа для отладки
Procmon (Sysinternals)
Плюсы:
- Логгирование всех файловых, реестровых и сетевых операций
- Гибкая фильтрация событий
Минусы:
- Много лишнего шума
- Нет возможности детальной трассировки кода
Лучше всего подходит для:
- Поведенческого анализа ПО
- Обнаружения следов активности малвари
Инструменты анти-анализа
Техники и утилиты, используемые для защиты программ от анализа, отладки и реверс-инжиниринга.
ScyllaHide (для x64dbg)
Плюсы:
- Скрытие от отладчиков
- Обход анти-отладочных проверок
Минусы:
- Требует настройки
- Может быть несовместим с некоторыми конфигурациями
Лучше всего подходит для:
- Обхода защит в процессе отладки
- Анализа защищённых бинарников
VMProtect / Enigma Protector / Themida (анализируемые)
Плюсы:
- Используют виртуализацию инструкций
- Противодействуют статическому и динамическому анализу
Минусы:
- Сложны для реверса
- Часто требуют написания собственных распаковщиков/декодеров
Лучше всего подходит для:
- Обучения анти-анализу
- Анализа сложных вредоносных образцов
Pafish (для песочниц и анализаторов)
Плюсы:
- Проверяет наличие виртуализации, отладчиков, хуков
- Используется как тест для песочниц и sandboxes
Минусы:
- Не защищает, а проверяет окружение
Лучше всего подходит для:
- Анализа среды исполнения
- Тестирования эффективности анти-анализов