mcpField
R
ReversePort

ReversePort

本地服务
github.com开发工具51 天前更新

关于 ReversePort

ReversePort 是供编码 Agent 使用的 CLI 和 MCP 服务,用于分析软件并跨引擎、语言移植项目。它结合项目与二进制分析、基于证据的重建规格及验证流程;在本机运行,并以只读方式处理目标。

主要功能

  1. 01检查项目、构建产物、归档与依赖
  2. 02通过已安装工具追踪并反编译目标
  3. 03从公开来源调查应用和游戏
  4. 04创建经过测量的重建规格
  5. 05转换场景并辅助代码移植
  6. 06验证移植结果并找出未完成差异

适用场景

  1. 01梳理陌生代码库或导出的游戏
  2. 02调查二进制函数并查看证据
  3. 03根据公开应用或游戏编写洁净室规格
  4. 04移植 Godot 或 Unity 项目并验证结果

MCP 相关

ReversePort 通过 MCP 提供分析和移植工具,并可为受支持的 Agent 配置连接,也提供面向其他客户端的连接命令。它还支持通过本地端点使用 HTTP 上的 MCP。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"laaielichter-reverseport": {
"command": "npx",
"args": [
"-y",
"reverseport"
]
}
}
}
启动命令npx -y reverseport

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmreverseport1.9.0

工具

45

收录的工具列表 · 更新于 2 天前

参数类型必填说明
pathstring是要扫描的文件夹。
maxFilesinteger否达到此文件数后停止(默认值为 50000)。

详细介绍

ReversePort

逆向分析一切。移植到任何地方。

一个 CLI 和一个 MCP 服务,让你的编码 Agent 拆解应用、游戏、二进制文件和网站,并重新构建它们。

npm npm downloads MCP Registry MCP tool catalog License: MIT Node.js

npx reverseport setup
终端:ReversePort 扫描 Godot 的 2D 平台游戏演示,将移植到 Unity 的计划拆分为 68 个单元,复制 38 个资源,转换一个场景并验证进度

在 Godot 的 2D 平台游戏演示上实际运行,JSON 精简至关键字段。

网站 · 快速入门 · 支持的所有 Agent · 技能 · 功能介绍 · 对比 · 常见问题 · 更新日志 · 文档


在应用或游戏中看到喜欢的功能?问问你的 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-portGodot 4 → Unity、Unreal、three.js 或 Godot C#:信号、节点路径、自动加载、物理、输入、坐标轴
unity-to-godotUnity → 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 → toCode场景 / 预制体变换项目骨架
Godot → Unityagent,带 API 映射自动 → 规格 + 一键式编辑器构建器Z 镜像场景构建器脚本
Godot → Unrealagent(.h/.cpp),带 API 映射自动 → 规格(cm,Z-up)坐标轴 + ×100.uproject、模块、目标
Godot → three.jsagent(TypeScript),带 API 映射自动 → TypeScript 构建器模块不变Vite + TS + 固定步长循环
Godot → Godot C#agent,带 API 映射自动(替换脚本路径)不变.csproj、project.godot
Unity → Godotagent(GDScript),带 API 映射自动 → .tscnZ 镜像project.godot
Unity → Unrealagent,带 API 映射—坐标轴 + ×100.uproject、模块
any → languageagent———

命令行

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 和免责声明。

文档

致谢

深度分析引擎基于 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 的工作条件与福祉。

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。