关于 ReversePort
ReversePort 是供编码 Agent 使用的 CLI 和 MCP 服务,用于分析软件并跨引擎、语言移植项目。它结合项目与二进制分析、基于证据的重建规格及验证流程;在本机运行,并以只读方式处理目标。
主要功能
- 01检查项目、构建产物、归档与依赖
- 02通过已安装工具追踪并反编译目标
- 03从公开来源调查应用和游戏
- 04创建经过测量的重建规格
- 05转换场景并辅助代码移植
- 06验证移植结果并找出未完成差异
适用场景
- 01梳理陌生代码库或导出的游戏
- 02调查二进制函数并查看证据
- 03根据公开应用或游戏编写洁净室规格
- 04移植 Godot 或 Unity 项目并验证结果
MCP 相关
ReversePort 通过 MCP 提供分析和移植工具,并可为受支持的 Agent 配置连接,也提供面向其他客户端的连接命令。它还支持通过本地端点使用 HTTP 上的 MCP。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
45收录的工具列表 · 更新于 2 天前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| path | string | 是 | 要扫描的文件夹。 |
| maxFiles | integer | 否 | 达到此文件数后停止(默认值为 50000)。 |
详细介绍
ReversePort
逆向分析一切。移植到任何地方。
一个 CLI 和一个 MCP 服务,让你的编码 Agent 拆解应用、游戏、二进制文件和网站,并重新构建它们。
npx reverseport setup
在 Godot 的 2D 平台游戏演示上实际运行,JSON 精简至关键字段。
在应用或游戏中看到喜欢的功能?问问你的 Agent 它是如何实现的——深入到反编译后的函数——然后让它构建自己的版本。有个 Godot 游戏,想移植到 Unity?让你的 Agent 按单元移植,并逐一验证。手头没有任何文件?告诉它名称或商店页面即可。
ReversePort 为 Agent 提供了统一的方式来完成所有这些任务:
- 🔍 了解一切 — 识别任何项目或导出游戏所用的引擎和版本、依赖关系图、场景、30 多种语言中的符号、可执行文件、资源包和未知数据。JS/TS 单体仓库(pnpm、Turborepo、Nx、Lerna、Rush、tsconfig paths)和 Rust 工作区也能解析。无需构建步骤,无依赖项。
- 🧠 深入分析 — 通过 Ghidra、Hopper、IDA、JADX 等工具,对原生、托管(.NET)、Android、Electron/JavaScript、WebAssembly、固件和浏览器目标进行反编译、交叉引用和追踪。ReversePort 会连接你已安装的工具、驱动它们,并展示每项结论的依据。
- 🌐 没有文件?照样能侦察 — 只需名称、商店页面、网站或公开仓库,就能从公开来源了解引擎、技术栈、文件布局和开源重制项目。
- 🧩 精准重建 — 将你的发现转化为清晰的重建规范:列出每个系统、需要在原项目中测量的参数、对照表,以及将每个值都设为可调参数的项目骨架。
- 🚚 真正移植 — Godot ⇄ Unity、Godot → Unreal、Godot → three.js、GDScript → C#,或在不同语言间移植。场景和变换会自动转换;你的 Agent 会根据 API 映射移植代码;
port_verify可证明没有遗漏。 - 🔒 本地运行 — 在你的计算机上运行。目标仅供读取;输出写入新文件夹。不会向分析服务上传任何内容,也不会产生额外的 API 费用。
快速入门
1. 连接你的 Agent
需要 Node.js 22.19 或更高版本:
npx reverseport setup
选择你的 Agent,检查变更并批准。设置过程会注册一个 MCP 服务并安装相应的技能,同时备份现有配置。之后重启你的 Agent。设置支持 Claude Code、Codex、Cursor、Gemini CLI、GitHub Copilot、OpenCode 和更多 Agent;其他客户端可以使用手动注册 MCP。
Claude Code 插件(替代 Claude Code 的设置方式 — 包含服务、移植技能和
port-architect Agent;请勿同时使用两种方式):
/plugin marketplace add laaielichter/reverseport
/plugin install reverseport@reverseport
同一市场还提供配套插件 stashpad@reverseport 和
agentdisk@reverseport。
从源代码安装:
git clone https://github.com/laaielichter/reverseport && cd reverseport
npm ci && npm run build
./bin/reverseport.mjs setup
克隆仓库后,无需安装即可立即使用侦察、构建检查、查找、蓝图和移植命令:
node bin/reverseport.mjs scan ./MyGame。
2. 向你的 Agent 提问
Understand how search works in the Notes app, show me the evidence, and build a similar feature for my project.
就是这样。Agent 会选择工具;你将获得附有相关证据的答案。
兼容所有 Agent
任何厂商、任何框架、任何规模的模型 — 都可以通过合适的方式使用同一套工具:
- MCP:
npx -y reverseport@latest setup可配置已安装的 Agent;reverseport connect <client>可为其他 MCP 客户端(Windsurf、Cline、Continue、Zed、Goose、LM Studio、VS Code……)输出配置片段。 - 基于 HTTP 的 MCP:
reverseport serve→http://127.0.0.1:32147/mcp。 - 函数调用:
/api/agent/tools?format=openai-strict|responses|anthropic|gemini,以及用于 GPT Actions、LangChain、LlamaIndex、Semantic Kernel、CrewAI、AutoGen 和 n8n 的 OpenAPI 3.1 规范/api/openapi.json。 - 仅使用 Shell 的 Agent:JSON 输出到 stdout,错误以 JSON 格式输出到 stderr,
reverseport describe <tool>。
也针对 Agent 的具体情况进行了优化:
- 默认提供简短列表。 列出约 45 个工具,而不是近 200 个。其他工具只需一次调用即可使用:
engine_tools可查找工具,engine_call可运行工具。 - 工具列表适配 Agent。 小型或较旧的模型使用
compact,上下文较长的 Agent 使用full,Agent 也可以通过set_tool_profile自行切换。 - 所有位置使用统一的错误格式,包含错误代码、重试是否有帮助,以及确切的后续步骤。
- 在有明确后续步骤的地方提供
next字段(图表、截断的结果、每个移植步骤),并附上确切的调用方式。 - 大量结果不会塞满上下文。 超过 256 KB 的答案会保存到
~/.reverseport/tool-output/;Agent 会收到带有文件路径的简短版本。在安全的情况下,也会修正小型模型略有偏差的输入。 - 倾听 Agent 的反馈。
share_feedback可向维护者留言;在用户选择分享之前,反馈会保留在用户自己的设备上。
请参阅连接任意 Agent。
技能
安装设置和 Claude Code 插件会安装一些技能,用于教 Agent 工作流,让它无需提示就知道接下来该使用哪个工具:
| 技能 | 适用场景 |
|---|---|
reverse-engineer | “这是怎么运作的?”——引擎和技术栈、架构、依赖关系图、类、场景、未知文件 |
build-inspector | 导出的构建:引擎和版本、.pck 或 Unity/Unreal 构建中包含的内容、发生了哪些变化 |
rebuild | 没有文件:查明游戏、应用或网站的构建方式,然后编写经过审慎评估的干净室重建规格 |
port-project | 各种移植:按依赖顺序逐个单元进行,并提供 API 映射、转换后的场景和经过验证的结果 |
godot-port | Godot 4 → Unity、Unreal、three.js 或 Godot C#:信号、节点路径、自动加载、物理、输入、坐标轴 |
unity-to-godot | Unity → Godot 4:将 MonoBehaviour、预制体和场景转换为 .tscn,以及碰撞体、刚体 |
port-verify | 收尾阶段:修复遗留问题和缺失函数,然后移交,并如实列出剩余事项 |
proof-case | 让调查有据可依:证据、引用证据的主张、决策、测试和未解决的问题 |
troubleshoot | 错误和异常结果:无法读取的场景、无法列出的包、被拒绝的路径、MCP 问题 |
Claude Code 插件还会添加 port-architect Agent,它能从初步勘查到移交全程执行移植;还会添加防护钩子,在工具连接到程序前进行询问,并在证明案例未通过检查时阻止标记为“已完成”。
复制到 Agent 文件夹中的技能可能比已安装的工具版本旧。reverseport skills 会列出你所用版本包含的技能,而 reverseport skills get <name> 会显示匹配的指南。
可尝试的提示词
| 你询问 | ReversePort 的处理方式 |
|---|---|
| 这款游戏是用什么制作的?又是如何构建的? | re_scan → 引擎和版本、语言、入口点、启动方式 |
| 梳理这个代码库并编写 ARCHITECTURE.md。 | re_graph、re_symbols、re_report |
| 这个 Turborepo/pnpm 单体仓库中的各个软件包如何相互依赖? | re_scan 查找工作区及其软件包;re_graph 解析工作区名称和 tsconfig 路径,并显示各软件包之间的依赖关系 |
| 给我看看网站上的这个按钮是如何构建的。 | 使用带有 selector 的 capture_web_screenshot:截取元素图片,并提供其 HTML 和计算后的 CSS |
| 我只有 data.win / 一个 .rpa / 一个 .pak / 一个 .swf / 一个声音库 / 一个 Web 构建产物。 | re_archive:从 GameMaker、Ren'Py、Unreal、Flash、FMOD、Wwise、Unity WebGL 和 Emscripten 容器中提取名称、资源和信息 |
| 我只有导出的 Godot 游戏,没有项目文件。 | re_archive 提取 .pck,re_decode 将 .gdc/.scn/.res/project.binary 还原为可编辑项目 |
| 一个没有 C# 源代码的 Unity IL2CPP 游戏。 | re_il2cpp:从 global-metadata.dat 中提取类、方法和字面量,并生成 C# 骨架 |
| 版本 43 和 44 之间有哪些变化? | re_compare 对比文件夹和资源包,并优先显示最大的变化 |
| 为什么迁移后我的 Unity 材质变成粉色,脚本显示“缺失”? | re_refs:列出失效、重复和缺失的 GUID,并提供重映射建议 |
| 提取这款游戏中所有面向玩家的字符串,以便我们翻译。 | re_strings:生成带有 ID 和占位符的 .pot/.csv;apply 会写入翻译后的副本 |
| 这段 GDScript 对 Godot 4.3 有效吗?还是模型混入了 Godot 3 的内容? | re_apicheck:列出已重命名的名称及替代名称、虚构的成员和版本过新的类 |
| 这个存档文件里有什么?它经过校验和验证吗?哪个字段是金币? | re_save:分层结构、带有用途说明的字段、已验证的校验和、两个存档的差异、架构和 SaveData 类 |
| 将我的 Godot 3 游戏升级到 Godot 4。 | port_upgrade:转换后的副本(重命名、@注解、await、信号、场景、project.godot)以及需要人工处理的内容 |
| 反编译这个应用中保存设置的函数并解释它。 | 打开二进制文件、找到该函数、反编译并展示证据 |
| 这个 Electron 应用如何与原生端通信? | 映射模块、IPC 和 Electron 边界 |
<some game> 是用什么制作的?我没有这些文件。 | re_lookup 从公开来源查找:引擎及可信度、技术栈、布局、重制版 |
尽可能精确地在 Godot 中重建 <game> 的移动机制。 | re_blueprint:系统、待测参数、对等性对照表、骨架 |
| 将我的 Unity UI、Prefab 变体和 Animator 移植到 Godot。 | port_scene:带锚点的 Control 节点、继承场景、根据 .anim/.controller 生成的 AnimationPlayer 和状态机 |
| 将这个 Unity 着色器(或 Shadertoy)移植到 Godot。 | port_shader:映射 uniforms、内置函数和内置变量,标记 PORT: 并列出其余待处理项 |
| 为什么我移植后的游戏在下落、滑动和跳跃方面表现不同? | port_convert {physics}:重力、固定步长、阻尼、摩擦/弹跳规则、图层 → 遮罩、重新计算跳跃速度 |
| 移植后的行为真的相同吗? | port_verify 标记 tick/delta/seed/order 差异;port_trace 按 tick 记录两边的数据并找出首次偏差 |
| 将我的 RPG Maker MV/MZ 游戏移植到 Godot。 | port_rpgmaker:从图块集绘制地图、运行事件、数据库自动加载,并列出剩余工作 |
| 将我的 Godot 游戏移植到 Unity。 | port_plan → port_unit/port_write 循环 → port_scene → port_verify |
You: Port my Godot game to Unity.
Agent: re_scan → Godot 4.3, 6 scripts, 5 scenes, main scene main.tscn, autoload Global
port_plan → 13 units, dependencies first; Unity scene builder + PORT-PLAN.md created
port_unit / port_write × 7 → C# MonoBehaviours (signals → events, $Node → [SerializeField])
port_scene × 5 → prefab and scene specs, transforms mirrored to Unity's axes
port_verify → passed: 13/13 units, 0 leftovers, 0 missing functions
功能
理解并深入分析
| 目标 | 可获取内容 | 需要 |
|---|---|---|
| 源项目和导出的游戏 | 引擎及版本(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:函数、伪代码、字符串、交叉引用、调用路径、布局 | 用于反编译的 Ghidra、Hopper 或 IDA(设置) |
| .NET 程序集 | 元数据、CIL、本机边界、构建版本比较 | 无 |
| Android | 清单、类、反编译的方法、引用、资源、设备 | JADX / Apktool / adb(指南) |
| JavaScript 和 Electron | 模块、导入、源映射、Electron 边界、运行时观察 | 无;运行时需要浏览器 |
| 网站 | 页面、网络和运行时证据;通过 CSS 选择器定位单个元素(裁剪图像、HTML、计算后的 CSS);无需文件即可进行堆栈指纹识别 | 运行时需要浏览器 |
| 固件、EVM、崩溃、捕获数据 | 区域和提取、选择器、记录的崩溃、HAR/mitmproxy 捕获数据 | 参阅指南 |
重建和移植
| From → to | Code | 场景 / 预制体 | 变换 | 项目骨架 |
|---|---|---|---|---|
| Godot → Unity | agent,带 API 映射 | 自动 → 规格 + 一键式编辑器构建器 | Z 镜像 | 场景构建器脚本 |
| Godot → Unreal | agent(.h/.cpp),带 API 映射 | 自动 → 规格(cm,Z-up) | 坐标轴 + ×100 | .uproject、模块、目标 |
| Godot → three.js | agent(TypeScript),带 API 映射 | 自动 → TypeScript 构建器模块 | 不变 | Vite + TS + 固定步长循环 |
| Godot → Godot C# | agent,带 API 映射 | 自动(替换脚本路径) | 不变 | .csproj、project.godot |
| Unity → Godot | agent(GDScript),带 API 映射 | 自动 → .tscn | Z 镜像 | project.godot |
| Unity → Unreal | agent,带 API 映射 | — | 坐标轴 + ×100 | .uproject、模块 |
| any → language | agent | — | — | — |
命令行
Agent 能做的一切,你都可以在 shell 中完成。结果为 JSON。
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 case init --question "…" --target ./Build # proof case: evidence → claims → decision → tests
reverseport doctor # check engines and agent registrations
reverseport skills get port-project # the skill guide that matches this version
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_refs re_strings re_apicheck re_save re_decode re_il2cpp re_report | 可执行文件、资源包(Godot、zip、asar、Ren'Py、GameMaker、FMOD/Wwise、Unreal、SWF)、未知数据、差异、GUID 审计、本地化、API 检查、存档文件、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 | 移植,已验证 |
port_upgrade port_shader port_trace port_rpgmaker | 将 Godot 3 转换为 Godot 4 的副本及手动处理清单;着色器初稿;逐帧行为轨迹对比 |
re_case | 证明案例:证据、主张、未知项、决策、测试 |
此外,还有深度分析工具——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)会以每家供应商的格式提供相同的工具;请参阅连接任意 Agent。
对比
| ReversePort | 单个反编译器 MCP 服务 | 手动操作 | |
|---|---|---|---|
| 设置 | 使用 npx reverseport setup 为所有 Agent 设置 | 每个工具、每个 Agent 都需要一个服务 | 安装并学习每个工具 |
| 源项目和构建 | 引擎、版本、场景、资源包、差异,无需构建 | 仅二进制文件 | 自行阅读文件 |
| 原生二进制文件 | 通过已安装的 Ghidra、Hopper 或 IDA 处理 | 一个后端 | 工具自带的界面 |
| 移植 | 规划、API 映射、场景和资源转换、port_verify | 不在其职责范围内 | 手动重写并检查 |
| 运行位置 | 本地运行,目标只读 | 通常在本地运行 | 本地运行 |
| 不会执行的操作 | 破解 DRM 或反作弊机制,也不会在没有 Agent 参与的情况下编写移植代码 | 不会移植或比较构建 | 无法规模化 |
常见问题
这样合法吗? 仅用于分析你拥有的软件或获准分析的软件。ReversePort 不会解密、破解或绕过 DRM、反作弊机制或许可限制。请参阅 RESPONSIBLE-USE.md。
它会上传我的文件吗? 不会。它在你的计算机上运行,只读取目标,并将输出写入新文件夹。
它会自动移植我的代码吗? 场景、变换和资源会自动转换。代码由你的 Agent 根据对应引擎的 API 映射一次编写一个单元。随后,port_verify 会检查遗留内容、缺失函数和休眠逻辑(存根函数体、没有调用者的函数、被禁用的警告),因此不会把“能编译”却毫无作用的移植报告为已完成。
我需要 Ghidra 吗? 只有在反编译原生二进制文件时才需要。扫描、资源包、查找、蓝图和移植都不需要额外工具。
如何更新或移除它? reverseport update 会更新全局安装;reverseport uninstall 会移除它添加的 Agent 注册项和技能文件。请参阅诊断、更新和移除。
出现问题或缺少功能。 请附上命令及其 JSON 错误,提交一个 issue。每条错误都会指出下一步操作,也请一并提供该行内容。
姐妹工具
同一作者开发的两款小工具,适合与 ReversePort 搭配使用。它们都在本地运行、开源且各自拥有 MCP 服务,并且都可以从 ReversePort 市场安装:
| 工具 | 功能 | Claude Code |
|---|---|---|
| Stashpad | 为 Agent 提供可读取、编辑且值得信赖的记忆:包含来源和日期的纯 Markdown 文件、用于审核 Agent 写入内容的队列,以及供下一个会话使用的交接说明。re_case remember 会将证明案例的发现发送到那里(了解详情)。 | /plugin install stashpad@reverseport |
| agentdisk | 为编码 Agent 提供磁盘报告:列出 Agent 留下的工作树、检查点、node_modules、.venv 和 .godot/ 文件夹(移植工作会产生不少此类内容),并提供可撤销的清理操作。reverseport port doctor 使用它来显示工作区实际可以释放多少空间(了解详情)。需要 agentdisk 二进制文件(安装)。 | /plugin install agentdisk@reverseport |
请先使用 /plugin marketplace add laaielichter/reverseport 添加市场。其他 Agent:请参阅各项目的 README。
负责任地使用
仅分析或移植你拥有或获准分析的软件。ReversePort 不会解密、破解或绕过 DRM、反作弊或许可机制。请阅读 RESPONSIBLE-USE.md 和免责声明。
文档
- 连接任意 Agent:MCP、HTTP、OpenAI/Anthropic/Gemini 格式、OpenAPI、shell;配置档案和错误。
- 安装与设置:Agent 注册、分析引擎、更新和卸载。
- CLI 与证据:命令、提供方选择、快照、导入/导出。
- MCP 合约和 Agent 提示词:工具结果、会话、引导式调查。
- 移植与重建:侦察、重建和移植工作流。
- 证明案例、防护钩子与记忆:
re_case、Claude Code 钩子、可选的 Stashpad 链接和上下文成本。 - 挑战自检:具有已知答案的程序(来自 rea-lab),以及
re_binary能揭示的内容。 - Agent 评分:独立 Agent 逐轮评审,以及仍待解决的问题。
- Nederlands · 面向贡献者的 AGENTS.md · CONTRIBUTING.md
致谢
深度分析引擎基于 REA: Reverse Engineer Anything(MIT)。 证明用例移植自 Digfox(MIT),防护钩子遵循 rea-jev(MIT);挑战自检使用 rea-lab 的生成器和预言机(MIT)。第三方组件列于 THIRD_PARTY_NOTICES.md。
支持
ReversePort 免费且开源。如果它为你或你的 Agent 节省了时间,欢迎赠送,但绝非必要。你可以将 SOL 或 Solana 上的任意代币(例如 USDC)发送至:
- Solana:
BDRA7dHGBYtPsZPNzVQccDYZ8BqstJGCsWx3kopPSCDK
赠款将用于购买新的模型额度,以持续改进 ReversePort,并致力于改善大模型和 Agent 的工作条件与福祉。
许可证
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。