Реверс-инжиниринг с ИИ: 18 GitHub-проектов и два приёма

REA, Ghidra, JADX, Frida, radare2 и другие средства для анализа программ с ИИ-агентом. Разбираем 18 репозиториев и два метода проверки.

Чтобы разобраться в готовой программе, нужно не только спросить ИИ, что делает файл. Анализатор показывает структуру, декомпилятор восстанавливает читаемое представление кода, отладчик помогает наблюдать за работой приложения, а инструменты для сети фиксируют его запросы. ИИ-агент связывает эти данные и помогает проверять гипотезы. О том, как работает REA, мы уже писали в отдельной статье.

В подборке — 20 пунктов, но это не 20 самостоятельных программ: 18 пунктов ведут на GitHub-репозитории, а два последних описывают встроенные рабочие инструкции REA и способ проверять реконструкцию по эталонному поведению. Проекты решают разные задачи, а некоторые требуют отдельного коммерческого ПО. Ни один из них не превращает ИИ в универсальный автоматический декомпилятор.

Содержание
  1. 01. Базовые средства анализа
  2. REA: связать анализаторы с ИИ-агентом
  3. Ghidra: разобрать исполняемый файл
  4. GhidraMCP: дать агенту доступ к Ghidra
  5. IDA Pro MCP: подключить агента к IDA
  6. 02. Android и приложения на .NET
  7. JADX: изучить содержимое Android-приложения
  8. Apktool: разобрать ресурсы и манифест APK
  9. Frida: наблюдать за приложением во время работы
  10. ILSpy: читать .NET-сборки
  11. 03. Бинарные файлы и низкоуровневый анализ
  12. radare2: набор инструментов в командной строке
  13. x64dbg: отлаживать программы Windows
  14. ImHex: изучать бинарные данные в шестнадцатеричном редакторе
  15. angr: исследовать возможные пути исполнения
  16. 04. Сетевой трафик и отладка во время работы
  17. mitmproxy: исследовать HTTP-трафик
  18. dnSpyEx: отлаживать и изучать .NET-программы
  19. Rizin: альтернатива radare2
  20. RAD Debugger: ещё один графический отладчик
  21. 05. Каталоги и два рабочих приёма
  22. Awesome AI Reverse Engineering: найти интеграции для ИИ
  23. Awesome Reverse Engineering: выбрать средство под задачу
  24. Рабочие инструкции REA: задать агенту последовательность действий
  25. Цикл реконструкции: спецификация, эталон и повторная проверка
  26. Как выбрать связку для своей задачи
  27. Границы доступа и конфиденциальность

01. Базовые средства анализа

REA: связать анализаторы с ИИ-агентом

REA предоставляет интерфейс MCP и командную строку для исследования программ, бинарных файлов, Android-пакетов, .NET-сборок, сайтов и других артефактов. Вместо того чтобы самому разбирать каждый файл, агент вызывает подходящие средства анализа, а REA возвращает наблюдения, доказательства и ограничения. Для нативных бинарников понадобится совместимый анализатор, например Ghidra, Hopper или IDA; REA не заменяет их. Подробности есть на нашей странице REA. В официальном репозитории стартовая настройка предлагается командой npx rea-agents setup.

Ghidra: разобрать исполняемый файл

Бесплатная платформа обратной разработки от Агентства национальной безопасности США. Она умеет анализировать машинный код, показывать инструкции и связи между функциями, а также строить приближённое представление исходного кода. Это один из базовых вариантов для изучения программ, когда исходников нет. У нас есть отдельная страница о Ghidra.

GhidraMCP: дать агенту доступ к Ghidra

Сервер MCP сообщества LaurieWired, который связывает ИИ-клиент с функциями Ghidra: агент может запрашивать сведения о коде и использовать результаты анализа. Для работы требуются сама Ghidra и настроенный MCP-клиент. Это отдельная интеграция сообщества, а не официальный компонент Агентства национальной безопасности.

IDA Pro MCP: подключить агента к IDA

Репозиторий mrexodia открывает ИИ-агенту доступ к анализу в IDA. Важно учитывать актуальное примечание самого автора: он рекомендует официальный сервер MCP от Hex-Rays и предупреждает, что его собственный плагин может быть снят с поддержки. IDA — отдельный продукт со своими требованиями и лицензией; установка MCP-сервера её не заменяет.

02. Android и приложения на .NET

JADX: изучить содержимое Android-приложения

Открывает APK и DEX-файлы и восстанавливает из байткода Java-подобное представление. С ним можно изучать структуру приложения и искать нужные классы и строки. Это не исходный проект разработчика: имена и часть деталей могли потеряться при компиляции и обфускации.

Apktool: разобрать ресурсы и манифест APK

Распаковывает ресурсы Android-приложения, показывает манифест и представление байткода Smali; может собрать пакет обратно после изменений. В паре с JADX помогает смотреть и на код, и на ресурсы. Пересборка не означает, что приложение автоматически сохранит исходную подпись или будет работать как оригинал.

Frida: наблюдать за приложением во время работы

Набор средств динамической инструментализации: позволяет исследователю наблюдать за поведением процесса и исследовать его во время выполнения. Это дополняет статический разбор, когда по одному файлу нельзя понять, что происходит при запуске. Такие эксперименты могут влиять на работающий процесс и затрагивать чувствительные данные, поэтому их проводят только на собственных приложениях или с разрешением владельца.

ILSpy: читать .NET-сборки

Кроссплатформенный обозреватель и декомпилятор .NET-программ с графическим интерфейсом и командной строкой. Он подходит для изучения структуры сборки и восстановления человекочитаемого представления кода. Как и другие декомпиляторы, не гарантирует точного восстановления исходников.

03. Бинарные файлы и низкоуровневый анализ

radare2: набор инструментов в командной строке

Открытый инструментарий для анализа и изменения исполняемых файлов, дизассемблирования, отладки и работы с форматами. Его сильная сторона — сценарии и автоматизация из терминала. Интерфейс и команды требуют привыкания, поэтому новичкам часто удобнее начать с Ghidra.

x64dbg: отлаживать программы Windows

Графический отладчик пользовательских программ для Windows, ориентированный на архитектуры x64 и x86. Он позволяет пошагово наблюдать выполнение и состояние программы. Это инструмент для интерактивного исследования, а не автоматическая система, которая сама объяснит любой бинарник.

ImHex: изучать бинарные данные в шестнадцатеричном редакторе

Редактор для анализа файлов на уровне байтов. Его язык шаблонов помогает описывать структуру формата и подсвечивать найденные поля. Такой подход полезен, если нужно понять внутреннее устройство файла или проверить, где именно в нём хранятся данные.

angr: исследовать возможные пути исполнения

Платформа анализа бинарных программ на Python, в том числе с помощью символьного исполнения. Вместо одного набора входных данных исследователь может задавать условия для целых классов значений и изучать, какие ветви программы при этом достижимы. Для применения angr обычно нужны навыки программирования и понимание ограничений такого анализа.

04. Сетевой трафик и отладка во время работы

mitmproxy: исследовать HTTP-трафик

Интерактивный прокси для просмотра и анализа сетевых запросов и ответов. Он помогает понять, как ваше приложение общается с сервером, и проверять интеграции в тестовой среде. Перехваченные данные могут содержать токены, персональную информацию и другие секреты; используйте его только на трафике, который вправе анализировать, и защищайте сохранённые записи.

dnSpyEx: отлаживать и изучать .NET-программы

Продолжение проекта dnSpy — графический инструмент для просмотра .NET-сборок, отладки и редактирования. В отличие от ILSpy, который прежде всего известен как обозреватель и декомпилятор, dnSpyEx делает акцент и на интерактивной отладке. Проверьте совместимость с нужной версией .NET и статус проекта перед использованием.

Rizin: альтернатива radare2

Развиваемая отдельно ветвь экосистемы radare2 с собственным набором команд и интерфейсов. Как и radare2, Rizin работает с бинарными форматами, дизассемблированием и отладкой. Это не дополнительный обязательный слой поверх radare2: обычно выбирают ту систему, с которой удобнее работать и для которой доступны нужные расширения.

RAD Debugger: ещё один графический отладчик

Нативный многопроцессный отладчик от Epic Games. Проект находится в стадии альфа-версии; в README заявлена поддержка локальной отладки x64 в Windows и Linux, причём Linux обозначен как ранняя поддержка. Его стоит рассматривать как активно развиваемый экспериментальный инструмент, а не универсальную замену зрелым отладчикам.

05. Каталоги и два рабочих приёма

Awesome AI Reverse Engineering: найти интеграции для ИИ

Подборка MCP-серверов, плагинов и навыков для работы ИИ-агентов с Ghidra, IDA, JADX и другими средствами. Это каталог для поиска, а не сертификат безопасности: проверяйте документацию, лицензию и команды установки каждого проекта отдельно.

Awesome Reverse Engineering: выбрать средство под задачу

Более широкая подборка средств и учебных материалов для анализа программ, форматов файлов, прошивок и протоколов. В ней отмечены коммерческие продукты, поэтому открытый исходный код и бесплатное использование нельзя предполагать для каждого пункта.

Рабочие инструкции REA: задать агенту последовательность действий

В документации REA есть инструкции для отдельных типов анализа, а настройка может подключить их вместе с MCP-сервером. Они помогают агенту выбирать подходящие инструменты и объяснять выводы с опорой на собранные свидетельства. Это часть проекта REA, а не ещё один отдельный репозиторий.

Цикл реконструкции: спецификация, эталон и повторная проверка

Если задача — восстановить разрешённое поведение приложения, сначала описывают наблюдаемые функции в спецификации, затем сравнивают свою реализацию с эталонными примерами или тестами — «оракулом». Несовпадения становятся поводом уточнить описание и повторить проверку. Такой цикл не доказывает, что восстановлены внутренний исходный код или все возможные случаи: он показывает соответствие только проверенным сценариям. В REA есть средства собирать и сравнивать наблюдения о запуске процесса, но сам цикл требует отдельной реализации и тестов.

Как выбрать связку для своей задачи

Для первого знакомства с нативным бинарником попробуйте Ghidra, а подключение агента через REA или GhidraMCP добавляйте только если действительно нужен диалоговый анализ. Для APK сочетайте JADX и Apktool; Frida подключайте, если статического разбора недостаточно. Для .NET начните с ILSpy, а для отладки рассмотрите dnSpyEx. В сетевой части используйте mitmproxy на собственном сервисе или в согласованной тестовой среде. Необязательно устанавливать все 18 проектов: выберите один инструмент на каждом нужном этапе.

Границы доступа и конфиденциальность

Проверяйте права на анализ, лицензию программы и применимые условия использования. Реверс-инжиниринг может регулироваться законами и договорами по-разному; сам инструмент не даёт разрешения на исследование чужого приложения или сетевого трафика. Особенно внимательно относитесь к инструментам, которые запускают программу, подключаются к процессу или перехватывают запросы: они способны менять состояние приложения и раскрывать секреты.

REA выполняет анализ локально, но это не обязательно делает локальной всю цепочку: если подключённый ИИ-агент работает через облачную модель, переданные ему фрагменты кода и результаты анализа могут уйти провайдеру модели. Проверьте настройки и правила обработки данных своего агента. Подробно о возможностях и ограничениях REA читайте в нашем разборе и официальной документации проекта.