天下一般 发表于 2022-9-8 18:31

从零开始编译CheatEngine及驱动(一)

本帖最后由 天下一般 于 2022-9-9 18:32 编辑

运行环境:
WIN10
涉及工具:
Visual Studio2019, Lazarus 2.2.2, CheatEngine

疑问:
CheatEngine(简称CE)是一款强大的游戏修改器,只要能找到内存,理论上可以修改所有的游戏,
只是现在的游戏使用了反作弊系统,CE会被游戏检测到,导致游戏无法启动,甚至封号;
又或者是游戏使用了驱动保护,CE查看内存地址时显示?号。

思路:
网友问的最多的就是如何让CE绕过游戏检测,本人总结了就两条:
1、游戏会通过查找特征码码来识别CE
      绕过方法:修改CE的特征码,比如CE的进程名、标题名以及CE在内存中的特征字符串,
      让游戏无法通过查找特征码来识别CE。
2、游戏会利用驱动,hook电脑系统的api函数,从而过滤作弊软件,防止作弊软件读写游戏内存,也称驱动保护
   绕过方法:启用CE的DBVM,提升CE的权限到r0级,让CE可以利用自已的驱动来读写游戏内存,
   关键就是不能让游戏检测到CE自已的驱动。
   如图就是开启了CE的DBVM后,被游戏检测到了CE自已的驱动dbk64.sys
   


方案:
针对于上面提到的两点,我们需要分别处理:
    1、重新编译Cheat Engine的源码,并修改所有的关键字符串"Cheat Engine",
          我这里是将"Cheat Engine"修改成"Games Modify",字数保持一致,这样不容易出现程序错误
    2、重新编译Cheat Engine的驱动,将dbk32.sys(用于32位电脑),dbk64.sys(用于64位电脑)改名成其它的名字
         这里有一点要提一下,就是签名认证,驱动是有数字签名的,如果没有签名,CE是加载不了驱动的,而数字签名是需要证书的,这个证书需要花钱才行
         当然还有一些取巧的办法绕过签名认证,比如开启电脑的测试模式,可以强制禁用数字签名,让系统可以使用未签名的驱动,具体操作可以到网上搜索


成果:
   本人用《逃跑吧!少年》这款网游进行了测试,游戏没有检测到我的CE(名字是Games Modify),并且金钱改成了100000
   


操作:
   上面啰嗦了一大堆,是因为本教程是针对零基础的初学者,可能网上较多的教程都是直接上手操作,并没有将一些
   概念讲清楚,导致新手不知其所以然,出现了问题也就操作不下去了。
   好了,现在我们撸起袖子加油干。
   (一)准备一台win10的电脑(这不是废话嘛!!!)

   (二)下载Cheat Engine的源代码,以及编译Cheat Engine源代码的Lazarus工具
         打开Cheat Engine的github官网 https://github.com/cheat-engine/cheat-engine/
         Lazarus可以在网页的下面找到,lazarus-2.2.2-fpc-3.2.2-win64.exe是64位电脑使用的
         lazarus-2.2.2-fpc-3.2.2-cross-i386-win32-win64.exe可以编译32位程序,两个我们都下载
         
   
   (三)安装Lazarus
                先安装64位,再安装32位,直接默认下一步安装即可,路径最好不要更改
      
   (四)解压源代码并打开cheatengine.lpi
               
                出现警告不用担心,点击依次点击红框的按钮,就可以配置好Fppkg了
               
               
   (五)修改工程,需要修改的地方有这几处:
               我是将Cheat Engine修改成了Games Modify,字数保持一致,大家也可以用自已想的名字
               1、Caption中的Cheat Engine                  
                  
               2、在菜单Project->Project Option
                  修改图标,版本号可以随意填
                  
            3、切换到Version Info,版本号可以随意填
                  
            4、切换到Paths,Build modes中修改平台,我这里选择了编译64位程序Release 64-Bit
                  
            
   (六)修改代码:
                搜索main
               
               可以看到第33行有一个"Cheat Engine",我们先不改,后面有秘密武器(^_^)
               
      
   (七)在菜单Run->Compile many Modes
                我这里选择编译Release 64-Bit,大家可以根据需要选择
               
      (六)编译成功
               
               在bin中可以看到cheatengine-x86_64.exe
               


我们的CE已经可以使用了,但还有很多没有修改,比如窗口标题,About对话框中的名字,
这些我们在下一节来修改,下一节我会祭出一个大杀器,敬请期待!!!

                                                                                                             。。。。。。未完代续
lazarus-2.2.2-fpc-3.2.2-win64xelazarus-2.2.2-fpc-3.2.2-win64.exelazarus-2.2.2-fpc-3.2.2-win64.exelazarus-2.2.2-fpc-3.2.2-win64.exe




POP 发表于 2022-9-8 22:40

感谢分享

boot 发表于 2022-9-9 07:12

很实用的教程。

PDWORD 发表于 2022-9-9 09:34

很实用的教程。

weiran324 发表于 2022-9-10 20:49

谢谢分享。。

曾经沧海 发表于 2022-9-17 09:20

谢谢大佬指点!!!

爱汇编爱汇编 发表于 2022-9-24 07:31

感谢分享,学习下

曾经沧海 发表于 2022-10-2 09:07

感谢大佬分享,吾爱因你而精彩!

爱汇编爱汇编 发表于 2022-10-5 23:14

感谢分享,学习下

爱汇编爱汇编 发表于 2022-10-21 23:04

感谢分享
页: [1] 2 3 4
查看完整版本: 从零开始编译CheatEngine及驱动(一)