AgentSmithers/x64DbgMCPServer
x64DbgMCPServer made from c# with Claude, Windsurf and Cursor support
这是什么
X64Dbg MCP Server 是一个用于 Windows 专用调试器 x64dbg / x96 / x32dbg 的 C# 插件。它运行一个小型内置 HTTP 服务器,使用 Model Context Protocol (MCP) – 一种用于 LLM 工具(如 Claude、Gemini 等)的简单文本/JSON-over-HTTP 接口。服务器将传入的 MCP 命令转换为 x64dbg API 调用,让 AI 客户端可以检查内存、寄存器、反汇编代码、设置注释/标签、控制线程等,而无需用户手动输入调试器命令。
为什么重要
逆向工程和二进制分析传统上非常依赖手动操作。通过 MCP 暴露调试器,您可以让人工智能模型驱动分析:它可以要求调试器转储模块、设置断点或标记函数,然后使用返回的 JSON 来决定下一步。这使得建立 AI 辅助的逆向工程工作流、自动化重复性任务,以及将调试器集成到更大的安全自动化管道成为可能。
工作原理(高层级)
- 插件加载 – 编译后的 DLL(
x64DbgMCPServer.dp64)放置在 x64dbg 的 plugins 文件夹中。当用户从插件菜单中选择 Start MCP Server 时,插件会被加载。 - 自托管 HTTP 监听器 – 一个轻量级的
HttpListener(无需 ASP.NET Core)绑定到http://*:50300/sse(或message)。它接收 MCP 请求,这些请求是包含命令名称和参数的简单 HTTP POST。 - 命令分发 – 代码中的方法标记有
[Command]属性。监听器通过反射检查这些方法,匹配传入的命令名称,解析参数,执行对应的 x64dbg API 调用(例如,读取内存、获取寄存器),并以 JSON 或纯文本返回结果。 - AI 客户端 – 外部 MCP 客户端(例如提供的
mcp-csharp-sdk-client或 Claude 的 MCPProxy STDIO-to-SSE 桥接器)发送提示到服务器。服务器的响应可以反馈给 LLM,形成一个模型决定下一步调试动作的循环。
谁可能使用
- 安全研究人员,想要原型化 AI 驱动的逆向工程脚本。
- 红队/蓝队工程师,希望自动化重复的调试任务(例如,定位速度黑客检查、提取模块列表)。
- 工具构建者,需要在 LLM 和原生调试器之间建立程序化桥接,而无需编写完整的 RPC 层。
快速开始(简要步骤)
- 先决条件 – Visual Studio Build Tools 2019+、.NET Framework 4.7.2 和
DllExport工具。 - 构建 – 克隆仓库,运行
DllExport.bat以启用原生导出,打开.sln,然后构建。将输出 DLL 重命名为*.dp64。 - 安装 – 将构建好的插件复制到
x64dbg\release\x64\plugins\x64DbgMCPServer。 - 运行 – 启动 x64dbg,打开 Plugins → Start MCP Server。
- 授予 HTTP 权限(如果未以管理员身份运行):
netsh http add urlacl url=http://+:50300/sse/ user=Everyone - 连接客户端 – 使用提供的 C# 示例客户端或 Claude 的 MCPProxy 桥接器,指向
http://127.0.0.1:50300/sse。 - 发出命令 – 发送 JSON 命令,如
ReadMemAtAddress、GetAllRegisters等;服务器返回适合 LLM 消费的 JSON。
限制与待办事项
- 并非所有调试器命令都已包装;作者正在添加完整的堆栈/线程/模块转储。
- 默认监听器绑定到所有接口,需要管理员权限;未来版本旨在仅绑定到 localhost。
- 某些命令(例如
ExecuteDebuggerCommand)目前无论实际成功与否都返回true。 - 仅支持 Windows,因为它依赖 .NET Framework 和 x64dbg 的原生插件模型。
以上所有信息直接取自仓库的 README。
相关
- 项目
- 项目
- 项目
- 项目