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起動時にサーバーが自動起動。簡単なダイアログでバインドアドレス、ポート、トークンを変更可能 |
動作方法
- プラグインがx64dbgにロードされ、実行時にデバッガーSDKのシンボルを解決します。
- バックグラウンドHTTPサーバーを起動(デフォルトポート:x64は9094、x32は9095)。
- MCPクライアントがJSON‑RPCリクエスト(例:
LoadBinary、SetBreakpoint、ReadMemory)を送信します。 - サーバーは各リクエストを対応するx64dbg SDK呼び出しにマッピングし、結果を返します。
- イベントコールバックは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 – 無料で使用・変更・再配布可能。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト