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> 포함 필수로 비인가 사용 방지
크로스 컴파일 하나의 Zig 코드베이스로, 어떤 호스트 OS(Windows, Linux, macOS, WSL)에서도 x86(x32) 및 x64 플러그인을 빌드 가능
자동 시작 및 설정 UI x64dbg 시작 시 서버 자동 실행; 간단한 대화상자로 바인드 주소, 포트, 토큰 변경 가능

작동 방식

  1. 플러그인이 x64dbg에 로드되며, 런타임에 디버거 SDK 심볼을 해결합니다.
  2. 백그라운드 HTTP 서버를 시작(기본 포트: x64는 9094, x32는 9095).
  3. MCP 클라이언트가 JSON‑RPC 요청(예: LoadBinary, SetBreakpoint, ReadMemory)을 보냅니다.
  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

빌드 결과로 두 개의 플러그인 바이너리(.dp32 및 .dp64)가 생성됩니다.

보안 주의사항 서버는 네트워크를 통해 디버거를 완전히 제어할 수 있으므로 신뢰할 수 있는 인터페이스에서만 노출해야 합니다. 인증은 필수이지만, 통신은 암호화되지 않은 HTTP이므로 신뢰할 수 없는 네트워크에 노출하지 마세요.


라이선스: MIT – 자유롭게 사용, 수정, 재배포 가능.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트