Skip to content

Eruditi/CE-MCP-Plugin

Repository files navigation

CE-MCP-Plugin

Cheat Engine MCP (Memory Cheat Plugin) - AI Integration Plugin for Cheat Engine

项目简介

CE-MCP-Plugin是一个为Cheat Engine开发的AI集成插件,允许Cheat Engine与外部AI工具建立稳定连接,接收并执行AI发送的指令。该插件为Cheat Engine提供了AI驱动的内存修改和游戏作弊功能。

功能特性

AI连接功能

  • 与AI服务器建立TCP连接
  • 支持接收和解析AI指令
  • 支持通过Lua脚本向AI发送命令
  • 异步通信设计,不阻塞Cheat Engine主界面

指令支持

本插件支持75个命令,涵盖以下功能类别:

基础功能

  • SHOW_MESSAGE: 显示消息框
  • PAUSE_PROCESS: 暂停目标进程
  • UNPAUSE_PROCESS: 恢复目标进程

内存操作

  • READ_MEMORY: 读取内存,格式:READ_MEMORY:address,type
  • WRITE_MEMORY: 写入内存,格式:WRITE_MEMORY:address,value,type
  • FREEZE_MEMORY: 冻结内存,格式:FREEZE_MEMORY:address,size
  • UNFREEZE_MEMORY: 解冻内存,格式:UNFREEZE_MEMORY:freeze_id
  • FIX_MEMORY: 修复内存,格式:FIX_MEMORY

汇编与反汇编

  • AUTO_ASSEMBLE: 执行自动汇编脚本
  • ASSEMBLE: 汇编指令,格式:ASSEMBLE:address,instruction
  • DISASSEMBLE: 反汇编指令,格式:DISASSEMBLE:address
  • DISASSEMBLE_EX: 增强反汇编指令,提供更详细的指令信息,格式:DISASSEMBLE_EX:address

寄存器操作

  • CHANGE_REGISTER: 修改寄存器,格式:CHANGE_REGISTER:address,register_name,value

DLL注入

  • INJECT_DLL: 注入DLL,格式:INJECT_DLL:dll_path,optional_function_name

进程管理

  • PROCESS_LIST: 获取进程列表,格式:PROCESS_LIST
  • GET_PROCESS_ID: 根据进程名获取进程ID,格式:GET_PROCESS_ID:process_name
  • OPEN_PROCESS: 打开进程,格式:OPEN_PROCESS:process_id

变速齿轮

  • SPEEDHACK: 设置游戏速度,格式:SPEEDHACK:speed_value

高级功能

  • GET_ADDRESS_FROM_POINTER: 通过基址和偏移获取最终地址
  • ADDRESS_TO_NAME: 将地址转换为符号名称
  • NAME_TO_ADDRESS: 将符号名称转换为地址
  • PREVIOUS_OPCODE: 获取指定地址的前一条指令
  • NEXT_OPCODE: 获取指定地址的下一条指令
  • SET_BREAKPOINT: 设置断点
  • REMOVE_BREAKPOINT: 移除断点
  • CONTINUE_FROM_BREAKPOINT: 从断点继续执行

内存表管理(18个命令)

  • CREATE_TABLE_ENTRY: 创建新的内存表条目
  • GET_TABLE_ENTRY: 获取内存表条目
  • SET_ENTRY_DESCRIPTION: 设置条目描述
  • GET_ENTRY_DESCRIPTION: 获取条目描述
  • SET_ENTRY_ADDRESS: 设置条目地址
  • GET_ENTRY_ADDRESS: 获取条目地址
  • SET_ENTRY_TYPE: 设置条目类型
  • GET_ENTRY_TYPE: 获取条目类型
  • SET_ENTRY_VALUE: 设置条目值
  • GET_ENTRY_VALUE: 获取条目值
  • SET_ENTRY_SCRIPT: 设置条目脚本
  • GET_ENTRY_SCRIPT: 获取条目脚本
  • SET_ENTRY_COLOR: 设置条目颜色
  • FREEZE_ENTRY: 冻结条目
  • UNFREEZE_ENTRY: 解冻条目
  • IS_ENTRY_FROZEN: 检查条目是否冻结
  • MEMREC_APPENDTOENTRY: 追加到条目
  • DELETE_ENTRY: 删除条目

窗口管理(11个命令)

  • GET_MAIN_WINDOW_HANDLE: 获取主窗口句柄
  • HIDE_ALL_CE_WINDOWS: 隐藏所有CE窗口
  • UNHIDE_MAIN_CE_WINDOW: 显示主CE窗口
  • MESSAGE_DIALOG: 显示消息对话框
  • CLOSE_CE: 关闭Cheat Engine
  • FORM_CENTER_SCREEN: 表单居中
  • FORM_HIDE: 隐藏表单
  • FORM_SHOW: 显示表单
  • IMAGE_LOAD_IMAGE_FROM_FILE: 从文件加载图像
  • IMAGE_TRANSPARENT: 设置图像透明度
  • IMAGE_STRETCH: 拉伸图像

UI控件管理(13个命令)

  • CREATE_PANEL: 创建面板
  • CREATE_BUTTON: 创建按钮
  • CREATE_LABEL: 创建标签
  • CREATE_EDIT: 创建编辑框
  • CREATE_COMBO_BOX: 创建下拉框
  • CREATE_CHECK_BOX: 创建复选框
  • CREATE_TIMER: 创建定时器
  • TIMER_SET_INTERVAL: 设置定时器间隔
  • CREATE_MEMO: 创建备忘录
  • CREATE_GROUP_BOX: 创建分组框
  • CONTROL_SET_CAPTION: 设置控件标题
  • CONTROL_GET_CAPTION: 获取控件标题
  • CONTROL_SET_POSITION: 设置控件位置
  • CONTROL_GET_POSITION: 获取控件位置
  • CONTROL_SET_SIZE: 设置控件大小
  • CONTROL_GET_SIZE: 获取控件大小
  • DESTROY_OBJECT: 销毁对象

其他功能

  • LOAD_MODULE: 加载模块
  • GENERATE_API_HOOK_SCRIPT: 生成API Hook脚本
  • DEBUG_PROCESS: 调试进程
  • AA_ADD_COMMAND: 添加AutoAssembler命令
  • AA_DEL_COMMAND: 删除AutoAssembler命令

Cheat Engine集成

  • 注册主菜单插件,快捷键Ctrl+A
  • 提供Lua API,支持CE脚本调用
  • 动态加载和卸载支持
  • 完整的CE SDK集成

技术栈

  • 语言: C
  • 开发环境: Visual Studio 2019+
  • 依赖: Windows SDK, Winsock2
  • Cheat Engine SDK版本: 6

安装方法

  1. 编译插件:

    • 使用Visual Studio打开CE-MCP-Plugin.sln
    • 选择Release配置和Win32平台
    • 编译生成CE-MCP-Plugin.dll
  2. 安装插件:

    • 将编译好的CE-MCP-Plugin.dll复制到Cheat Engine的plugins目录
    • 启动Cheat Engine
    • 在Cheat Engine主菜单中找到"CE-MCP-Plugin"选项

使用说明

1. 配置AI服务器

插件默认连接到127.0.0.1:8888地址。要修改AI服务器地址,请修改源代码中的以下变量:

char aiServerIP[16] = "127.0.0.1"; // AI服务器IP
int aiServerPort = 8888; // AI服务器端口

2. 启动插件

  1. 启动Cheat Engine
  2. 插件会自动加载并尝试连接到AI服务器
  3. 成功连接后会显示"Connected to AI server"消息
  4. 在Cheat Engine主菜单中可以找到"CE-MCP-Plugin"选项

3. AI命令格式

AI服务器可以向插件发送以下格式的命令:

COMMAND:parameters

例如:

SHOW_MESSAGE:Hello from AI
SPEEDHACK:2.0
AUTO_ASSEMBLE:[ENABLE]\nalloc(newmem,2048)\nnewmem:\n  mov eax,100\n  ret\n[DISABLE]\n  dealloc(newmem)

4. 使用Lua API

插件提供了aiSendCommand Lua函数,可以在CE脚本中调用:

-- 向AI发送命令
local result = aiSendCommand("GET_HEALTH:player1")
print(result)

开发说明

项目结构

CE-MCP-Plugin/
├── CE-MCP-Plugin.c          # 主源代码文件(1611行,75个命令)
├── CE-MCP-Plugin.def        # DLL导出函数定义
├── CE-MCP-Plugin.sln        # Visual Studio解决方案
├── CE-MCP-Plugin.vcxproj    # Visual Studio项目文件
├── .github/
│   └── workflows/
│       └── msbuild.yml      # GitHub Actions CI/CD工作流
├── bla.cpp                  # 示例辅助文件
├── bla.h                    # 示例头文件
├── cepluginsdk.h            # Cheat Engine SDK头文件
├── lua.h                    # Lua 5.3头文件
├── lualib.h                 # Lua标准库头文件
├── lauxlib.h                # Lua辅助库头文件
├── luaconf.h                # Lua配置头文件
├── example-c.vcproj         # 示例项目文件
├── example-c.vcxproj.filters # 示例项目过滤器
└── README.md                # 项目文档

编译选项

  • 支持Win32和x64平台
  • 支持Debug和Release配置
  • 依赖Cheat Engine SDK头文件

扩展开发

要添加新的AI指令支持,请修改ExecuteAICommand函数:

void ExecuteAICommand(AICommand* cmd) {
    if (strcmp(cmd->command, "NEW_COMMAND") == 0) {
        // 实现新指令逻辑
    }
    // 其他指令...
}

注意事项

  1. 确保AI服务器正在指定端口运行
  2. 插件仅支持Windows平台
  3. 需要Cheat Engine 7.0或更高版本
  4. 建议在测试环境中使用,避免在在线游戏中使用
  5. 使用时请遵守相关法律法规

许可证

本项目采用MIT许可证,详见LICENSE文件。

更新日志

v1.0 (2026-01-04)

  • 初始版本发布
  • 实现AI连接功能
  • 支持多种CE操作指令
  • 提供Lua API

联系方式

如有问题或建议,请通过以下方式联系:


免责声明:本插件仅用于学习和研究目的,请勿用于非法用途。使用本插件造成的任何后果,由使用者自行承担。

About

CE MCP Plugin是一个Cheat Engine插件,它实现了Model Context Protocol (MCP),允许AI模型与Cheat Engine进行交互。通过这个插件,AI可以使用Cheat Engine的各种功能,如内存读写、进程管理等。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors