使用说明
调试器mcp
MCP服务器,用于通过CDB和KD进行交互式Windows调试。专为逆向工程和漏洞研究工作流程而构建。
将Windows调试工具(CDB用于用户模式,KD用于内核模式)封装在模型上下文协议后面,允许LLM驱动的调试会话完全控制断点、内存、寄存器和进程状态。
它做什么
- 会话管理 --针对用户模式进程或内核目标启动、附加、分离和关闭调试会话
- 过程控制 --进入/结束/退出,继续执行,闯入正在运行的目标
- 断点 --地址或符号处的软件断点、条件断点、硬件观察点(数据断点)
- 内存操作 --各种格式(字节、单词、双字、qwords、ASCII、Unicode、指针)的读/写/搜索内存,查询内存保护和布局
- 注册访问权限 --读写CPU寄存器
- 烟囱检查 --调用堆栈跟踪、局部变量显示
- 符号解析 --按模式解析符号,找到最接近地址的符号,列出加载的模块
- 分析工具 --自动碰撞分析(
!analyze -v)、堆检查、句柄枚举、线程堆栈转储 - 内核调试 --内核模块列表、驱动程序对象枚举、设备对象检查、IRP分析、池标签查询
需求
- Windows 10/11
- Windows SDK 或 WinDBG 已安装(提供
cdb.exe和kd.exe) - Python 3.10+
- 依赖关系:
pip install -r requirements.txt
设置
pip install -r requirements.txt
python server.py
服务器使用MCP协议通过stdio进行通信。将您的MCP客户端指向 python server.py.
对于内核调试,请使用适当的权限运行,并配置您的内核调试连接(本地、串行、网络),就像您对Winge/KD一样。
配置
服务器使用默认的Microsoft符号路径。集 _NT_SYMBOL_PATH 自定义符号分辨率。
建筑
debugger/
server.py # MCP server, tool definitions
engines/
session.py # Session lifecycle, CDB/KD process management
commands.py # Command builders and output parsers
symbols.py # Symbol path configuration
utils/ # Shared helpers
所有调试器交互都通过子进程管道到达CDB/KD。服务器对命令进行消毒,以防止shell注入并阻止危险操作(.shell, .create等等)。保护关键系统进程(PID 0、4、csrss、lsass等)免受意外连接。
许可证
CC BY-NC-SA 4.0——见 许可证.