使用说明
项目简介
x64Dbg MCP Server 插件是一个基于 .NET Framework 开发的 x64dbg 调试器插件,它充当 MCP 客户端和 x64dbg 调试器之间的桥梁。该插件通过自托管的 HTTP 服务器暴露出一系列调试器命令,使得 LLM 客户端能够通过标准的 MCP 协议远程调用这些命令,从而实现对调试器功能的程序化访问和控制。这为 AI 辅助的逆向工程、安全分析和自动化调试流程提供了强大的工具。
主要功能点
- 自托管 HTTP 命令接口:无需 ASP.NET Core,轻量级实现 HTTP 服务器,方便快捷部署。
- 模块化命令系统:内置命令系统,易于扩展和定制,方便用户根据需求添加新的调试器功能。
- 深度调试器集成:直接与 x64dbg 调试器引擎交互,支持操作寄存器、内存、线程、反汇编等核心调试功能。
- 双向 AI/LLM 命令支持:允许 LLM 客户端发送命令并接收调试器返回的数据,实现双向交互。
- 插件热重载:无需重启 x64dbg 即可重新加载插件,方便开发和调试。
- 表达式函数和菜单扩展:支持扩展 x64dbg 的表达式函数和菜单,提供更灵活的操作方式。
安装步骤
- 克隆仓库:使用 Git 克隆 'x64DbgMCPServer' 仓库到本地。
git clone https://github.com/AgentSmithers/x64DbgMCPServer - 编译项目:使用 Visual Studio Build Tools (2019 v16.7 或更高版本) 打开解决方案并进行编译。
- 复制插件文件:将编译生成的 'DotNetPluginCS\bin\x64\Debug' 目录下的文件复制到 x64dbg 的插件目录 'x96\release\x64\plugins' 中。
- 启动 MCP 服务器:启动 x64dbg 调试器,在插件菜单中点击 "Start MCP Server" 启动 MCP 服务器。
服务器配置
MCP 客户端需要配置以下信息才能连接到 x64Dbg MCP 服务器:
{ "serverName": "x64DbgMCPServer", "command": "sse", "args": [ "--url", "http://localhost:3001/sse/" ], "notes": "请确保 x64dbg MCP Server 插件已启动,并监听在 http://localhost:3001 端口。" }
- serverName: MCP 服务器的名称,可以自定义。
- command: 连接 MCP 服务器的命令,这里设置为 "sse",表示使用 SSE 协议连接。
- args: 连接命令的参数,'--url' 指定了 MCP 服务器的 SSE 地址,默认为 'http://localhost:3001/sse/'。 请确保此地址与插件实际监听地址一致。
- notes: 配置说明,提醒用户确保服务器已启动并监听在指定端口。
基本使用方法
-
启动 x64dbg 和目标程序:在 x64dbg 中加载并运行需要调试的程序。
-
启动 MCP 服务器插件:如果尚未启动,请在 x64dbg 插件菜单中启动 "MCP Server"。
-
配置 MCP 客户端:根据上述“服务器配置”信息配置 MCP 客户端,并连接到 'http://localhost:3001/sse/' 地址。
-
发送 MCP 命令:通过 MCP 客户端向服务器发送 MCP 命令,例如:
- 'ExecuteDebuggerCommand command="ReadMemAtAddress addressStr=0x00401000, byteCount=16"':读取 0x00401000 地址开始的 16 字节内存数据。
- 'ReadDismAtAddress addressStr=0x00401000, byteCount=32':反汇编 0x00401000 地址开始的 32 字节代码。
- 'GetAllRegisters':获取所有寄存器的值。
- 'GetCallStack':获取当前调用堆栈信息。
更多可用命令请参考 'Plugin.Commands.cs' 文件中带有 '[Command]' 特性的方法,以及插件提供的 'tools/list' 接口。
-
接收响应:MCP 服务器会将执行结果以 JSON 格式通过 SSE 连接返回给客户端。
信息
分类
开发者工具