x64dbg-MCP Server 源码剖析Zig 零依赖架构如何实现单二进制跨平台调试【免费下载链接】x64dbg-mcp-serverx64dbg-MCP Server is a native MCP (Model Context Protocol) plugin for x64dbg that exposes the debuggers full functionality over HTTP. Connect any MCP-compatible AI assistant and control x64dbg programmatically: set breakpoints, step through code, read memory, dump registers, and more. Built with Zig — zero dependencies, single-binary output, cros项目地址: https://gitcode.com/gh_mirrors/x6/x64dbg-mcp-server想让 AI 助手直接操控调试器吗x64dbg-MCP Server是一个用 Zig 编写的原生 MCPModel Context Protocol插件把 x64dbg 调试器的完整能力通过 HTTP 暴露给任意 AI 客户端——零依赖、单二进制、一套源码跨平台编译 x32 与 x64。本文将剖析它如何用不到 6000 行代码实现这一目标理解其架构背后的工程取舍。项目概览让 AI 直接操控 x64dbgx64dbg-MCP Server 的定位是「MCP 驱动的智能逆向工程」。它不是一个独立的调试器而是一个嵌入到 x64dbg 内部的插件加载后在调试器进程内启动一个 HTTP 服务AI 客户端通过 JSON-RPC 发送请求每个工具调用都直接映射到 x64dbg 的 SDK。它的核心价值可以用三个词概括全功能覆盖 71 个 MCP 工具断点、单步、读内存、反汇编、模式扫描、字符串提取、xref、PE 分析等与 22 个调试事件回调。零依赖纯原生插件无 .NET、无 Python、无任何运行时。跨平台同一套源码在 Linux / macOS / WSL 上交叉编译出 Windows 的 x32 与 x64 两个插件。架构总览6 个模块如何协同整个项目只有 6 个源码文件 1 个构建脚本职责边界非常清晰文件行数职责main.zig459插件入口、菜单、22 个事件回调bridge.zig456x64dbg SDK 绑定运行时符号解析mcp_server.zig819HTTP 服务与 JSON-RPC 分发config.zig737Win32 配置对话框与持久化tools.zig320971 个 MCP 工具定义与处理器json.zig142零分配 JSON 写入器调用链路一目了然AI 请求 → mcp_server.zig 解析 JSON-RPC → tools.zig 找到工具 → bridge.zig 调用调试器 API。插件运行在 x64dbg 的地址空间内无需轮询、无需外部进程直接访问调试器 API。零依赖架构为什么不需要运行时多数「MCP 服务器」靠 Python 或 .NET 运行时支撑部署时要装解释器。而本项目把依赖压到了极致——build.zig 里只链接三个Windows 系统库kernel32 ws2_32 user32其余全部由 Zig 标准库与手写代码完成。三个关键设计让「零依赖」成为可能手写网络层HTTP 服务器没有用任何框架直接基于 mcp_server.zig 的serverLoop用socket / bind / listen / accept手写每个连接开一个线程处理。零分配 JSONjson.zig 的JsonWriter直接写入固定大小缓冲区序列化过程不触发堆分配。原生 Win32 UI配置对话框用 config.zig 直接调用 Win32 API 构建连资源编译器都省了。结果是「把插件丢进 x64dbg 的plugins文件夹就能跑」没有任何额外安装步骤。单二进制跨平台一套源码编译 x32 与 x64这是项目最有工程含量的部分。x32dbg 与 x64dbg 的调试器 API 分属x32bridge.dll/x64bridge.dll指针宽度也不同通常要写两套绑定。本项目用运行时符号解析绕开了这个难题。在 bridge.zig 的init()中插件加载时通过GetModuleHandleAGetProcAddress按当前架构动态解析每一个 API 函数指针DLL 名由sizeOf(usize)在编译期决定64 位进程 → 加载x64bridge.dll/x64dbg.dll32 位进程 → 加载x32bridge.dll/x32dbg.dll于是同一份 main.zig 源码同时适配两种架构。构建时build.zig 定义两个目标模块.x86与.x86_64均为 Windows一次性产出两个单文件插件dist/ ├── x32/plugins/x64dbg-MCP-Server.dp32 └── x64/plugins/x64dbg-MCP-Server.dp64只需一条命令即可在任意宿主系统上交叉编译zig build -DoptimizeReleaseSafe --prefix dist把dist/内容拷入 x64dbg 根目录两个架构同时部署完成。手写 HTTP 服务无框架的网络层设计mcp_server.zig 同时实现了Streamable HTTP SSE两种传输兼容新旧 MCP 客户端。几个值得注意的细节每连接一线程serverLoop在accept到新连接后立即CreateThread派发互不阻塞。手动解析 HTTPfindHeaderEnd/parseContentLength直接扫描Content-Length不依赖任何解析库。JSON-RPC 分发handleJsonRpc按initialize/tools/list/tools/call/ping路由tools.zig 的工具注册表是查找的核心。优雅停止stop()会关闭所有 SSE 长连接与监听套接字WaitForSingleObject等待服务线程退出后再回收。71 个 MCP 工具把调试能力交给 AI工具在 tools.zig 中以声明式数组注册每个ToolDef包含名称、描述、参数 schema 与处理器。按可用性分为两类始终可用10 个GetDebugState、LoadBinary、EvalExpression、SearchForStrings、ExecuteDebuggerCommand等。需活跃调试会话61 个StepInto、ReadMemory、SetBreakpoint、GetCallStack、AnalyzeModule、DetectOEP等。tools/list会实时根据bridge.isDebugging()过滤工具列表——没有调试会话时AI 只会看到基础工具从协议层面杜绝了误操作。AI 拿到每个工具后即可像人一样「设断点 → 运行 → 等暂停 → 读寄存器」。快速上手安装、配置与 Bearer 认证部署从 Release 下载或源码构建将dist/拷入 x64dbg 根目录启动即自动拉起服务默认 x64 端口9094x32 端口9095。接入 AI在 MCP 客户端配置中指向服务地址并带上认证头{ mcpServers: { x64dbg: { type: http, url: http://localhost:9094/, headers: { Authorization: Bearer YOUR_TOKEN } } } }安全设计由于服务器拥有完整的内存读写与进程控制权限config.zig 在首次运行时通过SystemFunction036自动生成 Bearer Token 并持久化到mcp_config.json每个请求都必须携带该 Token否则返回401 Unauthorized。配置可通过「Plugins x64dbg-MCP Server Configure」修改 IP / 端口 / Token保存后服务自动重启。提示0.0.0.0监听所有网卡便于 WSL / 远程接入127.0.0.1仅限本地。请勿将服务暴露给不可信网络。总结Zig 零依赖的架构价值x64dbg-MCP Server 用 ~5900 行代码证明了选对语言能把「插件 网络服务 UI 协议」四件事压缩进一个无需运行的单二进制文件。零依赖→ 部署零门槛拷进plugins即用运行时符号解析→ 一套源码同时吃下 x32 / x64交叉编译→ 在 Linux / macOS / WSL 上产出 Windows 插件零分配 手写网络层→ 无运行时、无外部进程、直接落在调试器地址空间内对于「给传统桌面工具接上 AI」这类场景这套架构提供了一个极佳的参考范本不必引入重型运行时也能让任何 MCP 客户端像操作本地工具一样操控整个调试器。【免费下载链接】x64dbg-mcp-serverx64dbg-MCP Server is a native MCP (Model Context Protocol) plugin for x64dbg that exposes the debuggers full functionality over HTTP. Connect any MCP-compatible AI assistant and control x64dbg programmatically: set breakpoints, step through code, read memory, dump registers, and more. Built with Zig — zero dependencies, single-binary output, cros项目地址: https://gitcode.com/gh_mirrors/x6/x64dbg-mcp-server创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考