关于 Corvus
Corvus 是供 Agent 分析已编译 .NET 程序集和原生二进制文件的 MCP 服务,支持追踪、比较和修补。它以独立可执行文件运行,默认不会执行所分析的文件,并提供有界结果。
主要功能
- 01反编译 .NET 程序集
- 02分析 PE、ELF 和 Mach-O 二进制文件
- 03追踪引用与调用图
- 04比较构建版本并检查崩溃转储
- 05修补代码并保存经过验证的副本
- 06分页返回并保留结构化结果
适用场景
- 01追踪程序集中的方法行为
- 02比较两个已编译版本
- 03检查原生二进制文件或崩溃转储
- 04修补二进制文件并保存副本
MCP 相关
Agent 通过 MCP 调用 Corvus 工具来检查和修改已编译程序。它返回结构化的分页结果,并保留较长结果以供后续读取。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Corvus
面向 AI Agent 的逆向工程。 Corvus 是一个 MCP 服务,让你的 Agent 能读取、追踪、比较和修补已编译程序:.NET 程序集,以及原生 PE、ELF 和 Mach-O 二进制文件。它是一个独立的二进制文件,无需安装运行时,也不会上传任何内容;默认情况下,它读取的内容都不会被执行。
说明
Corvus 正在积极开发中。工具、参数和输出可能会随版本更新而变化;重大变更会列在发行说明中。欢迎提交 Bug 报告和反馈,地址:issues。如果 Corvus 对你有帮助,点个星标能让更多人发现它。
快速开始 · 工作原理 · 可分析的内容 · 展示案例 · 为什么选择 Corvus · 文档
快速开始
Windows(PowerShell):
irm https://raw.githubusercontent.com/Albasha0x0/Corvus/main/install.ps1 | iex
Linux / macOS:
curl -fsSL https://raw.githubusercontent.com/Albasha0x0/Corvus/main/install.sh | sh
安装程序会根据发行版的 SHA256SUMS 校验下载内容,并将 Corvus 注册到检测到的 MCP 客户端。作为插件使用(服务和技能;需要 .NET 10 SDK):在 Claude Code 中运行 /plugin install corvus --marketplace Albasha0x0/Corvus;在 Codex 中运行 codex plugin marketplace add Albasha0x0/Corvus,然后在 /plugins 中运行 corvus(安装说明)。重启客户端并提问:
使用 Corvus 加载 app.dll,并解释它如何构建导出文件。请注明你读取的方法。
在终端中运行:corvus decompile_member --load app.dll member=Ns.Type::Method(命令行)。
工作原理
你的 Agent 通过 MCP 调用 Corvus。Corvus 会返回有界、结构化的结果:所有列表都会分页,每条错误信息都会指出下一步操作,较长的结果会保留供 read_result 使用。Agent 会跟进调用和引用,解释程序行为,也可以修补副本并将其保存。
原生代码由 Corvus 自有引擎(x86、x64、ARM32、ARM64)分析;如果已安装 IDA 或 Ghidra,也可以将它们用作可选的反编译器。其数据库和输出都会保留,因此再次询问有关某个二进制文件的问题时,速度会更快。
可分析的内容
| 目标 | 可获取的内容 | 需要 |
|---|---|---|
| .NET 程序集 | C# 反编译、IL、引用、调用图、构建对比、C# 和 IL 补丁、保存 | 无 |
| Unity 和 Il2Cpp 游戏 | 元数据、地址、字符串字面量、IDA / Ghidra 脚本、C++ 绑定 | 无 |
| 原生二进制文件(PE、ELF、Mach-O) | 函数、反汇编、CFG、交叉引用、值、RTTI、PDB 类型、相似函数 | 无 |
| 原生伪代码 | 反编译、引擎类型、帧、脚本 | IDA 9 (idalib) 或 Ghidra 12 |
| NativeAOT 和 ReadyToRun | 方法名称、MethodTables、字符串、预编译代码 | 无 |
| 原生补丁 | 名称、注释、字节和汇编补丁、已打补丁的副本,并迁移到新构建 | 无 |
| 容器 | 单文件捆绑包、NuGet、APK、ASAR、Unity WebGL、HAR 捕获、安装程序(MSI、NSIS、Inno Setup、WiX Burn)、冻结的 Python 程序、固件映像;CycloneDX SBOM、YARA-X 匹配项 | 无 |
| Android 软件包 | 清单、资源、DEX、smali、Java (JADX)、JNI 绑定、通过 adb 连接的设备 | Java 需要 JADX,设备需要 adb |
| 崩溃转储 | Windows 小型转储、Linux 和 macOS 核心转储、.NET 异常、栈、堆;崩溃文本 | 无 |
| 正在运行的程序 | 带停止点的会话、调用记录、代码覆盖率、活动跟踪、快照和 Windows、Linux、macOS 上的子进程 | Frida 17.24.3 或更新的 17.x;默认关闭 |
完整列表:功能和工具参考(165 个工具、15 个提示词)。
示例
- 反编译、重建、运行: 将程序集导出为 C# 项目,以警告视为错误的方式构建,运行后输出相同结果,并与原始版本进行比较。
- 单文件应用内部: 提取 .NET 单文件可执行文件而不运行它,并逐字节提取其程序集。
- SQLite 在哪里生成随机数: 将原生 SQLite 构建中的加密常量追溯到
sqlite3_randomness及其调用者,记录为证据包并重新验证。 - 追溯 Json.NET 错误的代码来源: 从“Self referencing loop detected”这条消息追溯到决定性设置及其每个调用者,并重新验证证据。
示例和指南中的每个步骤都经过测试验证。
为什么选择 Corvus
- 无需安装即可使用。 原生分析、.NET 反编译、容器和转储功能均已内置。
- 快速。 结果来自已保存的索引和引擎数据库;热调用可在毫秒内返回结果。
- 为 Agent 量身打造。 每个结果都符合每部分的令牌预算,并支持分页和保留结果。
- 不只读取,还能编辑。 在内存中修补 .NET 和原生代码、检查差异、保存经过验证的副本,并将名称和补丁迁移到下一个构建。
- 支持所有平台。 Windows、Linux(glibc 和 musl)及 macOS,x64 和 arm64:win-x64、win-arm64、linux-x64、linux-arm64、linux-musl-x64、linux-musl-arm64、osx-x64 和 osx-arm64。
支持的客户端: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 和 Pi。其他客户端:corvus config
文档
安装 · 配置 · 功能 · 工具参考 · 命令行 · 错误 · 故障排除 · 常见问题 · 发行说明 · 所有页面
负责任地使用
请仅分析你拥有或获准分析的软件。反编译、修改或重新分发第三方代码,可能受到其许可证以及你所在地法律的限制。
Star 历史
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。