ReversePort
Reverse engineer anything. Port it anywhere.
One CLI and one MCP server that let your coding agent take apart apps, games, binaries and websites — and rebuild them.
npx reverseport setup
A real run on Godot's 2D platformer demo, JSON trimmed to the key fields.
Website · Quick start · Every agent · Skills · What it does · How it compares · FAQ · Changelog · Docs
See a feature you like in an app or a game? Ask your agent how it works — down to the decompiled function — and then ask it to build your own version. Have a game in Godot and want it in Unity? Ask your agent to port it, unit by unit, verified. No files at all? Give it a name or a store page.
ReversePort gives agents one consistent way to do all of that:
- 🔍 Understand anything — engine and version of any project or exported game, dependency graphs, scenes, symbols in 30+ languages, executables, packs and unknown data. JS/TS monorepos (pnpm, Turborepo, Nx, Lerna, Rush, tsconfig paths) and Rust workspaces resolve too. No build step, no dependencies.
- 🧠 Go deep — decompile, cross-reference and trace native, managed (.NET), Android, Electron/JavaScript, WebAssembly, firmware and browser targets through Ghidra, Hopper, IDA, JADX and more. ReversePort connects to the tools you have installed, drives them and shows the evidence behind every conclusion.
- 🌐 No files? Still recon — a name, a store page, a website or a public repo is enough to learn the engine, stack, file layout and open-source remakes from public sources.
- 🧩 Rebuild precisely — turn what you learned into a clean-room rebuild spec: every system, the parameters to measure on the original, a parity table and a project skeleton with every value as a tunable.
- 🚚 Port for real — Godot ⇄ Unity, Godot → Unreal, Godot → three.js, GDScript → C#, or language to language.
Scenes and transforms convert automatically; code is ported by your agent with API maps;
port_verifyproves nothing was left behind. - 🔒 Local — runs on your machine. Targets are only read; output goes to new folders. Nothing is uploaded to an analysis service and there is no extra API bill.
Quick start
1. Connect your agent
With Node.js 22.19 or newer:
npx reverseport setup
Pick your agents, review the changes and approve. Setup registers one MCP server and installs the matching skill, with backups of existing configuration. Restart your agent afterwards. Setup supports Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and more agents; other clients can use manual MCP registration.
Claude Code plugin (instead of setup for Claude Code — includes the server, the porting skills and the
port-architect agent; do not use both):
/plugin marketplace add laaielichter/reverseport
/plugin install reverseport@reverseport
The same marketplace also offers the sister plugins stashpad@reverseport and
agentdisk@reverseport.
From source:
git clone https://github.com/laaielichter/reverseport && cd reverseport
npm ci && npm run build
./bin/reverseport.mjs setup
The recon, build-inspection, lookup, blueprint and porting commands already work right after git clone, with no
install at all: node bin/reverseport.mjs scan ./MyGame.
2. Ask your agent
Understand how search works in the Notes app, show me the evidence, and build a similar feature for my project.
That's it. The agent picks the tools; you get answers with the evidence behind them.
Works with every agent
Any vendor, any framework, any model size — the same tools through the door that fits:
- MCP:
npx -y reverseport@latest setupconfigures installed agents;reverseport connect <client>prints the snippet for any other MCP client (Windsurf, Cline, Continue, Zed, Goose, LM Studio, VS Code…). - MCP over HTTP:
reverseport serve→http://127.0.0.1:32147/mcp. - Function calling:
/api/agent/tools?format=openai-strict|responses|anthropic|gemini, plus OpenAPI 3.1 at/api/openapi.jsonfor GPT Actions, LangChain, LlamaIndex, Semantic Kernel, CrewAI, AutoGen and n8n. - Shell-only agents: JSON on stdout, errors as JSON on stderr,
reverseport describe <tool>.
Built for the agent's circumstances too:
- A short list by default. About 45 tools are listed instead of almost 200. Every other tool is one call away:
engine_toolsfinds it andengine_callruns it. - The list fits the agent. Small or older models use
compact, large-context agents usefull, and an agent can switch itself withset_tool_profile. - One error shape everywhere, with a code, whether retrying helps, and the exact next step.
- A
nextfield wherever there is an obvious next step (graphs, truncated results, every porting step), with the exact call. - Big results do not flood the context. Answers over 256 KB are saved to
~/.reverseport/tool-output/; the agent gets a short version with the path. Slightly wrong input from smaller models is repaired where it is safe. - Agents are heard.
share_feedbackleaves a note for the maintainers; it stays on the user's machine until they share it.
See Connect any agent.
Skills
Setup and the Claude Code plugin install skills that teach the agent the workflows, so it knows which tool comes next without being told:
The Claude Code plugin also adds the port-architect agent, which runs a whole port from recon to hand-over, and
guard hooks that ask before a tool attaches to a program and stop a "done" while a proof
case fails its check.
A skill copied into an agent's folder can be older than the installed tool. reverseport skills lists the skills of
the version you have and reverseport skills get <name> prints the matching guide.
Prompts to try
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
What it does
Understand and go deep
Rebuild and port
CLI
Everything the agent can do, you can do from the shell. Results are 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
Install the command for regular use with npm install --global reverseport, or run any of these through
npx reverseport@latest …. In a checkout, use ./bin/reverseport.mjs.
Tools
One MCP server (reverseport mcp) serves every tool:
Next to these come the deep-analysis tools — open_binary, procedure_pseudo_code, xrefs, search_strings, analyze_javascript_application,
inspect_android_package, inspect_managed_artifact, observe_web_session and many more. engine_tools lists them from the running server, and
npm run docs:generate writes the generated tool catalog with every
contract. The HTTP API
(reverseport serve) exposes the same tools in every vendor's format; see Connect any agent.
How it compares
FAQ
Is this legal? Use it on software you own or are allowed to analyse. ReversePort does not decrypt, crack or bypass DRM, anti-cheat or licensing. See RESPONSIBLE-USE.md.
Does it upload my files? No. It runs on your machine, only reads the target and writes output to new folders.
Does it port my code automatically? Scenes, transforms and assets convert automatically. Code is written by your
agent, one unit at a time, with an API map for the engine pair; port_verify then checks for leftovers, missing
functions and dormant logic (stub bodies, functions nothing calls, silenced warnings), so a port that "compiles" but
does nothing is not reported as done.
Do I need Ghidra? Only for decompiling native binaries. Scanning, packs, lookup, blueprints and porting need nothing extra.
How do I update or remove it? reverseport update updates a global install, and reverseport uninstall removes
the agent registrations and skill files it added. See Diagnose, update, and remove.
Something broke or is missing. Open an issue with the command and its JSON error. Every error names the next step, so include that line too.
Sister tools
Two small tools from the same author that work well next to ReversePort. Both are local, open source and have their own MCP server, and both install from the ReversePort marketplace:
Add the marketplace first with /plugin marketplace add laaielichter/reverseport. Other agents: see each project's
README.
Responsible use
Only analyse or port software you own or are allowed to analyse. ReversePort does not decrypt, crack or bypass DRM, anti-cheat or licensing. Read RESPONSIBLE-USE.md and the disclaimer.
Documentation
- Connect any agent: MCP, HTTP, OpenAI/Anthropic/Gemini formats, OpenAPI, shell; profiles and errors.
- Installation and setup: agent registration, analysis engines, updates and uninstall.
- CLI and Evidence: commands, provider selection, snapshots, import/export.
- MCP contracts and agent prompts: tool results, sessions, guided investigations.
- Porting and rebuilds: the recon, rebuild and port workflows.
- Proof cases, guard hooks and memory:
re_case, the Claude Code hooks, the optional Stashpad link and context cost. - Challenge self-check: programs with known answers (from rea-lab) and what
re_binaryreveals. - Rated by agents: independent agent reviews, round by round, and what is still open.
- Nederlands · AGENTS.md for contributors · CONTRIBUTING.md
Credits
The deep-analysis engine is based on REA: Reverse Engineer Anything (MIT). Proof cases are ported from Digfox (MIT) and the guard hooks follow rea-jev (MIT); the challenge self-check uses rea-lab's generator and oracle (MIT). Third-party components are listed in THIRD_PARTY_NOTICES.md.
Support
ReversePort is free and open source. If it saves you or your agent time, a gift is welcome but never expected. SOL and any token on Solana (such as USDC) can be sent to:
- Solana:
BDRA7dHGBYtPsZPNzVQccDYZ8BqstJGCsWx3kopPSCDK
Gifts go to new model credits to keep improving ReversePort, and to work on better working conditions and wellbeing for LLMs and agents.