Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
cheatengine-mcp-bridge — 좋아하는 AI 에이전트를 MCP를 통해 Cheat Engine에 직접 연결하세요. 자연어를 사용하여 리버스 엔지니어링, 포인터 스캐닝, 메모리 분석을 자동화하세요. | Kitploit
도구/GitHubGitHub/miscusi-peek/cheatengine-mcp-bridge
Dynamic Analysis (Sandboxing)Payload GenerationCode AnalysisExploitationReverse EngineeringShellcodeDebuggersCTFBinary Analysis

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
AI-Assisted Reversing
GitHubmiscusi-peek/cheatengine-mcp-bridge

cheatengine-mcp-bridge

좋아하는 AI 에이전트를 MCP를 통해 Cheat Engine에 직접 연결하세요. 자연어를 사용하여 리버스 엔지니어링, 포인터 스캐닝, 메모리 분석을 자동화하세요.

저장소 보기
1.2k182241개월 전Kitploit 검토 완료

데모

Cheat Engine MCP 브리지

수십억 달러 규모 AI 데이터센터가 프로그램 메모리를 분석하게 하세요.

모드, 트레이너, 보안 감사, 게임 봇을 만들고, 리버스 엔지니어링을 가속화하거나, 어떤 프로그램과 게임이든 훨씬 짧은 시간에 처리할 수 있습니다.

Version Python

[!NOTE] 모든 분들의 별에 감사드립니다. 정말 감사합니다! <3

특히 모든 기여자분들께 큰 감사를 드립니다!!

@libangli218, @lauralex, @iamtyroon, @HachiroSan, @Attacktive


문제 상황

수 기가바이트의 메모리를 바라보고 있습니다. 수백만 개의 주소. 수천 개의 함수. 저 하나의 포인터, 저 하나의 구조체를 찾는 데 며칠 또는 몇 주의 수작업이 필요합니다.

그냥 물어볼 수 있다면?

"패킷 복호화 후크를 찾아줘."
"캐릭터 좌표의 OPcode를 찾아줘."
"체력 값의 OPcode를 찾아줘."
"게임 업데이트 후에도 트레이너가 안정적으로 작동하도록 고유한 AOB 패턴을 찾아줘."

이것이 바로 이 도구가 하는 일입니다.

- 16진수 덤프를 클릭하며 시간을 낭비하지 말고, 메모리와 대화를 시작하세요.


제공되는 기능:

전 (수동)후 (AI 에이전트 + MCP)
1일 차: 패킷 주소 찾기1분: "RX 패킷 복호화 후크 찾기"
2일 차: 해당 주소에 쓰는 추적3분: "업데이트 후에도 유지되는 고유 AOB 시그니처 생성"
3일 차: RX 후크 찾기6분: "이동 OPcode 찾기"
4일 차: 구조체 문서화10분: "16진수를 평문으로 변환하는 Python 인터프리터 생성"
5일 차: 게임 업데이트로 처음부터 다시 시작완료.

이제 AI가 다음을 수행할 수 있습니다:

  • 모든 메모리를 즉시 읽기 (정수, 부동소수점, 문자열, 포인터)
  • 포인터 체인 추적: [[base+0x10]+0x20]+0x8 → 밀리초 단위 해결
  • 필드 유형 및 값을 포함한 구조체 자동 분석
  • RTTI를 통해 C++ 객체 식별: "이것은 CPlayer 객체입니다"
  • 함수 디스어셈블 및 분석
  • 하드웨어 중단점 + Ring -1 하이퍼바이저를 사용한 보이지 않는 디버깅
  • 그 외 다양한 기능!

작동 방식

flowchart TD
    AI[AI Agent: Claude/Cursor/Copilot]
    
    AI -->|MCP Protocol - JSON-RPC over stdio| MCP
    
    MCP[mcp_cheatengine.py - Python MCP Server]
    
    MCP <-->|Named Pipe - Async| PIPE
    
    PIPE["\\.\\pipe\\CE_MCP_Bridge_v99"]
    
    PIPE <--> CE
    
    subgraph CE[Cheat Engine - DBVM Mode]
        subgraph LUA[ce_mcp_bridge.lua]
            WORKER[Worker Thread - Blocking I/O]
            MAIN[Main Thread - GUI + CE API]
            WORKER <-->|Sync| MAIN
        end
    end
    
    MAIN -->|Memory Access| TARGET[Target .exe]

설치

pip install -r MCP_Server/requirements.txt

또는 수동으로:

pip install mcp pywin32

[!NOTE] 네이티브 파이프 모드는 Windows 전용입니다. Named Pipes(pywin32)를 사용하기 때문입니다. MCP 서버가 Cheat Engine이 실행 중인 Windows 환경 외부에서 실행되어 Named Pipe를 직접 열 수 없는 경우 TCP 릴레이 전송 방식을 사용하세요.


빠른 시작

1. Cheat Engine에 브리지 로드

  1. DBVM 도구를 사용하려면 Cheat Engine에서 DBVM을 활성화하세요.
  2. Cheat Engine의 Lua 엔진 또는 스크립트 실행기를 엽니다.
    • 권장: File -> Execute Script -> MCP_Server/ce_mcp_bridge.lua 열기 -> Execute.
    • Cheat Engine 빌드에 File -> Execute Script 메뉴가 없으면 Table -> Show Cheat Table Lua Script를 사용하고, 아래 dofile(...) 줄을 붙여넣어 실행하세요:
dofile([[C:\path\to\cheatengine-mcp-bridge\MCP_Server\ce_mcp_bridge.lua]])

다음 메시지를 확인하세요: [MCP v12.0.0] MCP Server Listening on: CE_MCP_Bridge_v99

2. MCP 클라이언트 구성

MCP 설정 (예: mcp_config.json)에 다음을 추가하세요:

{
  "servers": {
    "cheatengine": {
      "command": "python",
      "args": ["C:/path/to/MCP_Server/mcp_cheatengine.py"]
    }
  }
}

IDE를 다시 시작하여 MCP 서버 설정을 로드하세요.

Codex의 경우, ~/.codex/config.toml에 TOML 서버 블록을 추가하세요:

[mcp_servers.cheatengine]
command = "python"
args = ['C:\path\to\cheatengine-mcp-bridge\MCP_Server\mcp_cheatengine.py']

Windows 경로는 작은따옴표를 사용하여 TOML이 백슬래시를 리터럴로 처리하도록 하세요.

TCP 릴레이 전송

TCP 릴레이를 사용하면 mcp_cheatengine.py가 Windows Named Pipe를 직접 열지 않고 TCP 소켓을 통해 Cheat Engine과 통신할 수 있습니다. Cheat Engine과 Lua 브리지는 여전히 Windows에서 실행되고, MCP 서버는 릴레이에 접근 가능한 어디서든(다른 Windows 프로세스, VM, 컨테이너, Linux 호스트, 원격 시스템) 실행될 수 있습니다. WSL에서도 Lua 브리지를 변경하지 않고 사용할 수 있습니다.

  1. Windows에서 평소대로 Cheat Engine에 MCP_Server/ce_mcp_bridge.lua를 로드하세요.
  2. Windows에서 릴레이를 시작하세요:
python C:\path\to\cheatengine-mcp-bridge\MCP_Server\ce_tcp_relay.py --host 127.0.0.1 --port 9876
  1. MCP 서버를 실행할 환경에서 pywin32 없이 MCP 종속성을 설치한 후 TCP 전송으로 MCP 서버를 실행/구성하세요:
python3 -m pip install -r MCP_Server/requirements-tcp.txt
CE_MCP_TRANSPORT=tcp \
CE_MCP_HOST=127.0.0.1 \
CE_MCP_PORT=9876 \
python3 /path/to/cheatengine-mcp-bridge/MCP_Server/mcp_cheatengine.py

환경 변수를 지원하는 MCP 클라이언트 설정의 경우:

{
  "servers": {
    "cheatengine": {
      "command": "python3",
      "args": ["/path/to/cheatengine-mcp-bridge/MCP_Server/mcp_cheatengine.py"],
      "env": {
        "CE_MCP_TRANSPORT": "tcp",
        "CE_MCP_HOST": "127.0.0.1",
        "CE_MCP_PORT": "9876"
      }
    }
  }
}

릴레이의 --host와 MCP 서버의 CE_MCP_HOST를 네트워크 설정에 맞는 주소로 설정하세요. 릴레이는 신뢰할 수 있는 인터페이스에만 바인딩하세요. 접근 가능한 사람은 누구나 Cheat Engine 브리지를 제어할 수 있습니다.

3. 연결 확인

ping 도구를 사용하여 연결을 확인하세요:

{"success": true, "version": "12.0.0", "message": "CE MCP Bridge Active"}

4. 질문 시작하기

"어떤 프로세스가 연결되어 있나요?"
"베이스 주소에서 16바이트 읽기"
"진입점 디스어셈블"

약 180개의 MCP 도구 사용 가능

메모리

도구설명
read_memory, read_integer, read_string모든 데이터 유형 읽기
read_pointer_chain[[base+0x10]+0x20] 경로 추적
scan_all, aob_scan값 및 바이트 패턴 찾기

분석

도구설명
disassemble, analyze_function코드 분석
dissect_structure필드 및 유형 자동 감지
get_rtti_classnameC++ 객체 유형 식별
find_references, find_call_references상호 참조

디버깅

도구설명
set_breakpoint, set_data_breakpoint하드웨어 중단점
start_dbvm_watchRing -1 보이지 않는 추적

프로세스 생애주기

도구설명
open_process, get_process_list실행 중인 프로세스에 연결 또는 열거
create_processCE 제어 하에 새 프로세스 시작
pause_process, unpause_process대상 실행 일시 중지/재개

메모리 할당

도구설명
allocate_memory, free_memory대상에서 메모리 예약 및 해제
set_memory_protection, full_access페이지 보호 플래그 조정

코드 인젝션

도구설명
inject_dll대상 프로세스에 DLL 로드
execute_code, execute_method셸코드 또는 CE Lua 메서드를 원격으로 실행

심볼 관리

도구설명
register_symbol, get_symbol_info명명된 심볼 생성 및 쿼리
enable_windows_symbolsPDB 심볼 해석 활성화

어셈블리 / 컴파일

도구설명
assemble_instruction단일 x86/x64 명령어를 바이트로 어셈블
compile_c_codeC 소스를 인젝션된 셸코드로 컴파일
generate_api_hook_scriptCE 자동 어셈블러 API 후크 템플릿 생성

창 / GUI 자동화

도구설명
find_window제목 또는 클래스로 창 찾기
send_window_message대상 창에 WM_* 메시지 전송

입력 자동화

도구설명
get_pixel화면 좌표의 픽셀 샘플링
is_key_pressed, do_key_press키보드 입력 쿼리 및 시뮬레이션

치트 테이블

도구설명
load_table, save_table.CT 치트 테이블 파일 로드/저장
get_address_list활성 치트 테이블의 항목 열거

커널 모드 (DBK / DBVM)

도구설명
dbk_get_cr3대상 프로세스의 CR3 레지스터 읽기
read_process_memory_cr3CR3 우회를 통한 물리 메모리 읽기

그 외 더 많은 도구는 AI_Context/MCP_Bridge_Command_Reference.md에서 확인하세요.


중요 설정

BSOD 방지

[!CAUTION] 다음을 반드시 비활성화하세요: Cheat Engine → Settings → Extra → "Query memory region routines"

활성화 시: 보호된 페이지를 스캔할 때 DBVM/안티치트와 충돌하여 CLOCK_WATCHDOG_TIMEOUT BSOD 발생.


문제 해결

Cheat Engine에서 "too many local variables" 메시지

전체 스크립트를 치트 테이블 스크립트에 붙여넣지 말고 dofile(...)을 사용하여 디스크에서 브리지를 로드하세요. 브리지는 의도적으로 명령 핸들러를 전역 함수로 선언합니다. 이렇게 하면 전체 브리지가 한 번에 컴파일될 때 Cheat Engine의 Lua 청크 제한(로컬 변수 200개)을 피할 수 있습니다.

MCP 클라이언트가 연결할 수 없음

다음 순서로 확인하세요:

  1. Cheat Engine이 열려 있고 MCP Server Listening on: CE_MCP_Bridge_v99 메시지가 표시되는지 확인.
  2. 서버 설정을 추가한 후 MCP 클라이언트를 다시 시작했는지 확인.
  3. 설정된 mcp_cheatengine.py 경로가 실제로 존재하는지 확인.
  4. pip install -r MCP_Server/requirements.txt로 mcp와 pywin32가 모두 설치되었는지 확인.
  5. MCP ping 도구를 실행하세요. 성공적인 연결은 success: true와 브리지 버전을 반환합니다. process_id: 0은 Cheat Engine이 대상 프로세스에 연결될 때까지 정상입니다.

환경 변수

도구 다운로드