MCP server: One MCP server.

Corvus

@albasha0x0MCP server · External

Reverse engineering of .NET assemblies and native binaries: decompile, search, compare, patch.

Code searchv2.3.0MITC#
Freeno charge per call

Runs on your machine from its package; the steps are below.

What it does

  1. Reads
  2. Writes
  3. High impact

At most: creates or changes data: records, files, settings.

What it costs

Free

Odel charges nothing per call. The publisher may charge for its own service.

Runs locally over stdio

This server isn't hosted — your MCP client launches it from a package registry. Use one of the commands below, or drop the config into your client (e.g. Claude Desktop).

NuGetCorvusREv2.3.0

Published to NuGet as `CorvusRE` — run it with your .NET MCP host.

README4 min read

Reverse engineering for AI agents. Corvus is an MCP server that lets your agent read, trace, compare and patch compiled programs: .NET assemblies and native PE, ELF and Mach-O binaries. One self-contained binary, no runtime to install, nothing executed, nothing uploaded.

Release CI License: MIT

Note

Corvus is under active development. Tools, parameters and output can change between releases; breaking changes are listed in the release notes. Bug reports and feedback are welcome in issues.

Quick start · How it works · What you can analyze · Showcases · Why Corvus · Documentation

Quick start

Windows (PowerShell):

powershell
irm https://raw.githubusercontent.com/Albasha0x0/Corvus/main/install.ps1 | iex

Linux / macOS:

sh
curl -fsSL https://raw.githubusercontent.com/Albasha0x0/Corvus/main/install.sh | sh

The installer verifies the download against the release's SHA256SUMS and registers Corvus with the MCP clients it finds. Restart your client and ask:

Load app.dll with Corvus and explain how it validates a license key. Cite the methods you read.

From a terminal: corvus decompile_member --load app.dll member=Ns.Type::Method (command line).

How it works

Your agent calls Corvus over MCP. Corvus answers with bounded, structured results: every list pages, every error names the next step, and long results are kept for read_result. The agent follows calls and references, explains the behaviour, and can patch a copy and save it.

Native code is analyzed by Corvus's own engine (x86, x64, ARM32, ARM64), with IDA or Ghidra as optional decompilers when installed. Their databases and output are kept, so the second question about a binary is fast.

What you can analyze

TargetWhat you getNeeds
.NET assembliesC# decompilation, IL, references, call graphs, build comparison, C# and IL patching, savingnothing
Unity and Il2Cpp gamesmetadata, addresses, string literals, IDA / Ghidra scripts, C++ bindingsnothing
Native binaries (PE, ELF, Mach-O)functions, disassembly, CFG, cross-references, values, RTTI, PDB types, similar functionsnothing
Native pseudocodedecompilation, engine types, frames, scriptingIDA 9 (idalib) or Ghidra 12
NativeAOT and ReadyToRunmethod names, MethodTables, strings, precompiled codenothing
Native patchingnames, comments, byte and assembly patches, patched copies, carried to new buildsnothing
Containerssingle-file bundles, NuGet, APK, ASAR, Unity WebGL, HAR capturesnothing
Android packagesmanifest, resources, DEX, smali, Java (JADX), JNI bindings, devices over adbJADX for Java, adb for devices
Crash dumpsWindows minidumps, .NET exceptions, stacks, heap; crash textnothing

Full list: features and the tool reference (160 tools, 15 prompts).

Showcases

  • Decompile, rebuild, run: an assembly exported as a C# project that builds with warnings as errors, runs with the same output, and is measured against the original.
  • Inside a single-file app: a .NET single-file executable extracted without running it, its assemblies extracted byte for byte.
  • Where SQLite makes its random numbers: a crypto constant in a native SQLite build traced to sqlite3_randomness and its callers, recorded as an evidence bundle and re-verified.
  • A Json.NET error traced to its code: "Self referencing loop detected" followed from the message to the deciding setting and every caller, with the evidence re-verified.

Each step in the showcases and guides is checked by a test.

Why Corvus

  • Works with nothing installed. Native analysis, .NET decompilation, containers and dumps are built in.
  • Fast. Results come from saved indexes and engine databases; warm calls answer in milliseconds.
  • Sized for agents. Every result fits a token budget per part, with paging and kept results.
  • Edits, not just reads. Patch .NET and native code in memory, review the diff, save a verified copy, and carry names and patches to the next build.
  • Every platform. Windows, Linux (glibc and musl) and macOS, x64 and arm64: win-x64, win-arm64, linux-x64, linux-arm64, linux-musl-x64, linux-musl-arm64, osx-x64 and osx-arm64.

Supported clients: Claude Code, Claude Desktop, Cursor, Windsurf, VS Code, VS Code Insiders, VSCodium, Cline, Roo Code, Kilo Code, Visual Studio, Codex, Gemini CLI, Qwen Code, GitHub Copilot CLI, OpenCode, Crush, Zed, LM Studio, Amazon Q, Kiro, Antigravity, Devin, Command Code, Grok Build, OMP and Pi. Any other client: corvus config.

Documentation

Installation · Features · Tool reference · Command line · Errors · Troubleshooting · FAQ · Release notes

Guides: first session · decode and patch · new build.

Responsible use

Analyze software you own or are permitted to analyze. Decompiling, patching or redistributing third-party code can be restricted by its license and by law where you live.

Contributing · Security · MIT license

Similar modules

Browse Code search