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;把原生外掛複製到各自的 plugins 資料夾;準備裝有隨包依賴的 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 分