调试执行控制
脚本化驱动断点命中、单步与等待,批量样本可无人值守跑完。
寄存器与标志位
读写通用 / 调试寄存器与全部标志位,cax、cip 等别名让同一份脚本横跨 x86 与 x64。
反汇编与汇编
指令级解析、操作数与分支目标计算,也支持把汇编直接写回内存做 Patch 验证。
模块与节区分析
基址、大小、OEP、节区表、导入表与导出表一次拿到,方便做批量依赖梳理。
内存读写与特征扫描
按 1 / 2 / 4 / 8 字节或整块读写,支持 ?? 通配的特征搜索、批量替换、保护属性修改与远程分配。
原生脚本与 GUI 联动
下发 x64dbg 原生脚本命令,并把日志、注释、标签写回 GUI —— 自动化与人工复查在同一份工程里完成。
API Reference
接口一览
清单由 x32dbg / x64dbg 包源码自动提取,
共 306 个 x64 接口、
259 个 x32 接口、16 个类,输入关键词即可检索。
签名中省略了统一的 timeout 参数(默认 5.0 秒)。
MCP · AI
让大模型亲手去调试
MCP Server 把 SDK 的每个能力包装成标准 MCP 工具,共 198 个。模型可以自己打开样本、下断点、跑起来、读寄存器、翻内存,再把结论讲给你听。
198 个工具覆盖
从执行控制到符号解析,x64dbg 的能力几乎被完整映射为可被模型调用的工具。
启动服务端
CMD> pip install x32dbg x64dbg CMD> pip install fastmcp==3.4.7 CMD> cd MCPServer CMD> python main.py [*] 成功初始化MCP服务
客户端配置
以 streamable-http 传输运行,默认 127.0.0.1:8001,挂载路径 /mcp。
{
"mcpServers": {
"lyscript": {
"type": "streamable-http",
"url": "http://127.0.0.1:8001/mcp"
}
}
}
所有调试工具都带 arch 参数(x32 / x64 / auto)。x32 与 x64 同时在线时必须显式指定,否则服务端不会替你猜测。
Quick Start
快速上手
一个最小可运行示例:连上调试器、载入样本、取出目标 API 地址。换成 x64dbg 包名即可切换到 64 位调试。
from x32dbg import Config, BaseHttpClient from x32dbg import Debugger, Dissassembly, Module, Memory, Gui if __name__ == "__main__": # 连接调试器内的 LyScript HTTP 服务(默认 127.0.0.1:8000) config = Config(address="127.0.0.1", port=8000) print(config.is_server_available()) # debug=True 会打印完整的请求与响应报文 http = BaseHttpClient(config, debug=True) dbg = Debugger(http) disasm = Dissassembly(http) mod = Module(http) mem = Memory(http) gui = Gui(http) # 载入样本,并取目标 API 地址 dbg.OpenDebug(r"C:\demo.exe") target = mod.GetModuleProcAddress("kernel32.dll", "CreateFileW") print(target)
SDK 只用标准库 http.client / json / socket。
get_cip / get_cax 让同一份脚本同时跑 x86 与 x64。
任何能发 HTTP 的语言都能直接驱动调试器。