x64dbg MCP

io.github.rison1337由 GitHub 账号 rison1337 发布v0.1.9更新于 Oct 24, 2026

Windows x64dbg/x32dbg debugging with guarded sessions, breakpoints, memory and runtime evidence.

已验证STDIO仅桌面开发者工具安全与监控

概览

AI 生成的概览

让 AI 助手在 Windows 上操控真实的 x64dbg/x32dbg 会话:启动或附加进程、查看内存与寄存器、跟踪执行、转储并修复 PE 文件。

可以做什么
启动目标进程或附加到运行中的进程,可指定参数、工作目录、环境与子进程策略,并等待断点。读取和修改寄存器、内存、线程、模块及自己设置的断点。采集运行时证据:指令跟踪、API 与堆调用、异常和基本块覆盖。搜索比较值、运行时字符串、间接调用、OEP 和导入。生成内存 PE 转储、minidump、修复导入和已打补丁的导出文件,并进行校验。按文件 SHA-256 加模块 RVA 将运行时事实导出到 IDA,并同步断点与注释。
适用场景
适合在 Windows 上进行逆向工程、恶意软件或脱壳分析,让助手操作实时调试器并把可复现的证据交给 IDA。它并不打算替代 IDA。
运行要求
Windows 桌面环境,已安装 x64dbg 与 x32dbg;把原生插件复制到各自的插件目录;准备装有随包依赖的 Python 3.11 虚拟环境;在客户端中配置 stdio 启动器,并设置 X64DBG_ROOT 环境变量,可选设置 X64DBG_MCP_TOOL_PROFILE。IDA 交接面向特定的 IDA Pro MCP 分支。
安装前请注意
它会启动并附加进程,可写内存、设断点并导出打过补丁的二进制文件,因此会改变被调试目标的状态并写入文件。ScyllaHide 注入需显式开启,其配置兼容性没有保证。分析不可信二进制时请只在一次性虚拟机中进行。

安装

在 SourceWeft 中

  1. 打开 控制台中的 x64dbg MCP,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

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

x64dbg MCP gives an MCP client guarded control of a real x64dbg or x32dbg session. It turns live debugging into a replayable reverse-engineering workflow: bind the exact process, observe runtime facts, recover useful artifacts, validate them independently, and hand the evidence to IDA.

What it does

  • Launches or attaches with arguments, working directory, environment and child-process policy.
  • Reads and changes registers, memory, threads, modules and owned breakpoints.
  • Captures instruction, API, heap, exception and basic-block evidence.
  • Finds comparison values, runtime strings, indirect calls, OEPs and imports.
  • Produces memory PE dumps, minidumps, fixed imports and patched exports.
  • Exchanges runtime facts with IDA using a portable file SHA-256 + module RVA identity instead of unstable runtime addresses.

Tool groups

WorkflowRepresentative toolsResult
Launch and bindInitDebuggee, AttachToProcess, LaunchFileUnderDebugger, WaitForBreakpointReproducible process and session identity
Live controlRegisterGet, RegisterSet, MemoryRead, MemoryWrite, DebugSetBreakpoint, SetHardwareBreakpointControlled execution, memory and breakpoint changes
Runtime evidenceRunNativeTrace, GetNativeTrace, StartApiTrace, StartHeapTrace, GetBasicBlockCoverage, WaitForBreakpointCaptureInstruction paths, API/heap calls, exceptions and executed blocks
Key and unpack recoverySearchStrings, ScanMemoryStrings, PatternFindMem, FindOEP, RunUntilOEP, FindIATCandidates, InspectRuntimeIATComparisons, strings, OEP and runtime import candidates
Dump and repairWriteMiniDump, DumpModuleRaw, DumpPeFromMemory, ScanMemoryForPEImages, FixDumpImports, ValidateDump, ExportPatchedFileReplayable dumps and independently checked PE artifacts
IDA evidence handoffExportRuntimeEvidence, ImportStaticAnnotations, SyncBreakpoints, ResolveModuleRvaHash/RVA-addressed comments, labels, coverage and API facts

The complete catalog, parameters and response contracts are in the tool reference. The compact profile keeps routine model-facing responses short; detail="full" and the full profile expose the complete evidence when it is needed.

Quick setup

Download the combined Windows bundle from Releases. It contains both native plugins and the Python backend:

  • plugins\MCPx64dbg.dp64 for x64dbg
  • plugins\MCPx64dbg.dp32 for x32dbg
  • runtime\src and runtime\requirements.txt
  • self-contained x64/x86 managed-runtime probes under runtime\tools\bin\managed_probe

Close x64dbg/x32dbg. Open PowerShell in the folder containing the downloaded ZIP, then run the block below. It asks where to keep the MCP bundle and where x64dbg is already installed; no drive or installation directory is assumed. Keep the same PowerShell window open for the client-specific commands below.

powershell
$Archive = Get-ChildItem -File .\x64dbg-mcp-windows-*.zip |  Sort-Object LastWriteTime -Descending |  Select-Object -First 1if (-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 -ForceCopy-Item (Join-Path $BundleRoot 'plugins\MCPx64dbg.dp64') `  (Join-Path $X64dbgRoot 'x64\plugins\MCPx64dbg.dp64') -ForceCopy-Item (Join-Path $BundleRoot 'plugins\MCPx64dbg.dp32') `  (Join-Path $X64dbgRoot 'x32\plugins\MCPx64dbg.dp32') -Force
$RuntimeRoot = Join-Path $BundleRoot 'runtime'Set-Location $RuntimeRootpy -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

Add the server to ~\.codex\config.toml. Replace the three angle-bracketed values with the absolute paths printed by the setup block. TOML single-quoted strings preserve Windows backslashes as written.

toml
[mcp_servers.x64dbg]command = '<PythonExe>'args = ['<Launcher>']startup_timeout_sec = 90
[mcp_servers.x64dbg.env]X64DBG_ROOT = '<X64dbgRoot>'X64DBG_MCP_TOOL_PROFILE = 'compact'

For normal target startup, call InitDebuggee directly with the EXE path. It detects x86/x64, starts the matching debugger from X64DBG_ROOT, waits for the bridge and opens the target. A separate BridgeHello preflight or manual debugger-path search is not required.

Optional installation check: start x64dbg or x32dbg and verify the bridge:

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

GetScyllaHideStatus.installed and integrationReady describe the MCP InjectorCLI/HookLibrary backend. guiPluginPresent describes only the optional x64dbg GUI plugin; it is not required for MCP injection.

ScyllaHide is opt-in: launch tools default to use_scyllahide="off", and auto also skips injection. Use force with an explicit profile when needed. The CLI backend stages a private INI beside the injector and targets the exact PID. Its compatibility configuration disables NtContinueHook and KillAntiAttach together to avoid the reproduced continuation crash; the result reports these overrides. This does not guarantee that every third-party profile is compatible with every target or Windows build.

Claude Code

Add the same stdio server to Claude Code with the user scope. This command uses the paths selected by the setup block instead of embedding a machine-specific location:

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

Alternatively, run claude mcp add and enter the same command, arguments and environment interactively.

Claude Desktop and other stdio clients

Use the client's MCP JSON configuration. For Claude Desktop on Windows, the file is %APPDATA%\Claude\claude_desktop_config.json. Generate a JSON block with the actual paths selected above:

powershell
$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 and other stdio clients use the same command/args/env contract; only the location of their JSON file differs.

Build from source

powershell
git clone https://github.com/rison1337/x64dbgMCP.gitSet-Location x64dbgMCPcmake -S . -B build -G "Visual Studio 17 2022" -DX64DBG_DOWNLOAD_SDK=ONcmake --build build --target all_plugins --config Release
$X64dbgRoot = (Resolve-Path -LiteralPath (Read-Host 'x64dbg installation folder')).PathCopy-Item build\build64\Release\MCPx64dbg.dp64 `  (Join-Path $X64dbgRoot 'x64\plugins\MCPx64dbg.dp64') -ForceCopy-Item build\build32\Release\MCPx64dbg.dp32 `  (Join-Path $X64dbgRoot 'x32\plugins\MCPx64dbg.dp32') -Force

IDA Pro MCP Fusion handoff

The IDA workflow is designed for the rison1337/ida-pro-mcp-fusion fork. x64dbg MCP does not pretend to be an IDA replacement and does not silently mutate an unrelated database. Instead:

  1. ExportRuntimeEvidence writes a versioned evidence document containing the target SHA-256, architecture, module RVAs, executed blocks, API calls, comments, labels and functions.
  2. ResolveModuleRva and the coordinator normalize live addresses to the static image identity.
  3. tools/ida_evidence_coordinator.py validates that the open Fusion database has the same SHA-256 and architecture, then creates deterministic set_name, set_comments, define_func and coverage/API comment actions.
  4. Fusion applies those actions in its IDA worker and can retain the result in its persistent SQLite cache for later multi-binary analysis.

This is an explicit artifact/protocol handoff, so it remains inspectable and retryable. See the coordinator and the Fusion README for the IDA-side worker and cache model.

Documentation

CI covers the Python contract and both native plugin architectures. The release workflow also checks the packaged stdio server and managed probes. Live debugger gates run locally and retain JSON reports; see Contributing. Analyze untrusted binaries inside a disposable VM.

GPL-3.0. Based on x64dbgMCP by Sam W (Wasdubya). See NOTICE for attribution.



x64dbg MCP даёт MCP-клиенту защищённое управление настоящей сессией x64dbg или x32dbg. Он превращает живую отладку в воспроизводимый reverse-engineering workflow: привязать точный процесс, снять runtime-факты, восстановить полезные артефакты, независимо проверить результат и передать факты в IDA.

Возможности

  • Запуск и attach с аргументами, cwd, окружением и политикой дочерних процессов.
  • Регистры, память, потоки, модули и breakpoint'ы с контролем владельца.
  • Instruction-, API-, heap-, exception-trace и basic-block evidence.
  • Поиск сравнений, runtime-строк, косвенных вызовов, OEP и импортов.
  • PE из памяти, minidump, исправление IAT и экспорт пропатченного файла.
  • Обмен с IDA через переносимую связку SHA-256 файла + module RVA, а не случайный runtime VA.

Группы инструментов

ЭтапПримеры MCP toolsЧто получается
Запуск и привязкаInitDebuggee, AttachToProcess, LaunchFileUnderDebugger, WaitForBreakpointВоспроизводимый процесс и точная session identity
УправлениеRegisterGet, RegisterSet, MemoryRead, MemoryWrite, DebugSetBreakpoint, SetHardwareBreakpointКонтролируемый run/step, память и breakpoint'ы
Runtime evidenceRunNativeTrace, GetNativeTrace, StartApiTrace, StartHeapTrace, GetBasicBlockCoverage, WaitForBreakpointCaptureПути инструкций, API/heap, исключения и выполненные блоки
Поиск ключей и unpackSearchStrings, ScanMemoryStrings, PatternFindMem, FindOEP, RunUntilOEP, FindIATCandidates, InspectRuntimeIATСравнения, строки, OEP и кандидаты runtime-IAT
Дамп и восстановлениеWriteMiniDump, DumpModuleRaw, DumpPeFromMemory, ScanMemoryForPEImages, FixDumpImports, ValidateDump, ExportPatchedFileПовторяемые дампы и проверенные PE-артефакты
Передача в IDAExportRuntimeEvidence, ImportStaticAnnotations, SyncBreakpoints, ResolveModuleRvaКомментарии, labels, coverage и API-факты по hash/RVA

Полный каталог, параметры и контракты ответов находятся в справочнике инструментов. Профиль compact делает обычные ответы короткими; detail="full" и профиль full возвращают всё доказательство.

Быстрая настройка

Скачайте из Releases единый Windows-архив. Внутри сразу есть оба native-плагина и Python-backend:

  • plugins\MCPx64dbg.dp64 для x64dbg
  • plugins\MCPx64dbg.dp32 для x32dbg
  • runtime\src и runtime\requirements.txt
  • автономные x64/x86 managed-runtime probes в runtime\tools\bin\managed_probe

Закройте x64dbg/x32dbg. Откройте PowerShell в папке со скачанным ZIP и выполните блок ниже. Он сам запросит папку для MCP и путь к уже установленному x64dbg — диск и расположение заранее не предполагаются. Не закрывайте это окно PowerShell до выполнения команд для выбранного MCP-клиента.

powershell
$Archive = Get-ChildItem -File .\x64dbg-mcp-windows-*.zip |  Sort-Object LastWriteTime -Descending |  Select-Object -First 1if (-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 -ForceCopy-Item (Join-Path $BundleRoot 'plugins\MCPx64dbg.dp64') `  (Join-Path $X64dbgRoot 'x64\plugins\MCPx64dbg.dp64') -ForceCopy-Item (Join-Path $BundleRoot 'plugins\MCPx64dbg.dp32') `  (Join-Path $X64dbgRoot 'x32\plugins\MCPx64dbg.dp32') -Force
$RuntimeRoot = Join-Path $BundleRoot 'runtime'Set-Location $RuntimeRootpy -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 не нужно удваивать.

toml
[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, запустит подходящий debugger из X64DBG_ROOT, дождётся bridge и откроет цель. Отдельная проверка через BridgeHello и ручной поиск пути к x64dbg не нужны.

Необязательная проверка установки: запустите x64dbg или x32dbg и проверьте bridge:

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

Поля GetScyllaHideStatus.installed и integrationReady относятся к backend на базе InjectorCLI, HookLibrary и profile INI. guiPluginPresent сообщает только о необязательном GUI-плагине x64dbg; для MCP-инъекции он не требуется.

ScyllaHide включается явно: launch-инструменты используют use_scyllahide="off" по умолчанию, а auto также пропускает инъекцию. При необходимости используйте force с выбранным профилем. CLI backend создаёт отдельный INI рядом с injector и передаёт точный PID. Для устранения воспроизведённого падения при продолжении он отключает NtContinueHook вместе с KillAntiAttach и сообщает эти изменения в результате. Совместимость остальных настроек профиля зависит от цели и Windows.

Claude Code

Добавьте тот же stdio-сервер в Claude Code с областью пользователя. Команда использует выбранные выше пути, а не расположение с чужого компьютера:

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

Либо запустите claude mcp add и введите те же command, args и env интерактивно.

Claude Desktop и другие stdio-клиенты

Используйте JSON-конфигурацию MCP вашего клиента. В Claude Desktop на Windows это %APPDATA%\Claude\claude_desktop_config.json. Сформируйте JSON с реально выбранными путями:

powershell
$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-файлу.

Сборка из исходников

powershell
git clone https://github.com/rison1337/x64dbgMCP.gitSet-Location x64dbgMCPcmake -S . -B build -G "Visual Studio 17 2022" -DX64DBG_DOWNLOAD_SDK=ONcmake --build build --target all_plugins --config Release
$X64dbgRoot = (Resolve-Path -LiteralPath (Read-Host 'Папка установки x64dbg')).PathCopy-Item build\build64\Release\MCPx64dbg.dp64 `  (Join-Path $X64dbgRoot 'x64\plugins\MCPx64dbg.dp64') -ForceCopy-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 переводят runtime-адреса в координаты статического образа.
  3. tools/ida_evidence_coordinator.py сверяет SHA-256 и архитектуру открытой Fusion-базы и строит детерминированные действия set_name, set_comments, define_func и комментарии coverage/API.
  4. Fusion применяет действия в своём IDA worker и может сохранить результат в persistent SQLite cache для следующих multi-binary исследований.

Это явный, проверяемый и повторяемый artifact/protocol handoff, а не скрытая связь по нестабильным VA. Подробности: coordinator и README Fusion.

Документация

CI проверяет Python-контракт и native-плагины обеих архитектур. Release workflow также проверяет stdio-сервер и managed probes из собранного архива. Live-проверки debugger выполняются локально и сохраняют JSON-отчёты; см. участие в разработке. Неизвестные бинарники анализируйте в одноразовой VM.

GPL-3.0. Проект основан на x64dbgMCP Sam W (Wasdubya). Атрибуция: NOTICE.

来源:README.md,提交 a093282

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v0.1.9最新Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分