Skip to content

Wasdubya/x64dbgMCP

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

x64dbg MCP

Buy Me A Coffee

An MCP server that can bridge various LLMS (Claude and Cursor tested) with the x64dbg debugger, providing direct access to debugging applications through prompts.

Features (Build from Source for Latest)

  • 40+ x64dbg SDK Tools - Provides access to almost every single debugging feature given by the SDK for smart debugging.
  • Cross-Architecture Support - Works with both x64dbg and x32dbg.
  • API Compatibility - Runable from cmd using the args given in the python file.

Quick Setup in 3 Steps

  1. Download Plugin
  • Grab .dp64 or .dp32 from this repo's build/release directory
  • Copy to your local: [x64dbg_dir]/release/x64/plugins/
  1. Configure Claude Desktop
  • Copy x64dbgmcp.py from this repos src directory, ensure to pip install mcp requests
  • Update local claude_desktop_config.json with path to x64dbgmcp.py
{
  "mcpServers": {
    "x64dbg": {
      "command": "Path\\To\\Python",
      "args": [
        "Path\\to\\x64dbg.py"
      ]
    }
  }
}
  1. Start Debugging
    • Launch x64dbg
    • Start Claude Desktop
    • Check plugin loaded successfully (ALT+L in x64dbg for logs)

Build from Source for Latest Features!

** CMake and MSVC should be installed and on PATH **
  • git clone https://github.com/wasdubya/x64dbgmcp
  • cd x64dbgmcp
  • cmake -S . -B build (will resolve the pluginsdk automatically, so no need to worry about dependencies.)
  • cmake --build build --target all_plugins --config Release (will build both 32 and 64 bit versions of the plugin)

TIP

  1. Use the --target all_plugins argument to specify both x32 and x64, otherwise use -A flag to distinguish between either x64 or Win32 build. For example 32 bit build would be:
  • cmake -S . -B build32 -A Win32 -DBUILD_BOTH_ARCHES=OFF
  • cmake --build build32 --config Release

Usage Examples

Register inspection:

"What's the current value of RAX and RIP registers?"

Pattern searching:

"Find the pattern '48 8B 05' in the current module"

Example from Cursor

More Usage

  • If you do not provide the model you are working with context of where your exe is, it wont have the capabiltiy to restart the binary if it crashes or hangs. So, provide it with the full path of the binary so it can call the CMDEXEC function like "init C:\Absolute\Path\to\EXE".
  • GetModuleBase is the best place to start for models so it will query for the right addresses, x64dbg will not respond to addresses out of range.


🧀 Enjoy Automated Debugging 🛎️

About

Model Context Protocol for x64dbg & x32dbg

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors