REA: Reverse Engineer Anything — реверс-инжиниринг с AI-агентами

«Видите функцию в чужом приложении, которую хотите у себя? Попросите агента исследовать её с REA — даже без исходного кода.»

REA — это инструмент, позволяющий выполнять реверс-инжиниринг чего угодно с помощью агентов: от поведения приложений до нативных бинарников. Он представляет собой комплексный CLI и MCP-сервер, созданный специально для AI-агентов, занимающихся исследованием программного обеспечения.

Проект написан на TypeScript, набрал уже более 7 800 звёзд на GitHub и имеет почти 900 форков.


Что это и для кого?

REA даёт AI-агентам возможность глубоко исследовать программное обеспечение — от высокоуровневых функций до бинарной реализации — обеспечивая локальную приватность и превращая полученные знания в конкретный код.

Целевая аудитория:

  • Разработчики, желающие понять, как реализована та или иная функция в стороннем приложении
  • Специалисты по безопасности (pentest, malware-анализ)
  • Исследователи, изучающие поведение закрытых программ
  • Команды, интегрирующие AI-агентов (Claude, Cursor, Copilot и др.) в рабочие процессы анализа кода
ℹ Суть подхода
REA работает по трёхшаговой модели: Декомпилировать → Понять → Воссоздать. Агент не просто читает бинарник — он прослеживает логику между функциями и адаптирует найденное под ваш стек.

Ключевые возможности

Модель расследования (Investigation Model)

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

Поддерживаемые форматы и платформы

REA умеет открывать Mach-O, ELF, PE, .app, ZIP, APK, IPA, ASAR, plist, JavaScript, source-map и другие форматы целей для анализа.

Помимо нативных бинарников, REA поддерживает статический анализ JavaScript и Electron-приложений (директорий или .asar-файлов) без их запуска, а также пассивное наблюдение за веб-сайтами, Electron-процессами и средой V8 Inspector.

Интеграция с дизассемблерами

Глубокий нативный анализ выполняется через Hopper или Ghidra на macOS и Linux, с экспериментальным путём только через Ghidra для нативных x86-64 Windows-приложений. REA устанавливает и управляет Hopper автоматически (поддерживается бесплатный демо-режим), а адаптер Ghidra работает в режиме только чтения и предоставляет инвентаризацию, декомпиляцию, ассемблер, перекрёстные ссылки, графы вызовов и досье функций.

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

Поддерживаемые AI-агенты

REA поддерживает Claude Code, Claude Desktop, Codex, Cursor, Gemini CLI, Windsurf, Devin, OpenCode, Antigravity, GitHub Copilot CLI и VS Code.

Новая версия v4.1.0 (октябрь 2026)

В версии 4.1.0 добавлен статический анализ APK через headless JADX, поддержка firmware-анализа через Binwalk и Unblob, атомарное редактирование аннотаций функций в Ghidra.

Пример рабочего процесса

# Установка и настройка
npx rea-agents setup

# Добавление навыка реверс-инжиниринга агенту
npx skills add morluto/rea --skill reverse-engineer-anything

# Запуск анализа из терминала
rea analyze /path/to/app.exe
rea decompile /path/to/binary --function main

После настройки достаточно описать агенту приложение или функцию, которую вы хотите понять, — и REA начнёт расследование.


flowchart LR
    A["Агент / Терминал"] --> B["REA CLI + MCP"]
    B --> C["Роутер сессий"]
    C --> D["Реестр провайдеров"]
    D --> E["Hopper\n(нативный анализ, macOS)"]
    D --> F["Ghidra\n(Linux/macOS/Win x64 exp.)"]
    D --> G["JS/Electron\nстатический анализ"]
    D --> H["Browser CDP\nпассивное наблюдение"]
    E --> I["Evidence + Отчёт"]
    F --> I
    G --> I
    H --> I

Пакеты навыков (Skill Packs)

Запланированы пакеты навыков: triage нативных бинарников, инвентаризация установщиков и пакетов приложений, трассировка браузерных и веб-функций, реконструкция протоколов десктопных клиентов, анализ мобильных приложений, анализ байткода managed-runtime, triage вредоносных программ в изолированной среде, сравнение версий и локализация регрессий.


Тарифы и цены

REA — проект с открытым исходным кодом, распространяется под лицензией MIT. Сам инструмент полностью бесплатен.

⚠ Зависимости платные

Для нативного бинарного анализа требуется Hopper или Ghidra.

  • Ghidra — бесплатный open-source дизассемблер от АНБ США.
  • Hopper — коммерческий дизассемблер. Его демо-версия поддерживает анализ с ограничениями, установленными производителем. Полная лицензия Hopper стоит около $100 (разовая покупка).

Плюсы и минусы

✅ Плюсы❌ Минусы
Полностью open-source (MIT)Требует Hopper или Ghidra для нативного анализа
Интеграция с популярными агентами (Claude, Cursor, Copilot и др.)Поддержка Ghidra на Windows экспериментальная и неполная
CLI + MCP из коробкиТребует Node.js 22+
Анализ выполняется локально — данные не уходят в облакоКрутая кривая обучения для новичков в реверс-инжиниринге
Поддерживает APK, IPA, ELF, PE, Mach-O, ASAR и др.REA показывает, как сделаны выводы, но не претендует на восстановление оригинального исходного кода
Активная разработка (v4.1.0 вышла 6 октября 2026)Возможны галлюцинации агента при сложных бинарниках
Поддержка Electron, JavaScript, браузерного CDPGhidra-провайдер требует строго Ghidra 12.1.4 + JDK 21

Сравнение с альтернативами

AI-реверс-инжиниринг в целом означает использование LLM, подключённого к дизассемблеру (Ghidra, IDA Pro или Binary Ninja), для переименования функций, объяснения логики и выявления паттернов.

ПараметрREA (morluto/rea)r2ai (radare2)LLM4Decompile
ТипCLI + MCP-сервер для агентовAI-плагин для radare2Fine-tuned LLM-модель
ЛицензияMIT (open-source)Open-sourceOpen-source
ЦенаБесплатно (Hopper платный)БесплатноБесплатно (своя GPU)
Агентная интеграция✅ Claude, Cursor, Copilot и др.❌ Только через r2 REPL❌ Прямой API
Поддержка форматовELF, PE, Mach-O, APK, ASAR, JS…Широкий (ELF, PE, Mach-O…)Только бинарники C/C++
Нативный анализHopper + Ghidraradare2Через Ghidra (v2)
Восстановление исходников❌ Не заявляется❌✅ (главная цель)
Анализ Electron/JS✅❌❌
ПлатформыmacOS, Linux (Win exp.)macOS, Linux, WindowsЛюбая (inference)
Активность (2026)Очень высокаяВысокаяВысокая

Radare2 — набор CLI-инструментов для реверс-инжиниринга и бинарного анализа; его основной инструмент r2 — интерактивный REPL с поддержкой многих архитектур и форматов бинарных файлов. В отличие от него, REA ориентирован на агентный рабочий процесс и экосистему MCP.

LLM4Decompile специализируется на декомпиляции бинарного кода с помощью больших языковых моделей и выходит SK²Decompile с двухфазным подходом — но это узкоспециализированный инструмент без агентной интеграции.

💡 Когда выбрать REA
Если вы уже используете Claude Code, Cursor или GitHub Copilot в своём рабочем процессе и хотите дать агенту возможность «заглянуть внутрь» любого приложения прямо во время сеанса — REA является наиболее органичным выбором.

Быстрый старт

# Требования: Node.js 22+
npx rea-agents setup

# Диагностика установки
rea doctor --json

# Просмотр доступных провайдеров
rea providers --json
📝 Пример сессии с агентом

Вы агенту: «Исследуй функцию автосохранения в Notion.app и объясни, как она работает на уровне бинарника»

Агент с REA: откроет Mach-O-бинарник, найдёт релевантные функции через граф вызовов, декомпилирует их через Hopper, покажет строки и символы — и предложит реализацию для вашего проекта.


Вердикт

REA — один из наиболее продуманных open-source инструментов в пространстве AI-реверс-инжиниринга 2026 года. Он занимает уникальную нишу: не пытается заменить дизассемблер, а превращает связку «агент + дизассемблер» в единый управляемый рабочий процесс через MCP.

Проект честно заявляет, что не претендует на восстановление оригинального исходного кода. Вместо этого он производит читаемый код, строки, имена и другие улики, а также досье функций — всё это записывается как Evidence-записи.

Кому подойдёт:

  • ✅ Разработчикам, использующим Claude/Cursor/Copilot и желающим исследовать чужой код
  • ✅ Security-инженерам на macOS/Linux, работающим с нативными бинарниками
  • ✅ Командам, занимающимся анализом мобильных APK и Electron-приложений
  • ❌ Тем, кто ищет автоматическое восстановление исходников
  • ❌ Windows-пользователям (поддержка пока экспериментальная)

Рейтинг: 8.5/10

КритерийОценка
Функциональность9/10
Простота настройки7/10
Агентная интеграция10/10
Платформенная зрелость7/10
Активность разработки10/10
Документация8/10