ReversePort
Реверс-инжиниринг чего угодно. Перенос куда угодно.
Один CLI и один MCP-сервер, с помощью которых ваш агент для программирования может разбирать приложения, игры, бинарные файлы и сайты — и создавать их заново.
npx reverseport setup
Быстрый старт · Любой агент · Возможности · Примеры запросов · CLI · Инструменты · Документация
Увидели интересную функцию в приложении или игре? Попросите агента разобраться, как она работает, вплоть до декомпилированной функции, а затем
попросите создать собственную версию. Есть игра на Godot, которую нужно перенести на Unity? Попросите агента перенести её, модуль за
модулем, с проверкой результата. Нет файлов? Достаточно названия или страницы в магазине.
ReversePort предоставляет агентам единый способ выполнять все эти задачи:
- 🔍 Разобраться в чём угодно — определить движок и версию любого проекта или собранной игры, построить граф зависимостей, изучить сцены,
символы на 30+ языках, исполняемые файлы, архивы и неизвестные данные. Без сборки и зависимостей.
- 🧠 Погрузиться в детали — декомпилировать, сопоставлять и трассировать нативные, управляемые (.NET), Android, Electron/JavaScript,
WebAssembly, встроенные системы и браузерные приложения с помощью Ghidra, Hopper, IDA, JADX и других инструментов. ReversePort устанавливает
и запускает их за вас, а также показывает данные, на которых основан каждый вывод.
- 🌐 Нет файлов? Разведка всё равно возможна — достаточно названия, страницы в магазине, сайта или общедоступного репозитория, чтобы выяснить,
какой движок используется, как устроен стек и файловая структура, а также найти ремейки с открытым исходным кодом в общедоступных источниках.
- 🧩 Точно воссоздать — превратить полученные сведения в спецификацию чистой реализации: описать каждую систему, параметры для
измерения в оригинале, таблицу соответствия и каркас проекта, где каждое значение можно настраивать.
- 🚚 По-настоящему перенести — Godot ⇄ Unity, Godot → Unreal, Godot → three.js, GDScript → C# или с одного языка на другой.
Сцены и трансформации преобразуются автоматически; агент переносит код с помощью карт API; port_verify подтверждает,
что ничего не осталось без внимания.
- 🔒 Локальная работа — ReversePort запускается на вашем компьютере. Исходные материалы доступны только для чтения, результаты сохраняются в новых
папках. Данные не отправляются в сервис анализа, дополнительная плата за API не взимается.
Быстрый старт
1. Подключите агента
Требуется Node.js версии 22.19 или новее:
npx reverseport setup
Выберите агентов, проверьте изменения и подтвердите их. Установщик зарегистрирует один MCP-сервер и установит соответствующий skill,
предварительно создав резервные копии существующих настроек. После этого перезапустите агента. Установщик поддерживает Claude Code, Codex, Cursor,
Gemini CLI, GitHub Copilot, OpenCode и другие агенты; для остальных клиентов доступна
Плагин Claude Code (вместо команды setup для Claude Code; включает сервер, skills для переноса и агента
port-architect; не используйте оба способа одновременно):
/plugin marketplace add laaielichter/reverseport
/plugin install reverseport@reverseport
Сборка из исходного кода:
git clone https://github.com/laaielichter/reverseport && cd reverseport
npm ci && npm run build
./bin/reverseport.mjs setup
Команды для разведки, анализа сборки, поиска, создания спецификации и переноса работают сразу после git clone, без
установки: node bin/reverseport.mjs scan ./MyGame.
2. Попросите агента
Разберись, как работает поиск в приложении Notes, покажи подтверждающие данные и создай аналогичную функцию для моего проекта.
Готово. Агент сам выберет инструменты, а вы получите ответ с подтверждающими данными.
Работает с любым агентом
Любой поставщик, любой фреймворк, модель любого размера — используйте один и тот же набор инструментов через подходящий интерфейс:
-
MCP:
npx -y reverseport@latest setupнастраивает установленных агентов; командаreverseport connectвыводит фрагмент конфигурации для любого другого MCP-клиента (Windsurf, Cline, Continue, Zed, Goose, LM Studio, VS Code…). -
MCP по HTTP:
reverseport serve→http://127.0.0.1:32147/mcp. -
Вызов функций:
/api/agent/tools?format=openai-strict|responses|anthropic|gemini, а также OpenAPI 3.1 по адресу
/api/openapi.json для GPT Actions, LangChain, LlamaIndex, Semantic Kernel, CrewAI, AutoGen и n8n.
- Агенты, работающие только через оболочку: JSON в stdout, ошибки в JSON в stderr, команда
reverseport describe.
Инструменты учитывают особенности работы агента:
- По умолчанию — короткий список. В списке около 45 инструментов вместо почти 200. Любой другой инструмент можно вызвать отдельно:
engine_tools найдёт нужный инструмент, а engine_call запустит его.
- Список подходит агенту. Для небольших или старых моделей используется профиль
compact, для агентов с большим контекстом —full. Агент
может переключить профиль самостоятельно с помощью set_tool_profile.
-
Единый формат ошибок с кодом, указанием, поможет ли повторный запуск, и точным следующим шагом.
-
Поле
nextдля очевидных следующих шагов — в графах, усечённых результатах и на каждом этапе переноса. В нём указан точный вызов. -
Обратная связь от агентов. Команда
share_feedbackоставляет сообщение для сопровождающих проект; оно хранится на компьютере пользователя, пока
тот не решит им поделиться.
См. Подключение любого агента.
Примеры запросов
| Ваш запрос | Что делает ReversePort |
|---|---|
| На чём сделана эта игра и как она устроена? | re_scan → движок и версия, языки, точки входа, порядок запуска |
| Составь карту кодовой базы и создай ARCHITECTURE.md. | re_graph, re_symbols, re_report |
| Что изменилось между сборками 43 и 44? | re_compare сравнивает папки и архивы, сначала показывает самые крупные изменения |
| Декомпилируй функцию, которая сохраняет настройки в этом приложении, и объясни её. | открывает бинарный файл, находит функцию, декомпилирует её и показывает подтверждающие данные |
| Как это приложение на Electron взаимодействует с нативной частью? | строит карту модулей, IPC и границ Electron |
| На чём сделано ``? У меня нет файлов. | re_lookup собирает сведения из общедоступных источников: движок с оценкой уверенности, стек, структура, ремейки |
| Как можно точнее воссоздай механику передвижения `` на Godot. | re_blueprint: системы, параметры для измерения, таблица соответствия, каркас |
| Перенеси мою игру на Godot в Unity. | port_plan → цикл port_unit/port_write → port_scene → port_verify |
Вы: Перенеси мою игру на Godot в Unity.
Агент: re_scan → Godot 4.3, 6 скриптов, 5 сцен, основная сцена main.tscn, автозагрузка Global
port_plan → 13 модулей, сначала зависимости; созданы построитель сцен Unity и PORT-PLAN.md
port_unit / port_write × 7 → C# MonoBehaviours (сигналы → события, $Node → [SerializeField])
port_scene × 5 → спецификации префабов и сцен, трансформации зеркально отражены относительно осей Unity
port_verify → проверка пройдена: 13/13 модулей, 0 оставшихся элементов, 0 отсутствующих функций
Возможности
Разобраться и изучить детали
| Цель | Результат | Требования |
|---|---|---|
| Исходные проекты и собранные игры | Движок и версия (Godot, Unity, Unreal, GameMaker, RPG Maker, Ren'Py, LÖVE, Defold, Bevy, MonoGame, web, Electron, Flutter, .NET, Go, Rust…), зависимости, циклы, сцены, символы | Не требуются |
| Архивы и пакеты | Godot .pck (в том числе встроенный в .exe), zip/apk/jar, .unitypackage, tar.gz, asar — просмотр списка и распаковка | Не требуются |
| Нативные бинарные файлы | Mach-O, ELF, PE, wasm: функции, псевдокод, строки, xrefs, пути вызовов, структура | Ghidra, Hopper или IDA для декомпиляции (настройка) |
| Сборки .NET | Метаданные, CIL, границы нативного кода, сравнение сборок | Не требуются |
| Android | Manifest, классы, декомпилированные методы, ссылки, ресурсы, устройства | JADX / Apktool / adb (руководство) |
| JavaScript и Electron | Модули, импорты, source maps, границы Electron, наблюдение во время выполнения | Не требуются; для наблюдения во время выполнения нужен браузер |
| Сайты | Данные о странице, сети и среде выполнения; определение стека без файлов | Для наблюдения во время выполнения нужен браузер |
| Прошивки, EVM, сбои, захваты трафика | Области данных и их извлечение, селекторы, записанные сбои, захваты HAR/mitmproxy | См. руководства |
Воссоздание и перенос
| Откуда → куда | Код | Сцены / префабы | Трансформации | Каркас проекта |
|---|---|---|---|---|
| Godot → Unity | агент с картой API | автоматически → спецификации и построитель для запуска в редакторе одним нажатием | зеркальное отражение по оси Z | скрипт построителя сцен |
| Godot → Unreal | агент (.h/.cpp) с картой API | автоматически → спецификации (см, ось Z направлена вверх) | смена осей + ×100 | .uproject, модуль, targets |
| Godot → three.js | агент (TypeScript) с картой API | автоматически → модули построителя на TypeScript | без изменений | Vite + TS + цикл с фиксированным шагом |
| Godot → Godot C# | агент с картой API | автоматически (пути скриптов заменяются) | без изменений | .csproj, project.godot |
| Unity → Godot | агент (GDScript) с картой API | автоматически → .tscn | зеркальное отражение по оси Z | project.godot |
| Unity → Unreal | агент с картой API | — | смена осей + ×100 | .uproject, модуль |
| любая платформа → язык | агент | — | — | — |
CLI
Всё, что умеет агент, можно выполнять из командной строки. Результаты возвращаются в формате JSON.
# clean-room rebuild spec + parity.json + skeleton
reverseport plan ./MyGame --to unity # start a port reverseport doctor # check engines and agent registrations reverseport help # overview · reverseport port help · reverseport engine --help">
reverseport scan ./MyGame # engine, languages, entry points
reverseport lookup "Some Game" # no files: engine, stack, structure, remakes
reverseport binary ./Build/Game.exe # sections, imports, .NET types, strings, hints
reverseport archive ./Build/Game.pck --action extract --match "*.gd"
reverseport diff ./Build-43 ./Build-44 # what changed between builds
reverseport analyze /Applications/Notes.app # deep analysis: open and summarize a binary/app
reverseport decompile /path/to/binary 0x1000 # pseudocode (Ghidra, Hopper or IDA)
reverseport blueprint --lookup-id <id> # clean-room rebuild spec + parity.json + skeleton
reverseport plan ./MyGame --to unity # start a port
reverseport doctor # check engines and agent registrations
reverseport help # overview · reverseport port help · reverseport engine --help
Установите команду для регулярного использования с помощью npm install --global reverseport или запускайте любую из этих команд через
npx reverseport@latest …. В клонированном репозитории используйте ./bin/reverseport.mjs.
Инструменты
Один MCP-сервер (reverseport mcp) предоставляет доступ ко всем инструментам:
| Инструменты ReversePort | |
|---|---|
re_scan re_graph re_symbols re_scene | проекты и сборки: движок, зависимости, символы, сцены |
re_binary re_archive re_probe re_extract re_compare re_report | исполняемые файлы, архивы, неизвестные данные, различия, ARCHITECTURE.md |
re_lookup re_blueprint | анализ без файлов, спецификации для воссоздания с чистого листа |
port_map port_convert port_plan port_unit port_write port_scene port_copy_assets port_status port_verify | перенос с проверкой |
Помимо них доступны инструменты углублённого анализа — open_binary, procedure_pseudo_code, xrefs, search_strings, analyze_javascript_application,
inspect_android_package, inspect_managed_artifact, observe_web_session и многие другие. Команда engine_tools выводит список инструментов, доступных на работающем сервере, а
npm run docs:generate создаёт сгенерированный каталог инструментов со всеми
описаниями контрактов. HTTP API
(reverseport serve) предоставляет те же инструменты в форматах разных поставщиков; см. раздел Подключение любого агента.
Ответственное использование
Анализируйте или переносите только программное обеспечение, которым владеете или на анализ которого у вас есть разрешение. ReversePort не расшифровывает и не взламывает защиту, а также не обходит DRM,
античит-системы или лицензирование. Ознакомьтесь с документами ОТВЕТСТВЕННОЕ ИСПОЛЬЗОВАНИЕ и отказом от ответственности.
Документация
-
Подключение любого агента: MCP, HTTP, форматы OpenAI/Anthropic/Gemini, OpenAPI, командная строка; профили и ошибки.
-
Установка и настройка: регистрация агентов, инструменты анализа, обновление и удаление.
-
CLI и Evidence: команды, выбор поставщика, снимки, импорт и экспорт.
-
Контракты MCP и промпты для агентов: результаты работы инструментов, сеансы, пошаговые исследования.
-
Перенос и воссоздание: процессы анализа, воссоздания и переноса.
-
Оценки агентов: независимые обзоры агентов по итогам каждого раунда и нерешённые вопросы.
-
Нидерландский язык · AGENTS.md для участников проекта · CONTRIBUTING.md
Благодарности
Движок углублённого анализа основан на REA: Reverse Engineer Anything (MIT).
Сторонние компоненты перечислены в файле THIRD_PARTY_NOTICES.md.
Поддержка
ReversePort — бесплатный проект с открытым исходным кодом. Если он экономит ваше время или время вашего агента, вы можете сделать пожертвование, но это необязательно. SOL и
любые токены в Solana, например USDC, можно отправить по адресу:
- Solana:
BDRA7dHGBYtPsZPNzVQccDYZ8BqstJGCsWx3kopPSCDK
Пожертвования направляются на покупку кредитов для новых моделей, дальнейшее развитие ReversePort и улучшение условий работы и благополучия
LLM и агентов.