duty1g/x64dbg-mcp-server

x64dbg-MCP Server is a native MCP (Model Context Protocol) plugin for x64dbg that exposes the debugger's full functionality over HTTP. Connect any MCP-compatible AI assistant and control x64dbg programmatically: set breakpoints, step through code, read memory, dump registers, and more. Built with Zig — zero dependencies, single-binary output, cros

x64dbg‑MCP Server – AI対応リバースエンジニアリングブリッジ

何であるか

  • Windows用デバッガー x64dbg のネイティブプラグインで、Model Context Protocol (MCP) を実装しています。デバッガー内に実行され、HTTP/JSON‑RPCインターフェースを通じてx64dbgのすべてのコマンドを公開します。
  • 任意のMCP互換AIアシスタント(例:大規模言語モデルベースのエージェント)がこのサーバーを制御し、バイナリの読み込み、ブレークポイントの設定、ステップ実行、メモリの読み取り、レジスタのダンプなど、通常のリバースエンジニアリングタスクを実行できます。

なぜ重要か

  • デバッガーをリモートでプログラム可能なサービスに変えることで、LLMがエージェント的なリバースエンジニアリングパートナーとして機能できます。AIは高レベルの指示(例:"calc.exeを読み込み、エントリポイントでブレークする")を発行し、プラグインがそれを具体的なデバッガー操作に変換します。
  • 実装はゼロ依存で、Zigでコンパイルされ、単一のバイナリ(.dp32/.dp64)を生成します。x64dbgのプラグインフォルダに直接配置可能で、追加のランタイム(Python、.NETなど)は不要です。

主な機能

機能 何が得られるか
71個のMCPツール x64dbg機能の完全カバレッジ – アセンブリ表示、ステップ実行、ブレークポイント、メモリ割り当て、レジスタアクセス、PE分析、パターンスキャンなど
22個のイベントコールバック デバッガーイベント(ブレークポイントヒット、例外、DLLロード、スレッド作成など)のリアルタイム通知
二重トランスポート HTTP(ストリーミング可能)とServer-Sent Events (SSE) – 新旧のMCPクライアント両方に対応
Bearerトークン認証 最初の起動時に自動生成されるトークンを使用。すべてのリクエストには Authorization: Bearer <token> を含める必要があり、不正使用を防止
クロスコンパイル 1つのZigコードベースから、任意のホストOS(Windows、Linux、macOS、WSL)でx86(x32)およびx64プラグインをビルド可能
自動起動&設定UI x64dbg起動時にサーバーが自動起動。簡単なダイアログでバインドアドレス、ポート、トークンを変更可能

動作方法

  1. プラグインがx64dbgにロードされ、実行時にデバッガーSDKのシンボルを解決します。
  2. バックグラウンドHTTPサーバーを起動(デフォルトポート:x64は9094、x32は9095)。
  3. MCPクライアントがJSON‑RPCリクエスト(例:LoadBinarySetBreakpointReadMemory)を送信します。
  4. サーバーは各リクエストを対応するx64dbg SDK呼び出しにマッピングし、結果を返します。
  5. イベントコールバックはSSE経由でクライアントに通知をプッシュし、リアクティブなAIワークフローを可能にします。

典型的なAI駆動ワークフロー

あなた: calc.exeを読み込み、エントリポイントでブレークする
AI → LoadBinaryを呼び出し → SetBreakpointを呼び出し → 実行 → WaitForPause

あなた: レジスタを表示して
AI → GetAllRegistersを呼び出し

あなた: 現在のIP位置から64バイトを読み取る
AI → ReadMemoryを呼び出し

AIは状態を繰り返し照会し、ブレークポイントを調整し、複雑な分析(例:パターンスキャン、PEダンプ)を手動UI操作なしで自動化できます。

インストールと使用方法

  • 最新版をダウンロードし、dist/フォルダの内容をx64dbgのルートディレクトリにコピー(プラグインはplugins/フォルダに配置)。
  • サーバーは自動起動します。Plugins → x64dbg‑MCP Server → Configure MCP Server… からIP/ポート/トークンを設定可能。
  • MCPクライアントの設定(JSON)にサーバーを追加し、適切な Authorization ヘッダーを含めてください。

ビルド方法

# Zig 0.16‑dev以降が必要
zig build -Doptimize=ReleaseSafe --prefix dist

ビルドにより、2つのプラグインバイナリ(.dp32 および .dp64)が生成されます。

セキュリティ注意 サーバーはネットワーク経由でデバッガーの完全制御を提供するため、信頼できるインターフェースでのみ公開してください。認証は必須ですが、通信は暗号化されていないHTTPを使用するため、信頼できないネットワークに公開しないでください。


ライセンス: MIT – 無料で使用・変更・再配布可能。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト