3 步上手 CheatEngine-DMA 插件:给 Cheat Engine 接上 DMA 硬件级内存读写 📅 2026/8/19 2:50:07 3 步上手 CheatEngine-DMA 插件给 Cheat Engine 接上 DMA 硬件级内存读写【免费下载链接】CheatEngine-DMACheat Engine Plugin for DMA users项目地址: https://gitcode.com/gh_mirrors/ch/CheatEngine-DMACheatEngine-DMA 插件是给 DMA 硬件用户准备的 Cheat Engine 扩展。装上它以后Cheat Engine 原本走 Windows API 的进程附加、内存读写、搜索与浏览会被悄悄替换成由 DMA 设备直接访问物理内存来完成。这篇文章不堆概念我们从为什么需要它讲起带你一步步完成源码获取、编译、安装和基础使用。先回答新手最常问的问题DMA 内存读写和普通修改差在哪用过 Cheat Engine 的朋友都知道它读内存靠的是 Windows 提供的 API比如OpenProcess、ReadProcessMemory。这套流程像是敲门借道每借一次系统层都会留下记录请求频繁了还容易被盯上。而 DMA直接内存访问更像隔墙取物——借助 PCIe 这类总线外部设备可以直接访问物理内存整个过程不经过操作系统的 API目标机器上的软件很难察觉到这次读取。下面这张小表能帮你快速对比对比项普通 API 读写DMA 硬件读写调用痕迹留在系统内部可被观察到发生在外部设备几乎无痕访问路径操作系统 API总线直连物理内存速度一般硬件加速批量读写很爽门槛零硬件成本需要 FPGA 类 DMA 设备CheatEngine-DMA 插件要做的就是让 Cheat Engine 这个老朋友改走第二条通道而你的操作习惯一点都不用改。这个插件做了什么一句话把 CE 的手换成 DMA 的手打开 plugin/main.c你会发现整个插件的核心思路非常直白——挂钩hook。在CEPlugin_InitializePlugin里插件拿到 Cheat Engine 导出的函数指针然后把下面这一串函数全部替换成自己的实现OpenProcess→ 附加进程时顺便初始化 DMA并建立内存地图ReadProcessMemory/WriteProcessMemory→ 改走物理内存读写VirtualQueryEx→ 用 VAD虚拟地址描述符重建进程内存布局让 CE 的内存视图照常工作CreateToolhelp32Snapshot/Process32First/Process32Next→ 改用 DMA 枚举系统进程Module32First/Module32Next→ 改用 DMA 枚举目标进程的模块有个细节值得一提附加进程时插件会调用VMMDLL_Map_GetVadW把整个进程的 VAD 列表拉下来构建一张内存地图。之后 CE 的每一次 VirtualQuery 都从这张地图查答案所以内存浏览、搜索这些界面功能才能无缝运行。简单来说你表面上还是在用熟悉的 Cheat Engine但底层的每一次内存访问都已经悄悄换成了硬件路径。这种界面不动、内里换血的设计正是这个项目最讨喜的地方。动手之前先花两分钟看懂项目结构项目不大三个部分就能讲清楚plugin/插件本体入口在main.c还自带了 CE 插件 SDKcepluginsdk.h和 Lua 头文件方便以后扩展DMALibrary/核心库。Memory/Memory.cpp是内存读写的实现Memory/Shellcode.cpp负责代码洞查找Memory/Registry.cpp处理注册表相关操作DMALibrary/libs/leechcore.h、vmmdll.h等依赖库头文件负责和 DMA 设备驱动通信从拉源码到插件激活完整三步获取源码在命令行执行git clone https://gitcode.com/gh_mirrors/ch/CheatEngine-DMA把项目拉到本地用 Visual Studio 编译打开根目录的plugin.sln选 Release x64 配置生成解决方案得到plugin.dll安装激活把plugin.dll复制到 Cheat Engine 安装目录并确认vmm.dll、FTD3XX.dll、leechcore.dll等依赖库也在同目录。然后启动 Cheat Engine点菜单栏Edit → Plugins → Add New添加并激活插件激活后插件会弹出一个控制台窗口打印初始化和挂钩日志。看到 Initialized Methiccs CE DMA plugin 这类字样就说明一切正常。装好之后能做什么六个核心能力清单README 明确列出的功能有六项日常使用绰绰有余附加进程按进程名或 PID 都可以附加时自动建立 DMA 连接读内存 / 写内存Memory.h里封装了模板方法一行代码就能读任意结构体搜索内存FindSignature支持带通配符的特征码比如48 ? ? ?这种写法浏览内存内存视图、VAD 信息都能正常显示进程枚举列表来自物理内存而非系统快照模块枚举拿到目标进程加载的所有模块及基址想深入定制这几个接口值得收藏如果你打算写自动化脚本DMALibrary/Memory/Memory.h 里有一套现成的 C 接口挑几个常用的说说ReadT/WriteT模板读写省去手动分配缓冲区的麻烦FindSignature带通配符的特征码扫描还能限定扫描区间scatter 批量读写先攒一批请求再一次执行显著减少往返次数适合大量数据场景FixCr3修复部分反作弊系统造成的 CR3 切换问题需要symsrv.dll、dbghelp.dll和info.dbGetBaseDaddy/GetExportTableAddress取模块基址和导出表地址DumpMemory把进程内存按 PE 结构导出到文件开工之前记住三个边界需要专用硬件插件面向 FPGA 类 DMA 设备普通电脑装了也用不起来依赖必须配齐vmm.dll、FTD3XX.dll、leechcore.dll缺一不可少一个初始化就会失败功能范围有限README 写得很实在——列表之外的功能不保证可用作者只维护自己用得到的部分写在最后CheatEngine-DMA 插件不是装上一键变强的工具它更像一座桥把成熟的 Cheat Engine 生态平稳地接到 DMA 硬件上。如果你手上正好有 DMA 设备又舍不得熟悉的 CE 界面这个项目非常值得一试。拿到源码后建议先读一遍 plugin/main.c 的挂钩部分再对照Memory.h的接口看整套机制的脉络会很快清晰起来。折腾出心得了欢迎到社区里分享你的用法一起把这个小项目玩得更明白。【免费下载链接】CheatEngine-DMACheat Engine Plugin for DMA users项目地址: https://gitcode.com/gh_mirrors/ch/CheatEngine-DMA创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考