项目简介
x64dbg MCP是一个将流行的开源逆向调试器x64dbg与大型语言模型(LLM)连接起来的桥梁。它通过实现Model Context Protocol (MCP) 规范,将x64dbg的数十种调试功能封装为LLM可调用的工具(Tools)。这意味着LLM可以直接接收来自调试器的上下文信息,并执行断点设置、内存读写、寄存器修改、指令汇编、单步调试等操作,从而实现智能化的自动化逆向分析。
主要功能点
- 丰富的调试工具集: 封装了超过40种x64dbg SDK提供的调试功能,包括寄存器操作、内存访问、断点管理、单步执行、汇编/反汇编等。
- 跨架构支持: 兼容x64dbg和x32dbg两个版本,无论调试32位还是64位程序都能工作。
- LLM集成: 作为MCP服务器,提供标准接口供LLM客户端调用,实现LLM驱动的调试流程。
- 命令行接口: 提供命令行工具,方便直接测试和使用各项调试功能。
- 日志重定向: 支持将x64dbg的命令输出重定向到文件,以便LLM获取详细的执行结果。
安装步骤
- 下载x64dbg插件: 从项目的Releases页面下载适用于x64dbg或x32dbg的'.dp64'或'.dp32'插件文件。
- 安装插件: 将下载的插件文件(例如'x64dbgmcp.dp64')复制到你的x64dbg安装目录下的'release/x64/plugins/'(或'release/x32/plugins/')文件夹中。
- 安装Python依赖: 确保你的Python环境中安装了'requests'和'anthropic'库。如果未安装,请运行:
pip install requests anthropic fastmcp - 获取Python脚本: 从项目的Releases页面下载'x64dbgmcp.py'脚本文件,并将其放置在一个你方便访问的本地目录中。
服务器配置
MCP服务器通常由MCP客户端(例如Claude Desktop)启动和管理。以下是'claude_desktop_config.json'的配置示例,用于指示Claude Desktop如何启动此MCP服务器:
{ "mcpServers": { "x64dbg": { "command": "Path\\To\\Python", // 你的Python解释器可执行文件的完整路径,例如 "C:\\Python39\\python.exe" "args": [ "Path\\to\\x64dbg.py" // x64dbgmcp.py 脚本文件的完整路径,例如 "C:\\Users\\YourUser\\x64dbgMCP\\x64dbgmcp.py" ] } } }
- 'command':指定启动Python脚本的Python解释器路径。
- 'args':指定要运行的Python MCP服务器脚本的路径。
基本使用方法
- 启动x64dbg: 打开x64dbg调试器,并加载你想要分析的程序。
- 检查插件加载: 在x64dbg中按下'ALT+L'打开日志窗口,确认"x64dbg HTTP Server plugin loaded!"消息出现,并记下HTTP服务器运行的端口(默认为8888)。如果端口与Python脚本默认值(8888)不同,你可能需要通过环境变量'X64DBG_URL'(例如'set X64DBG_URL=http://127.0.0.1:9000/')或修改'x64dbgmcp.py'脚本来指定正确的URL。
- 启动MCP客户端: 启动已配置好'x64dbg' MCP服务器的LLM客户端(例如Claude Desktop),它会自动连接到x64dbgMCP服务器。
- 通过LLM进行调试: 现在你可以通过LLM向x64dbg MCP服务器发送请求,例如:
- "在main函数设置一个断点并单步执行几条指令。"
- "从地址0x401000读取100个字节并显示内容。"
- "当前RAX和RIP寄存器的值是多少?"
- "在当前模块中查找模式'48 8B 05'。" LLM将调用x64dbg MCP提供的工具来执行这些操作,并返回调试结果。
信息
分类
开发者工具