Обратный инжиниринг когда-то требовал либо пятизначной лицензии IDA Pro, либо многих лет ручного чтения ассемблера. Ни то, ни другое уже не совсем верно. Недавно исследователь использовал Qwen3-VL 27B, модель, достаточно компактную для запуска на одном потребительском GPU, для решения задачи обратного инжиниринга прошивки и завершил её за 30 минут — работу, которая по предположениям требовала пограничной модели. Этот сдвиг важен, потому что узким местом было не искусственный интеллект. Это был инструмент: дизассемблер, который преобразует машинный код в читаемый вид, декомпилятор, который преобразует его в псевдокод C, и отладчик, который позволяет исследователю пошагово наблюдать выполнение бинарного файла. Это руководство охватывает лучшие приложения для обратного инжиниринга на компьютере прямо сейчас, от бесплатных наборов, созданных NSA, до платных инструментов, предназначенных для профессионального анализа вредоноса, чтобы любая локальная модель, выполняющая основную работу, имела что-то стоящее для обработки.
На что обратить внимание при выборе инструмента обратного инжиниринга
Не каждый инструмент подходит для каждой задачи. Перед выбором одного инструмента взвесьте эти критерии против бинарных файлов перед вами.
- Качество декомпилятора. Дизассемблер показывает сырой ассемблер; декомпилятор восстанавливает читаемый псевдокод, похожий на C. Разница между посредственным и хорошим декомпилятором — это разница между одной ночью работы и неделей.
- Поддержка архитектуры. x86 и ARM охватывают большинство целей на компьютерах и мобильных устройствах, но работа с прошивками часто требует MIPS, PowerPC, RISC-V или более экзотические встроенные ядра.
- Scripting API. Python или аналогичный API для пакетной обработки функций, разметки структур и автоматизации повторяющегося анализа во многих бинарных файлах или семействах вредоноса.
- Совместные функции. Общие проекты, синхронизированные аннотации и история версий важны для команд, работающих с одним образцом.
- Активная разработка. Цели обратного инжиниринга постоянно меняются (новые обфускаторы, новые наборы инструкций, новые форматы файлов); инструмент, который не выпускал обновления много лет, быстро отстаёт.
- Экосистема плагинов. Большое сообщество означает более быструю поддержку новых форматов и более короткий список задач, которые вам нужно написать самостоятельно.
Быстрое сравнение
| Приложение | Лучше всего для | Платформы | Бесплатный план | Начальная цена | Лицензия |
|---|---|---|---|---|---|
| Ghidra | Лучший бесплатный декомпилятор в целом | Windows, macOS, Linux | Да, полнофункциональная | Бесплатно | Open source |
| IDA Free | Попробовать рабочий процесс IDA | Windows, macOS, Linux | Да, только x86/x64 | Бесплатно (IDA Pro по пользовательским ценам) | Commercial (free tier) |
| Binary Ninja | Рабочие процессы, ориентированные на scripting | Windows, macOS, Linux | Да, Binary Ninja Cloud | $199/год (некоммерческое) | Commercial |
| Cutter | GUI поверх Rizin | Windows, macOS, Linux | Да, полнофункциональная | Бесплатно | Open source |
| radare2 | Анализ, ориентированный на терминал и сценарии | Windows, macOS, Linux | Да, полнофункциональная | Бесплатно | Open source |
| Hopper Disassembler | Mach-O и ELF с ограниченным бюджетом | macOS, Linux | Нет, только пробная версия | Около $99 (однопользовательская, одноразовая) | Commercial |
| x64dbg | Отладка Windows PE | Windows | Да, полнофункциональная | Бесплатно | Open source |
| ILSpy | Декомпиляция .NET сборок | Windows, macOS, Linux | Да, полнофункциональная | Бесплатно | Open source |
8 лучших приложений для обратного инжиниринга на компьютере
1. Ghidra -- Лучший бесплатный декомпилятор в целом
Ghidra — это набор инструментов обратного инжиниринга NSA, открытых в 2019 году и по-прежнему рекомендуемый по умолчанию для всех, кто впервые занимается обратным инжинирингом. Он дизассемблирует и декомпилирует бинарные файлы на десятках архитектур процессоров, поставляется с работающим API сценариев Python и Java через PyGhidra и обрабатывает многогигабайтные образы прошивок без проблем с памятью, которые были в старых бесплатных инструментах. Последние выпуски добавили отладку на уровне ядра, эмулятор p-code и интеграцию Visual Studio Code, сокращая много пробелов с платными альтернативами.
Где он отстаёт: Интерфейс всё ещё показывает свои корни Java-Swing, и декомпилятор иногда производит более беспорядочный псевдокод, чем IDA Pro на сильно обфускированном коде.
Цена: Бесплатно, open source.
Платформы: Windows, macOS, Linux.
Загрузка: NSA / Ghidra project
Итоговая оценка: Отправная точка для почти всех, и достаточно хороша, чтобы остаться единственным инструментом, который нужен большинству любителей.
2. IDA Free -- Лучше всего для изучения стандартного рабочего процесса в отрасли
IDA Free — это бесплатный выпуск IDA от Hex-Rays, дизассемблер, который профессиональные аналитики вредоноса по-прежнему используют как мерило для всего остального. Он охватывает бинарные файлы x86 и x64 для некоммерческого использования, отставая от платной версии на несколько поколений выпусков, но сохраняя те же соглашения интерфейса основного дизассемблирующего двигателя, которые появляются почти во всех объявлениях о работе в обратном инжиниринге.
Где он отстаёт: Ограничен x86/x64, не имеет декомпилятора Hex-Rays и не может использоваться в коммерческих целях. Переход на IDA Home (около $365/год, одно семейство процессоров) или IDA Pro (цены на основе подписки) — это большой скачок в цене.
Цена: Бесплатно (некоммерческое); IDA Home от примерно $365/год; IDA Pro рассчитывается по запросу.
Платформы: Windows, macOS, Linux.
Загрузка: Hex-Rays
Итоговая оценка: Стоит установить просто для изучения соглашений интерфейса, используемых во всей отрасли, даже для читателей, которые будут выполнять свою фактическую работу в Ghidra.
3. Binary Ninja -- Лучше всего для написания сценариев и командной работы
Binary Ninja построен на основе собственного промежуточного языка (BNIL), который делает написание сценариев анализа значительно менее болезненным, чем работа непосредственно с сырым дизассемблем. Vector 35 снизила некоммерческую лицензию до $199 с выпуском версии 6.0, и Binary Ninja Cloud предлагает бесплатный, основанный на браузере, совместный вариант для аналитиков, которые хотят обмениваться аннотациями на образце в реальном времени без локальной установки.
Где она отстаёт: Коммерческая лицензия работает в четырёхзначные числа, а полное покрытие архитектуры зависит от плагинов, а не поставляется в коробке, как у Ghidra.
Цена: Некоммерческая лицензия $199 (в один раз, включает год обновлений); коммерческая лицензия примерно $1499; Binary Ninja Cloud бесплатно.
Платформы: Windows, macOS, Linux.
Загрузка: Vector 35
Итоговая оценка: Выбор для всех, кто планирует писать пользовательские сценарии анализа, а не кликать по GUI.
4. Cutter -- Лучше всего бесплатный GUI для тех, кто боится CLI
Cutter оборачивает графический интерфейс на основе Qt вокруг фреймворка обратного инжиниринга, построенного теми же разработчиками, которые покинули radare2, чтобы основать Rizin. С версии 2.0 он работает на бэкенде Rizin и поставляется с декомпилятором, полученным от Ghidra, предоставляя представления графиков, шестнадцатеричный редактор и анализ функций без прикосновения к командной строке.
Где он отстаёт: Менее отполирован, чем новые проходы пользовательского интерфейса Ghidra, и некоторые продвинутые команды radare2/Rizin легче доступны из терминала, чем из меню Cutter.
Цена: Бесплатно, open source.
Платформы: Windows, macOS, Linux.
Загрузка: Rizin project
Итоговая оценка: Правильная отправная точка для тех, кто хочет мощь семейства radare2 без необходимости изучать его синтаксис команд.
5. radare2 -- Лучше всего для анализа, ориентированного на терминал и сценарии
radare2 — это фреймворк обратного инжиниринга командной строки, который рассматривает каждый бинарный файл как нечто, что нужно запрашивать, писать сценарии и передавать через команды в стиле Unix. Он охватывает необычно широкий спектр архитектур и форматов файлов, встраивается непосредственно в рабочие процессы оболочки и создал экосистему сценариев и плагинов, построенных более чем за десятилетие исследователями безопасности.
Где он отстаёт: Синтаксис команд печально известно плотный, и кривая обучения достаточно крутая, что большинство новичков начинают с Cutter.
Цена: Бесплатно, open source.
Платформы: Windows, macOS, Linux.
Загрузка: radare2 project
Итоговая оценка: Построен для людей, которые уже живут в терминале и хотят, чтобы обратный инжиниринг работал так же.
6. Hopper Disassembler -- Лучше всего для Mach-O и ELF с ограниченным бюджетом
Hopper — это коммерческий дизассемблер и декомпилятор, построенный специально для macOS и Linux, с особой силой в анализе бинарных файлов Mach-O, чем инструменты, ориентированные на Windows, обрабатывают менее элегантно. Включает графический вид потока управления, написание сценариев Python и встроенную отладку LLDB и GDB за небольшую часть того, что стоит коммерческий уровень IDA Pro или Binary Ninja.
Где она отстаёт: Нет сборки для Windows, и качество декомпилятора отстаёт от Ghidra и IDA Pro на сложном или обфускированном коде.
Цена: Однопользовательская лицензия около $99, покупка один раз.
Платформы: macOS, Linux.
Загрузка: Cryptic Apps
Итоговая оценка: Самый доступный коммерческий вариант для аналитика на Mac, который в основном работает с бинарными файлами Apple или Linux.
7. x64dbg -- Лучше всего для отладки Windows
x64dbg — это выделенный отладчик с открытым исходным кодом для исполняемых файлов Windows, построенный для трассировки выполнения, установки точек останова и проверки памяти в бинарных файлах x86 и x64 PE. Он поставляется с представлением графика потока управления, двигателем сценариев и системой плагинов, которую сообщество анализа вредоноса использовало для установки помощников распаковки, трюков anti-anti-debug и расширений конкретного формата.
Где он отстаёт: Это отладчик, а не полный дизассемблер или декомпилятор, поэтому большинство рабочих процессов сначала сочетают его с Ghidra или IDA для статического анализа.
Цена: Бесплатно, open source (GPLv3).
Платформы: Windows.
Загрузка: x64dbg project
Итоговая оценка: Выбор по умолчанию для живой отладки бинарного файла Windows, используется вместе с инструментом статического анализа, а не вместо одного.
8. ILSpy -- Лучше всего для декомпиляции сборок .NET
ILSpy — это декомпилятор с открытым исходным кодом, специально созданный для сборок .NET, который преобразует откомпилированные бинарные файлы C# и VB.NET обратно в читаемый исходный код с декомпиляцией всего проекта, навигацией по типам и методам, а также поддержкой всего, от .NET Framework через .NET 10. Это инструмент, на котором основана собственная функция Visual Studio «Go To Decompiled Source», и он работает кроссплатформенно через Avalonia, а не заблокирован на Windows.
Где он отстаёт: Он читает и декомпилирует сборки, но не подключает живой отладчик так, как это делает поддерживаемая сообществом ветка dnSpyEx; используйте оба вместе, когда проекту требуется оба.
Цена: Бесплатно, open source.
Платформы: Windows, macOS, Linux.
Загрузка: ILSpy project
Итоговая оценка: Инструмент, к которому нужно обратиться в тот момент, когда цель окажется сборкой .NET, а не собственным кодом.
Как выбрать правильный инструмент
Если читатель хочет лучший бесплатный декомпилятор без каких-либо условий: Ghidra. Он охватывает больше архитектур из коробки, чем что-либо в этом списке, и ничего не стоит.
Если работа связана с сборками .NET: ILSpy, в сочетании с dnSpyEx, когда наряду с декомпиляцией требуется живая отладка.
Если читатель хочет написать пользовательские сценарии анализа против чистого промежуточного представления: Binary Ninja, стоит $199 некоммерческой лицензии в тот момент, когда BNIL сэкономит часы ручного написания сценариев.
Если целью является бинарный файл Mach-O на macOS и бюджет важен: Hopper Disassembler, за небольшую часть стоимости IDA Pro.
Если задача — живая отладка Windows: x64dbg, в сочетании с Ghidra или IDA Free для статической стороны.
Если читатель хочет охват архитектур radare2 без необходимости запоминать его синтаксис команд: Cutter.
Если читатель учится в этой области и хочет узнать, как выглядит инструмент профессионала: IDA Free, даже с его ограничением только x86/x64.
FAQ
Какой лучший бесплатный инструмент для обратного инжиниринга?
Ghidra — лучший бесплатный вариант для большинства людей. Он охватывает больше архитектур процессоров, чем IDA Free, включает полный декомпилятор без каких-либо затрат и получает регулярные обновления от команды Ghidra NSA и большой базы участников с открытым исходным кодом.
Стоит ли платить за IDA Pro?
Для профессионального анализа вредоноса и исследования уязвимостей — да: его декомпилятор и библиотека модулей процессоров остаются мерилом, по которому измеряется остальная часть поля. Для любительского или случайного использования Ghidra охватывает большую часть той же земли бесплатно.
Могут ли локальные модели AI действительно помочь с обратным инжинирингом сейчас?
Да, для растущей доли задач. Среднеразмерные модели с открытым весом, работающие локально, теперь могут обрабатывать распаковку прошивок и работы по сортировке бинарных файлов, которые когда-то требовали гораздо более крупной, облачной модели, особенно в сочетании с чистым выходом псевдокода декомпилятора, а не сырым ассемблером.
В чём разница между дизассемблером и декомпилятором?
Дизассемблер преобразует машинный код в инструкции сборки, довольно механический, безвредный перевод. Декомпилятор идёт дальше и восстанавливает более высокоуровневый, подобный C, псевдокод с переменными, циклами и вызовами функций, который намного быстрее читать, но включает в себя инструмент, делающий образованные предположения о структуре исходного кода.
Работают ли инструменты обратного инжиниринга на ARM и прошивках, а не только на x86?
Ghidra, Binary Ninja и radare2 все поддерживают ARM, MIPS и длинный список встроенных архитектур, распространённых в прошивках, что делает их правильным выбором для анализа прошивок маршрутизаторов, IoT или встроенных устройств. IDA Free и Hopper более ограничены, сосредоточены в основном на x86/x64 и Mach-O/ELF соответственно.
Какой инструмент обратного инжиниринга используют большинство аналитиков вредоноса?
IDA Pro остаётся наиболее распространённым выбором в профессиональных командах анализа вредоноса, с Ghidra в качестве стандартной бесплатной альтернативы и Binary Ninja, набирающей популярность для команд, которые много пишут сценарии. Большинство аналитиков держат установленным более одного и переключаются в зависимости от образца.