mcpField
X
x64dbg MCP

x64dbg MCP

本地服务
github.com/rison1337开发工具26 周前更新

关于 x64dbg MCP

x64dbg MCP 将 MCP 客户端连接到运行中的 x64dbg 或 x32dbg 会话,用于受控调试与逆向分析。它可采集运行时证据、生成并验证二进制文件,并通过文件哈希和模块 RVA 将结果交给 IDA。

主要功能

  1. 01启动或附加到调试进程
  2. 02检查寄存器、内存、线程和断点
  3. 03采集运行时跟踪与覆盖率
  4. 04查找字符串、OEP 和导入候选项
  5. 05转储并验证 PE 文件
  6. 06与 IDA 交换证据

适用场景

  1. 01在调试器中分析可执行文件
  2. 02恢复并验证解包后的二进制文件
  3. 03将运行时发现传入 IDA 数据库

MCP 相关

通过进程管理、调试、运行时证据采集、文件恢复和 IDA 交接等工具,为 MCP 客户端提供对 x64dbg 和 x32dbg 会话的受控操作。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库
安装包
mcpbx64dbg-mcp-v0.1.9.mcpb

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

https://github.com/user-attachments/assets/07b813eb-4175-4f14-b21b-602548906398

x64dbg MCP — 动态逆向工程

License: GPL v3 Windows x86 + x64 CI


English 俄语

x64dbg MCP 为 MCP 客户端提供受控方式,以操作真实的 x64dbg 或 x32dbg 会话。它将实时调试转化为可重放的逆向工程工作流:绑定准确的进程、观察运行时事实、提取有用的产物、独立验证,并将证据交给 IDA。

功能
  • 使用参数、工作目录、环境和子进程策略启动或附加进程。
  • 读取和修改寄存器、内存、线程、模块及自行创建的断点。
  • 捕获指令、API、堆、异常和基本块证据。
  • 查找比较值、运行时字符串、间接调用、OEP 和导入项。
  • 生成内存 PE 转储、迷你转储、修复导入的文件和已修补的导出项。
  • 使用便携的 文件 SHA-256 + 模块 RVA 标识与 IDA 交换运行时事实,而非不稳定的运行时地址。
工具组
工作流代表性工具结果
启动和绑定InitDebuggee、AttachToProcess、LaunchFileUnderDebugger、WaitForBreakpoint可复现的进程和会话标识
实时控制RegisterGet、RegisterSet、MemoryRead、MemoryWrite、DebugSetBreakpoint、SetHardwareBreakpoint受控的执行、内存和断点更改
运行时证据RunNativeTrace、GetNativeTrace、StartApiTrace、StartHeapTrace、GetBasicBlockCoverage、WaitForBreakpointCapture指令路径、API/堆调用、异常和已执行的代码块
密钥与脱壳恢复SearchStrings、ScanMemoryStrings、PatternFindMem、FindOEP、RunUntilOEP、FindIATCandidates、InspectRuntimeIAT比较值、字符串、OEP 和运行时导入候选项
转储和修复WriteMiniDump、DumpModuleRaw、DumpPeFromMemory、ScanMemoryForPEImages、FixDumpImports、ValidateDump、ExportPatchedFile可重放的转储和经过独立检查的 PE 产物
IDA 证据交接ExportRuntimeEvidence、ImportStaticAnnotations、SyncBreakpoints、ResolveModuleRva以哈希/RVA 寻址的注释、标签、覆盖率和 API 事实

完整目录、参数和响应契约请参阅工具参考。精简配置会缩短面向模型的常规响应;需要完整证据时,可使用 detail="full" 和 full 配置。

快速设置

从 Releases下载适用于 Windows 的组合包。包中包含两个原生插件和 Python 后端:

  • 用于 x64dbg 的 plugins\MCPx64dbg.dp64
  • 用于 x32dbg 的 plugins\MCPx64dbg.dp32
  • runtime\src 和 runtime\requirements.txt
  • 位于 runtime\tools\bin\managed_probe 下的独立 x64/x86 托管运行时探针

关闭 x64dbg/x32dbg。在包含已下载 ZIP 的文件夹中打开 PowerShell,然后运行下面的代码块。它会询问 MCP 组合包的保存位置以及 x64dbg 的安装位置;无需假定驱动器或安装目录。请保持此 PowerShell 窗口打开,以便运行下面针对不同客户端的命令。

$Archive = Get-ChildItem -File .\x64dbg-mcp-windows-*.zip |
  Sort-Object LastWriteTime -Descending |
  Select-Object -First 1
if (-not $Archive) { throw 'The x64dbg MCP release ZIP was not found in this folder.' }

$BundleRoot = Read-Host 'Absolute folder where x64dbg MCP should be extracted'
$X64dbgRoot = Read-Host 'Absolute folder containing the x64 and x32 x64dbg folders'
$BundleRoot = [IO.Path]::GetFullPath(
  [Environment]::ExpandEnvironmentVariables($BundleRoot.Trim()))
$X64dbgRoot = (Resolve-Path -LiteralPath (
  [Environment]::ExpandEnvironmentVariables($X64dbgRoot.Trim()))).Path

if (-not (Test-Path -LiteralPath (Join-Path $X64dbgRoot 'x64\x64dbg.exe'))) {
  throw "x64dbg.exe was not found under $X64dbgRoot\x64"
}
if (-not (Test-Path -LiteralPath (Join-Path $X64dbgRoot 'x32\x32dbg.exe'))) {
  throw "x32dbg.exe was not found under $X64dbgRoot\x32"
}

Expand-Archive -LiteralPath $Archive.FullName -DestinationPath $BundleRoot -Force
Copy-Item (Join-Path $BundleRoot 'plugins\MCPx64dbg.dp64') `
  (Join-Path $X64dbgRoot 'x64\plugins\MCPx64dbg.dp64') -Force
Copy-Item (Join-Path $BundleRoot 'plugins\MCPx64dbg.dp32') `
  (Join-Path $X64dbgRoot 'x32\plugins\MCPx64dbg.dp32') -Force

$RuntimeRoot = Join-Path $BundleRoot 'runtime'
Set-Location $RuntimeRoot
py -3.11 -m venv .venv
.\.venv\Scripts\python.exe -m pip install -r requirements.txt

$PythonExe = (Resolve-Path .\.venv\Scripts\python.exe).Path
$Launcher = (Resolve-Path .\src\mcp_stdio_launcher.py).Path
[pscustomobject]@{
  PythonExe  = $PythonExe
  Launcher   = $Launcher
  X64dbgRoot = $X64dbgRoot
}
Codex

将服务添加到 ~\.codex\config.toml。将三个尖括号括起的值替换为设置代码块打印出的绝对路径。TOML 单引号字符串会按原样保留 Windows 反斜杠。

[mcp_servers.x64dbg]
command = '<PythonExe>'
args = ['<Launcher>']
startup_timeout_sec = 90

[mcp_servers.x64dbg.env]
X64DBG_ROOT = '<X64dbgRoot>'
X64DBG_MCP_TOOL_PROFILE = 'compact'

对于正常的目标启动,直接使用 EXE 路径调用 InitDebuggee。它会检测 x86/x64,从 X64DBG_ROOT 启动相应的调试器,等待桥接程序就绪并打开目标。无需单独进行 BridgeHello 预检,也无需手动搜索调试器路径。

可选安装检查:启动 x64dbg 或 x32dbg,并验证桥接程序:

& $PythonExe (Join-Path $RuntimeRoot 'src\x64dbg.py') GetDebuggerPluginStatus

GetScyllaHideStatus.installed 和 integrationReady 描述 MCP InjectorCLI/HookLibrary 后端。guiPluginPresent 仅描述可选的 x64dbg GUI 插件;MCP 注入不需要该插件。

ScyllaHide 默认不启用:启动工具默认使用 use_scyllahide="off",而 auto 也会跳过注入。需要时,请使用 force 并指定配置文件。CLI 后端会在注入器旁暂存一个专用 INI,并以确切的 PID 为目标。其兼容性配置会同时禁用 NtContinueHook 和 KillAntiAttach,以避免复现的继续执行崩溃;结果中会报告这些覆盖项。但这并不能保证每个第三方配置文件都兼容所有目标或 Windows 版本。

Claude Code

使用用户范围将同一 stdio 服务添加到 Claude Code。此命令使用设置代码块所选的路径,而不是写入特定于某台机器的位置:

$ClaudeServer = [ordered]@{
  command = $PythonExe
  args = @($Launcher)
  env = [ordered]@{
    X64DBG_ROOT = $X64dbgRoot
    X64DBG_MCP_TOOL_PROFILE = 'compact'
  }
} | ConvertTo-Json -Depth 4 -Compress
claude mcp add-json x64dbg $ClaudeServer --scope user
claude mcp list

或者,运行 claude mcp add,并通过交互方式输入相同的命令、参数和环境变量。

Claude Desktop 和其他 stdio 客户端

使用客户端的 MCP JSON 配置。对于 Windows 上的 Claude Desktop,配置文件为 %APPDATA%\Claude\claude_desktop_config.json。使用上文所选的实际路径生成 JSON 配置块:

$ClientConfig = [ordered]@{
  mcpServers = [ordered]@{
    x64dbg = [ordered]@{
      command = $PythonExe
      args = @($Launcher)
      env = [ordered]@{
        X64DBG_ROOT = $X64dbgRoot
        X64DBG_MCP_TOOL_PROFILE = 'compact'
      }
    }
  }
}
$ClientConfig | ConvertTo-Json -Depth 6

Cursor、VS Code MCP、Windsurf 和其他 stdio 客户端使用相同的 command/args/env 约定;只有 JSON 文件的位置不同。

从源代码构建
git clone https://github.com/rison1337/x64dbgMCP.git
Set-Location x64dbgMCP
cmake -S . -B build -G "Visual Studio 17 2022" -DX64DBG_DOWNLOAD_SDK=ON
cmake --build build --target all_plugins --config Release

$X64dbgRoot = (Resolve-Path -LiteralPath (Read-Host 'x64dbg installation folder')).Path
Copy-Item build\build64\Release\MCPx64dbg.dp64 `
  (Join-Path $X64dbgRoot 'x64\plugins\MCPx64dbg.dp64') -Force
Copy-Item build\build32\Release\MCPx64dbg.dp32 `
  (Join-Path $X64dbgRoot 'x32\plugins\MCPx64dbg.dp32') -Force
IDA Pro MCP Fusion 交接

IDA 工作流是为 rison1337/ida-pro-mcp-fusion fork 设计的。x64dbg MCP 不会冒充 IDA 的替代品,也不会暗中修改无关数据库。具体流程如下:

  1. ExportRuntimeEvidence 会写入一份带版本的证据文档,其中包含目标 SHA-256、架构、模块 RVA、已执行代码块、API 调用、注释、标签和函数。
  2. ResolveModuleRva 和协调器会将实时地址规范化为静态映像标识。
  3. tools/ida_evidence_coordinator.py 会验证打开的 Fusion 数据库是否具有相同的 SHA-256 和架构,然后创建确定性的 set_name、set_comments、define_func 以及覆盖率/API 注释操作。
  4. Fusion 会在其 IDA 工作线程中应用这些操作,并可将结果保留在持久化 SQLite 缓存中,以供后续多二进制文件分析使用。

这是一种显式的工件/协议交接方式,因此过程可检查、可重试。IDA 端工作线程和缓存模型请参阅协调器和 Fusion README。

文档

CI 覆盖 Python 契约和两种原生插件架构。发布工作流还会检查打包后的 stdio 服务和托管探针。实时调试器门禁在本地运行并保留 JSON 报告;请参阅贡献指南。 请在一次性 VM 中分析不可信二进制文件。

GPL-3.0。基于 x64dbgMCP by Sam W (Wasdubya)。 归属信息请参阅 NOTICE。



英语 俄语

x64dbg MCP 可让 MCP 客户端安全地控制真实的 x64dbg 或 x32dbg 会话。它将实时调试转化为可复现的逆向工程工作流:绑定准确的进程,采集运行时事实,恢复有用的产物,独立验证结果,并将事实传递给 IDA。

功能
  • 使用参数、cwd、环境和子进程策略启动或附加到进程。
  • 寄存器、内存、线程、模块和断点,并控制其所有权。
  • 指令、API、heap、异常跟踪和基本块证据。
  • 搜索比较操作、运行时字符串、间接调用、OEP 和导入项。
  • 从内存中提取 PE、生成 minidump、修复 IAT,并导出已修补的文件。
  • 通过可移植的 文件 SHA-256 + module RVA 组合与 IDA 交换数据,而不是使用不稳定的运行时 VA。
工具组
阶段MCP 工具示例结果
启动与绑定InitDebuggee、AttachToProcess、LaunchFileUnderDebugger、WaitForBreakpoint可复现的进程和准确的会话标识
控制RegisterGet、RegisterSet、MemoryRead、MemoryWrite、DebugSetBreakpoint、SetHardwareBreakpoint受控的运行/单步执行、内存和断点
运行时证据RunNativeTrace、GetNativeTrace、StartApiTrace、StartHeapTrace、GetBasicBlockCoverage、WaitForBreakpointCapture指令路径、API/heap、异常和已执行块
搜索关键内容与脱壳SearchStrings、ScanMemoryStrings、PatternFindMem、FindOEP、RunUntilOEP、FindIATCandidates、InspectRuntimeIAT比较操作、字符串、OEP 和运行时 IAT 候选项
转储与恢复WriteMiniDump、DumpModuleRaw、DumpPeFromMemory、ScanMemoryForPEImages、FixDumpImports、ValidateDump、ExportPatchedFile可重复的转储和经过验证的 PE 产物
传递给 IDAExportRuntimeEvidence、ImportStaticAnnotations、SyncBreakpoints、ResolveModuleRva基于 hash/RVA 的注释、labels、覆盖率和 API 事实

完整目录、参数和响应契约请参阅工具参考。compact 配置会缩短常规响应;detail="full" 和 full 配置会返回全部证据。

快速设置

从 Releases 下载单个 Windows 压缩包。其中已包含两个原生插件和 Python backend:

  • plugins\MCPx64dbg.dp64,用于 x64dbg
  • plugins\MCPx64dbg.dp32,用于 x32dbg
  • runtime\src 和 runtime\requirements.txt
  • runtime\tools\bin\managed_probe 中独立的 x64/x86 托管运行时探针

关闭 x64dbg/x32dbg。在下载的 ZIP 所在文件夹中打开 PowerShell,并执行下面的代码块。它会提示你选择 MCP 文件夹和已安装的 x64dbg 路径——不会预设驱动器或安装位置。在为选定的 MCP 客户端执行完命令之前,请不要关闭此 PowerShell 窗口。

$Archive = Get-ChildItem -File .\x64dbg-mcp-windows-*.zip |
  Sort-Object LastWriteTime -Descending |
  Select-Object -First 1
if (-not $Archive) { throw 'Архив релиза x64dbg MCP не найден в этой папке.' }

$BundleRoot = Read-Host 'Полный путь к папке, куда распаковать x64dbg MCP'
$X64dbgRoot = Read-Host 'Полный путь к папке x64dbg, содержащей каталоги x64 и x32'
$BundleRoot = [IO.Path]::GetFullPath(
  [Environment]::ExpandEnvironmentVariables($BundleRoot.Trim()))
$X64dbgRoot = (Resolve-Path -LiteralPath (
  [Environment]::ExpandEnvironmentVariables($X64dbgRoot.Trim()))).Path

if (-not (Test-Path -LiteralPath (Join-Path $X64dbgRoot 'x64\x64dbg.exe'))) {
  throw "x64dbg.exe не найден в $X64dbgRoot\x64"
}
if (-not (Test-Path -LiteralPath (Join-Path $X64dbgRoot 'x32\x32dbg.exe'))) {
  throw "x32dbg.exe не найден в $X64dbgRoot\x32"
}

Expand-Archive -LiteralPath $Archive.FullName -DestinationPath $BundleRoot -Force
Copy-Item (Join-Path $BundleRoot 'plugins\MCPx64dbg.dp64') `
  (Join-Path $X64dbgRoot 'x64\plugins\MCPx64dbg.dp64') -Force
Copy-Item (Join-Path $BundleRoot 'plugins\MCPx64dbg.dp32') `
  (Join-Path $X64dbgRoot 'x32\plugins\MCPx64dbg.dp32') -Force

$RuntimeRoot = Join-Path $BundleRoot 'runtime'
Set-Location $RuntimeRoot
py -3.11 -m venv .venv
.\.venv\Scripts\python.exe -m pip install -r requirements.txt

$PythonExe = (Resolve-Path .\.venv\Scripts\python.exe).Path
$Launcher = (Resolve-Path .\src\mcp_stdio_launcher.py).Path
[pscustomobject]@{
  PythonExe  = $PythonExe
  Launcher   = $Launcher
  X64dbgRoot = $X64dbgRoot
}
Codex

在 ~\.codex\config.toml 中添加服务器。将尖括号中的三个值替换为设置区块打印出的绝对路径。TOML 单引号字符串中的 Windows 反斜杠无需加倍。

[mcp_servers.x64dbg]
command = '<PythonExe>'
args = ['<Launcher>']
startup_timeout_sec = 90

[mcp_servers.x64dbg.env]
X64DBG_ROOT = '<X64dbgRoot>'
X64DBG_MCP_TOOL_PROFILE = 'compact'

要正常启动目标,请直接调用 InitDebuggee 并传入 EXE 路径。工具会自行识别 x86/x64,从 X64DBG_ROOT 启动相应的 debugger,等待 bridge 就绪并打开目标。无需单独通过 BridgeHello 检查,也无需手动查找 x64dbg 路径。

可选的安装检查:启动 x64dbg 或 x32dbg 并检查 bridge:

& $PythonExe (Join-Path $RuntimeRoot 'src\x64dbg.py') GetDebuggerPluginStatus

GetScyllaHideStatus.installed 和 integrationReady 字段对应基于 InjectorCLI、HookLibrary 和 profile INI 的后端。guiPluginPresent 仅表示是否存在可选的 x64dbg GUI 插件;MCP 注入不需要它。

ScyllaHide 需要显式启用:启动工具默认使用 use_scyllahide="off",auto 也会跳过注入。如有需要,请使用 force 并选择配置文件。CLI 后端会在 injector 旁创建单独的 INI,并传入确切的 PID。为避免复现的继续执行时崩溃问题,它会同时禁用 NtContinueHook 和 KillAntiAttach,并在结果中报告这些更改。配置文件中其他设置的兼容性取决于目标和 Windows。

Claude Code

使用用户范围配置,在 Claude Code 中添加同一个 stdio 服务器。命令使用上文选定的路径,而不是其他计算机上的路径:

$ClaudeServer = [ordered]@{
  command = $PythonExe
  args = @($Launcher)
  env = [ordered]@{
    X64DBG_ROOT = $X64dbgRoot
    X64DBG_MCP_TOOL_PROFILE = 'compact'
  }
} | ConvertTo-Json -Depth 4 -Compress
claude mcp add-json x64dbg $ClaudeServer --scope user
claude mcp list

或者运行 claude mcp add,然后交互式输入相同的 command、args 和 env。

Claude Desktop 和其他 stdio 客户端

使用客户端的 MCP JSON 配置。在 Windows 上,Claude Desktop 的配置文件路径为 %APPDATA%\Claude\claude_desktop_config.json。使用实际选定的路径生成 JSON:

$ClientConfig = [ordered]@{
  mcpServers = [ordered]@{
    x64dbg = [ordered]@{
      command = $PythonExe
      args = @($Launcher)
      env = [ordered]@{
        X64DBG_ROOT = $X64dbgRoot
        X64DBG_MCP_TOOL_PROFILE = 'compact'
      }
    }
  }
}
$ClientConfig | ConvertTo-Json -Depth 6

Cursor、VS Code MCP、Windsurf 和其他 stdio 客户端使用相同的 command/args/env 契约;区别仅在于 JSON 文件路径。

从源代码构建
git clone https://github.com/rison1337/x64dbgMCP.git
Set-Location x64dbgMCP
cmake -S . -B build -G "Visual Studio 17 2022" -DX64DBG_DOWNLOAD_SDK=ON
cmake --build build --target all_plugins --config Release

$X64dbgRoot = (Resolve-Path -LiteralPath (Read-Host 'Папка установки x64dbg')).Path
Copy-Item build\build64\Release\MCPx64dbg.dp64 `
  (Join-Path $X64dbgRoot 'x64\plugins\MCPx64dbg.dp64') -Force
Copy-Item build\build32\Release\MCPx64dbg.dp32 `
  (Join-Path $X64dbgRoot 'x32\plugins\MCPx64dbg.dp32') -Force
与 IDA Pro MCP Fusion 同步

此集成专为 rison1337/ida-pro-mcp-fusion 分支设计。x64dbg MCP 不会取代 IDA,也不会写入任意数据库:

  1. ExportRuntimeEvidence 会保存带版本号的 JSON,其中包含目标的 SHA-256、架构、module RVA、已执行的代码块、API 调用、labels、comments 和函数。
  2. ResolveModuleRva 和 coordinator 会将运行时地址转换为静态映像坐标。
  3. tools/ida_evidence_coordinator.py 会核对已打开的 Fusion 数据库的 SHA-256 和架构,并构建确定性的 set_name、set_comments、define_func 操作以及 coverage/API 注释。
  4. Fusion 会在自己的 IDA worker 中应用这些操作,并可将结果保存到持久化 SQLite cache,供后续 multi-binary 研究使用。

这是明确、可验证且可重复的 artifact/protocol 交接,而非通过不稳定 VA 建立的隐式连接。详情请参阅:coordinator 和 Fusion README。

文档

CI 会检查 Python 契约和两种架构的 native 插件。Release 工作流还会检查构建归档中的 stdio 服务器和 managed probes。Debugger 实时检查在本地运行并保存 JSON 报告;请参阅参与贡献。请在一次性 VM 中分析未知二进制文件。

GPL-3.0。此项目基于 x64dbgMCP Sam W (Wasdubya)。 归属信息:NOTICE。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。