REA — обратный анализ приложений и бинарных файлов с ИИ-агентом

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

REA (Reverse Engineer Anything) — открытый набор инструментов, который помогает ИИ-агенту исследовать устройство приложения, сайта или исполняемого файла. Агент задаёт вопросы через MCP, получает результаты анализа вместе с подтверждающими данными и может объяснить, как устроена нужная функция. Те же рабочие процессы доступны из командной строки.

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

Что можно исследовать с помощью REA

Приложения, сайты и исполняемые файлы

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

В репозитории также описаны проверки .NET-сборок и Android APK, анализ отдельных видов прошивок, байткода EVM, журналов аварий Linux и сохранённых сетевых дампов. Набор результатов и требования различаются: например, веб-анализу нужен браузер на основе Chrome, а для APK — JADX и среда Java (JDK).

Как ИИ-агент работает с результатами

Подключение через MCP

После настройки агент обращается к REA как к набору инструментов: выбирает операцию, передаёт цель для анализа и получает структурированный результат с доказательствами и ограничениями. Затем он может проследить интересующий участок логики, ответить на вопросы или помочь реализовать похожее поведение в другом проекте. В числе поддерживаемых вариантов настройки — Claude Code, Codex и Cursor; также заявлена поддержка Gemini CLI и других клиентов с локальными MCP-серверами.

Командная строка для автоматизации

Установщик запускается командой npx rea-agents setup. Для работы нужны Node.js одной из поддерживаемых веток — 22.19 или новее, 24.11 или новее либо 26 и новее — и npm. Установщик предлагает выбрать агента и просмотреть изменения конфигурации до их применения, создаёт резервные копии существующих настроек; после настройки агент нужно перезапустить.

Команды CLI используют те же сценарии анализа. Например, каталог извлечённого приложения JavaScript или Electron можно проверить командой npx -y rea-agents@latest analyze-javascript-application /путь/к/приложению --json. Для регулярной работы проект предлагает установить пакет rea-agents глобально и обращаться к справке через команду rea.

Какие программы нужны для анализа

Для нативного кода требуется отдельный анализатор

Глубокий анализ нативных бинарных файлов использует один из поддерживаемых дизассемблеров: Hopper, Ghidra или IDA. REA связывает агент с этим инструментом и помогает получать из него данные. Для статического анализа JavaScript и .NET такой анализатор не требуется, хотя для других форматов могут понадобиться собственные утилиты. Поэтому перед началом стоит проверить требования выбранного сценария в документации проекта.

Данные, приватность и ограничения

Файлы анализируются локально, но результат передаётся модели

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

Часть сценариев не ограничивается чтением: например, средства захвата поведения могут запускать программу или взаимодействовать с ней с правами текущего пользователя. Это может повлиять на файлы и состояние системы. Перед таким запуском изучите руководство для конкретного типа анализа и используйте только материалы, которые вправе исследовать. Авторы позиционируют REA для законного анализа, исследований и восстановления логики программ.

Лицензия и доступность

Открытый проект для разработчиков и исследователей

Код REA опубликован на GitHub по лицензии MIT. Сам инструментарий можно изучить и настроить под свои задачи, но отдельные анализаторы, операционные системы и форматы могут иметь собственные требования и условия использования. Подробные инструкции, перечень команд и примеры исследований размещены в документации репозитория.