REA — Reverse Engineering Assistant
Reverse Engineering Assistant (REA)
REA разбирает бинарники PE, ELF и Mach-O, прошивки и APK на чистом Rust и выдает отчет в Markdown, PDF и JSON.
- 109 ★ репозитория
- Последний коммит
Расширенный доступ
Почему такой уровень
- Разбирает недоверенные файлы и эмулирует их код; в режиме аналитика данные разбора уходят во внешнюю модель.
Установка
- Работает в
Ручная установка
git clone https://github.com/mytechnotalent/rea.gitПервая команда из README: клонирование перед сборкой через Cargo.
Доступ и проверки
Как мы проверяемРасширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.
- Разбирает недоверенные файлы и эмулирует их код; в режиме аналитика данные разбора уходят во внешнюю модель.
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
REA, фреймворк обратной разработки на чистом Rust, определяет формат файла по содержимому. Он дизассемблирует код, восстанавливает граф вызовов, считает хеши и энтропию, ищет строки, индикаторы компрометации и признаки упаковщиков. Эмулятор P-code исполняет код в песочнице и раскрывает зашифрованные строки без запуска на хосте. `rea serve` поднимает MCP-сервер по stdio с 31 инструментом, среди них `open_binary`, `decompile_function`, `find_xrefs`, `run_rules` и `audit`. С ключом OpenRouter отчет пишет автономный аналитик, без ключа работает офлайн-режим.
Для кого. Исследователям вредоносного кода и аудиторам прошивок, которым агент должен разобрать неизвестный бинарник без Ghidra и Java.
Подходит, если
- Прислали подозрительный `.exe`, и надо быстро понять, что он делает.
- Образ прошивки `uImage` с SquashFS: интересует файловая система и найденные учетные данные.
- Агент в Claude Code декомпилирует функцию, ищет перекрестные ссылки и объясняет точку входа.
- Перед релизом собирают SBOM в форматах CycloneDX и SPDX из собственного бинарника.
Не подходит, если
- Нужна интерактивная правка байтов или отладка живого процесса.
- Формат файла не входит в таблицу поддерживаемых, и результат ограничится хешами, энтропией и строками.
- Файл принадлежит другому лицу, и права на его анализ не выяснены.
Пример запроса к агенту
Открой ./sample.exe через rea, декомпилируй точку входа, запусти правила возможностей и объясни, что делает программа.MCP
- Транспорт
- stdio
- Авторизация
- не нужна
Переменные окружения
OPENROUTER_API_KEYсекрет- Ключ OpenRouter для автономного аналитика; без него работает офлайн-режим.
OPENROUTER_MODEL- Модель аналитика, по умолчанию бесплатная.
Ограничения
Готовый бинарник в репозитории есть только для macOS на Apple Silicon (папка `releases/`), для Windows и Linux нужна сборка `cargo build --release` на стабильном Rust. В режиме аналитика данные разбора уходят в OpenRouter, ключ задают через `OPENROUTER_API_KEY`, а модель по умолчанию бесплатная. Эмулятор работает программно и не повторяет особенности железа. Валидатор помечает цитаты без опоры на улики, но ошибки аналитика возможны, поэтому выводы сверяют с первичными данными.
Как отключить. Удалите регистрацию командой `claude mcp remove rea` и бинарник `rea`. Файлы `re-*.md`, `re-*.pdf` и `re-*.json` лежат рядом с исследованными файлами, их удаляют вручную.
Частые вопросы
Нужны ли Ghidra или Java?
Нет. Дизассемблер и эмулятор встроены, а для не-x86 архитектур используются спецификации SLEIGH, скомпилированные в Rust.
Уходят ли файлы в сеть?
Без ключа OpenRouter сеть не используется, отчет строится офлайн. С ключом аналитик отправляет данные разбора модели.
Как получить настройки для другого агента?
`rea mcp --config` печатает готовые фрагменты для поддерживаемых агентов, а `rea mcp --setup` записывает `mcp_config.json` и `opencode.jsonc`.
Какие форматы файлов поддерживаются?
PE, ELF, Mach-O, прошивки, APK и DEX, .NET, Go, WebAssembly, SQLite, PCAP и другие. Полная таблица лежит в README.
Что выдает одна команда?
`rea <файл>` пишет рядом с целью отчеты `re-<имя>.md`, `re-<имя>.pdf` и `re-<имя>.json`.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
MCP-серверыMCP-сервер и CLI для реверс-инжиниринга: агент разбирает бинарные файлы, JavaScript-приложения, APK и сайты на вашей машине и приводит доказательства
MCP-сервер для реверс-инжиниринга и анализа вредоносных файлов: декомпиляция, YARA, форензика, отчеты с доказательствами
MCP-сервер и агентный набор для реверс-инжиниринга: Ghidra, Frida, x64dbg и Rizin для анализа бинарей, CTF и исследования вредоносного ПО
RE-MCP открывает агенту IDA Pro и Ghidra в безголовом режиме: функции, декомпилятор, перекрестные ссылки, типы и патчинг.
122 скилла для обратной разработки: вредоносные программы, прошивки, протоколы, мобильные приложения, CTF и поиск уязвимостей.
MCP-сервер для Ghidra: агент декомпилирует, переименовывает переменные, строит перекрестные ссылки и разбирает бинарные файлы через набор мелких инструментов
Сравнение с похожими
Карточки с тем же главным запросом: чем они отличаются.
| Инструмент | Официальный | Авторизация | Звезды репозитория | Главное отличие |
|---|---|---|---|---|
| REA — Reverse Engineering Assistant (эта карточка) | нет | не нужна | 109 | |
| Ghidra CLI | нет | 267 | управляет установленной Ghidra; REA разбирает файлы собственным движком на Rust | |
| IDA Pro MCP | нет | не нужна | 13 459 | работает через IDA Pro; REA не требует внешних дизассемблеров |
Коротко о README
README представляет REA как один инструмент: `rea <файл>` создает отчеты в Markdown, PDF и JSON рядом с целью. Версия 7.1.0 добавила разбор моделей GGUF и safetensors и архивов Godot PCK. MCP-режим отдан как вторая опция для агентов, сборка идет из исходников через Cargo.