ReAgent CLI
Восстанавливает функции C и C++ из скомпилированных программ через Ghidra: одна модель пишет код, другая проверяет.
- 2 434 ★ репозитория
- Последний коммит
- MIT
Широкий доступ
Почему такой уровень
- Двойное назначение: восстановление исходников из бинарных файлов годится и для анализа чужого закрытого кода, а лицензии часто запрещают дизассемблирование.
- Команды сборки и тестов из конфигурации выполняются на машине с правами пользователя, поэтому запускать можно только проверенные.
- Код и данные из бинарного файла уходят выбранному провайдеру модели и расходуют платные вызовы.
Установка
- Работает в
В терминале, через SkillFoxx CLI
npx skillfoxx add cli/reagentОпределит агенты на машине, покажет уровень доступа и зафиксирует версию.
Другие способы установки
Доступ и проверки
Как мы проверяемШирокий доступИнструмент может менять данные, выполнять команды или работать с секретами.
- Двойное назначение: восстановление исходников из бинарных файлов годится и для анализа чужого закрытого кода, а лицензии часто запрещают дизассемблирование.
- Команды сборки и тестов из конфигурации выполняются на машине с правами пользователя, поэтому запускать можно только проверенные.
- Код и данные из бинарного файла уходят выбранному провайдеру модели и расходуют платные вызовы.
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
ReAgent — командная утилита `re-agent`, которая по скомпилированной программе восстанавливает исходный код функций на C и C++. Данные берутся из Ghidra через отдельный мост `ghidra-bridge`: декомпиляция, перекрестные ссылки, структуры, таблицы виртуальных функций, строки и граф потока управления. Одна модель пишет вариант функции, вторая проверяет его, число раундов правок ограничено. Затем структурный верификатор сверяет код с ассемблером, а настроенные сборка и тесты идут в копии проекта. Каждая функция получает метку паритета GREEN, YELLOW или RED. Исходное дерево утилита не трогает: результат лежит в оверлее и отчетах. В роли моделей выступают Claude, Codex или любой OpenAI-совместимый API.
Для кого. Реверс-инженерам и авторам декомпиляционных проектов, которые восстанавливают исходники собственной или легально изучаемой программы.
Подходит, если
- Декомпиляционный проект ведет сотни функций класса, и порядок работы задают их зависимости.
- Черновик функции по адресу из Ghidra пишет одна модель, а другая сверяет его с ассемблером.
- Перед прогоном всего класса стоит попробовать одну функцию и ограничить число вызовов модели.
- Команде нужны отчеты и пакеты доказательств, чтобы вручную проверить спорные места.
- Восстановленный код надо прогнать через сборку и тесты в изолированной копии проекта.
Не подходит, если
- Лицензия на программу запрещает дизассемблирование, а прав на изучение нет.
- Нужно математическое доказательство эквивалентности: проверки здесь консервативные.
- Ghidra и экспорт проекта еще не готовы, и времени на мост нет.
- Цель — обойти защиту, античит или проверку лицензии: утилита восстанавливает код, а не взламывает.
Пример запроса к агенту
Настрой re-agent для этого проекта, запусти `re-agent doctor` и восстанови одну функцию по адресу 0x401000 с малым лимитом вызовов модели.Ограничения
Нужны Python 3.10 и новее, Ghidra с настроенным `ghidra-bridge` и хотя бы одна модель: ключ Claude или OpenAI-совместимого API либо авторизованные `claude` и `codex`. Каждая функция тратит много вызовов модели, а стоимость зависит от выбранных моделей и числа раундов, поэтому в README советуют задать лимит. Структурные и паритетные проверки ловят расхождения, но эквивалентность бинарного кода не доказывают. Команды сборки и тестов из конфигурации запускаются на машине пользователя, поэтому доверять можно только своим.
Как отключить. Удалите пакет командой `python3 -m pip uninstall auto-re-agent` и файл `re-agent.yaml` из проекта. Отчеты лежат в `reports/re-agent`: удалите каталог отдельно, если он не нужен.
Частые вопросы
Какие модели можно подключить?
Claude по API или через локальный `claude`, Codex CLI и любой OpenAI-совместимый API. Для автора и проверяющего можно выбрать разные модели в блоке `agents` файла `re-agent.yaml`.
Что считается успешным результатом?
Все четыре условия сразу: проверяющая модель вернула `PASS`, верификатор не нашел сильных расхождений, сборка и тесты прошли, паритет не заблокирован уровнем RED или YELLOW.
Меняет ли утилита исходники проекта?
Нет. Кандидат пишется в оверлей, а проверки идут во временной копии. Коммитов и push утилита не делает.
С чего начать?
Команда `re-agent doctor` покажет, чего не хватает. Затем `re-agent reverse --address 0x401000` восстановит одну функцию, после чего можно запускать класс целиком.
Сколько стоит прогон?
Цена зависит от моделей, объема доказательств и сложности цели. В README советуют задать малый лимит вызовов и начать с одной функции; команда `re-agent estimate` помогает прикинуть расход.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
CLI-инструментыMCP-сервер для Ghidra: агент декомпилирует, переименовывает переменные, строит перекрестные ссылки и разбирает бинарные файлы через набор мелких инструментов
CLI на Rust для Ghidra: импорт бинарников, декомпиляция, перекрестные ссылки и правка типов с выводом в JSON для агента
MCP-сервер и CLI для реверс-инжиниринга: агент разбирает бинарные файлы, JavaScript-приложения, APK и сайты на вашей машине и приводит доказательства
MCP-сервер и плагин для Ghidra: агент декомпилирует бинарники, смотрит перекрестные ссылки и переименовывает функции в открытом проекте
Защитный слой для готовых сборок против ИИ-агентов, которые их реверсят: ловушки, перегрузка анализатора, сохранение поведения
RE-MCP открывает агенту IDA Pro и Ghidra в безголовом режиме: функции, декомпилятор, перекрестные ссылки, типы и патчинг.
Сравнение с похожими
Карточки с тем же главным запросом: чем они отличаются.
| Инструмент | Официальный | Авторизация | Звезды репозитория | Главное отличие |
|---|---|---|---|---|
| ReAgent (эта карточка) | нет | 2 434 | ||
| Ghidra MCP Server | нет | не нужна | 6 207 | дает агенту доступ к Ghidra через MCP; ReAgent сам ведет цикл восстановления и проверки функций |
| Ghidra CLI | нет | 267 | командная оболочка над Ghidra; ReAgent добавляет модели, верификатор и паритет |
Коротко о README
В README есть готовый промпт для агента-установщика, быстрый старт, настройка провайдеров моделей, описание 11 встроенных сигналов паритета и миграция команд проверки на массивы аргументов.