吾爱汇编

 找回密码
 立即注册

QQ登录

绑定QQ避免忘记帐号

查看: 5267|回复: 20

[原创逆向图文] 从零开始编译CheatEngine及驱动(三)

  [复制链接]
天下一般 发表于 2022-9-10 22:13 | 显示全部楼层 |阅读模式

本帖最后由 天下一般 于 2022-9-11 13:52 编辑

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


上一节 从零开始编译CheatEngine及驱动(二)
这一节是最后一节,与驱动相关的知识点都会在这里介绍,网上对这一部分的教程个人感觉都不是太让人明白,
由于该教程是针对初学者,本人会以通俗易懂的方式进行介绍,如果有错误的地方,还请多多指教。

什么是驱动保护:
现在市面上大多数的网游为了防止作弊软件读写游戏内存,都会采用驱动保护机制,这种机制是一种比较高级的方式。
操作系统分为三个层级,应用层、驱动层、硬件层。游戏是应用层,而驱动层是直接操作硬件的,比应用层更核心。
应用层<——>驱动层<——>硬件层
Cheat Engine和游戏都是在应用层的程序,每个程序都有一个独立的内存空间,每个程序的数据都在各自的内存空间中,
在没有驱动保护的情况下,CE可以通过应用层的API函数来找到游戏句柄,从而利用应用层API来读写游戏的内存空间中的数据,
就好比是你可以直接去别人家拿东西
而有驱动保护的话,操作系统不允许CE通过应用层的API函数来读写游戏的内存空间中的数据,
就好比是你不能去别人家拿东西

如何绕过驱动保护:
我们知道,CE无法通过应用层的API来读写游戏的内存空间,因此可以编写一个自已的驱动,通过驱动级API函数来
读写游戏的内存空间,就好比是你是有搜查令的警察,可以去别人家拿东西。想要有这个特权,除了你是警察外,还必须
要用政府给你的搜查令,这个搜查令就是签名证书。
Cheate Engine中提供了自已编写的驱动,就是dbk32.sys和dbk64sys.sys,警察有了,但还少了搜查令,签名证书在属性中
可以找到,而这个证书是由微软颁发的,基本是很难伪造的,我们只能向微软购买申请,价格也不菲,后面会说到解决方法。
fakename.png
现在的游戏也变精明了,它会检测dbk32和dbk64的特征码,一旦看到认识警察带着搜查令来了(这里的比喻不太恰当,游戏成了犯罪分子,
大家不用在意,能理解意思就好,-_- !!!),就会拒绝警察来拿东西,因此我们需要重新编译Cheat Engine的驱动,
修改掉这些特征码,让游戏不认识这个新来的警察,并且还要给新警察一份搜查令(签名证书),游戏也就无法检测了。


操作:
CE会调用自已编写的驱动,因此我们需要打开CE的源代码,修改代码并重新编译CE
     (一)打开CE源码,修改如下几处:
           1、打开Cheat Engine\dbk32\DBK32functions.pas,在第3185行处
                 servicename:是驱动的服务名,可以随意改写
                 sysfile:改成自已的驱动名,如果只是在64位系统上运行,只需要修改dbk64.sys,比如mycedriver64.sys
                  fakename.png
           2、打开cheatengine.lpi,在菜单Search->Find in Files中搜索所有的dbk64,要编译32位就搜索dbk32
                 双击这些位置,将dbk64.sys全部换成自已的驱动名
                  Image 26.png
     (二)重新编译CE,具体操作看第一节教程


驱动的编译
     (一)下载Visual Studio 2019,社区版、专业版、企业版都可以
            https://visualstudio.microsoft.com/zh-hans/vs/older-downloads/

     (二)安装Visual Studio 2019
           在工作负载界面,勾选使用C++的桌面开发
            1.png
           切换到单个组件界面,勾选以下组件
           Windows 10 SDK(10.0.18362.0)    【选择这个版本是为了与后面下载WDK驱动版本一致】
           MSVC v142 - VS 2019 C++ x64/x86 Spectre缓解库   【版本选最新即可】
            fakename.png

     (三) 下载WDK,这是一套驱动开发系统,下载适用于 Windows 10 版本 1903 的 WDK
             https://docs.microsoft.com/zh-cn/windows-hardware/drivers/other-wdk-downloads
             fakename.png
     
     (四)安装WDK,安装时如果出现提示数字签名无效,不用管,继续
            3.png

     (五)用VS2019打开DBKKernel\DBKKernel.sln
           如果要编译64位驱动,切换成Release without sig(不检查签名模式,签名以后再单独处理),x64
            Image 2.png

     (六)打开DBK64.inf,查找所有的“DBK64”字符串,并替换成自已的驱动名mycedriver64
             fakename.png    fakename.png
            75行,修改制造商名,我是修改成Games Modify
             fakename.png

     (七)修改DBK64.inf的文件名为自已的驱动名
             fakename.png

     (八)修改项目属性
            配置项切换到Release without sig ,平台切换到x64
            1、修改目标文件名为自已的驱动名mycedriver64
                   Image 7.png
            2、在生成事件->生成后事件,命令行中的命令清空
                   fakename.png
            3、在Driver Signing,如果开启Win10系统的测试模式,可以使用测试证书,来运行驱动
                   fakename.png
                 如果要在正常的系统下运行驱动,我们将Sign Mode改成off,我们不需要生成测试证书,签名以后单独处理
                  fakename.png

     (九)重新编译
            在Cheat Engine\bin中就能看到我们生成的驱动,比如mycedriver64.sys

驱动签名
签名的操作比较麻烦,因为数字证书需要花钱购买,当然如果不愿意花钱,可以使用一些过期的泄露的证书,这里有一个网址,
对这方面讲的非常透彻,在此非常感谢作者的奉献,我就不多说了,我其实也是学习他的教程的
https://www.52pojie.cn/thread-1027420-1-1.html


现在大家可以运行一下自已的CE,并且在Help->About,点击"Your system supports DBVM"开启DBVM
fakename.png
DBVM是一款虚拟机,它能让应用程序CE访问核心模式,如果出现"Your system supports DBVM",那么恭喜你,
你可以修改有驱动保护的游戏了。如果出现不支持的话,有几个步骤要操作一下:
1、找一个Cheat Engine的官方程序,将程序目录下的vmdisk.img拷贝到自已的bin目录中,这个是启动DBVM的虚拟机,
大家也可以用ce的源码来重新编译dbvm,但一般没特殊需求,可以使用已经编好的
fakename.png
2、在控制面板->卸载程序->打开或关闭Windows功能中
禁用Hyper-V,以及Windows沙盒
3、在BIOS中开启Virtualization Technology,不同的电脑开启的方式可能不同,大家可以根据自已的电脑查找


到此,驱动编译结束,修改的细节还是比较多的,大家一定要仔细,按照步骤一步步操作,相信你一定会成功的拥有一个
自已的CE的,感谢谢大家的观看和支持!!!


                                                                                                                                                           。。。。。。后会有期






评分

参与人数 26威望 +1 HB +30 THX +13 收起 理由
消逝的过去 + 2
再来壹瓶 + 1 [吾爱汇编论坛52HB.COM]-感谢楼主热心分享,小小评分不成敬意!
xiaoxixpj + 1 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
山重水复疑无路 + 2 + 1
Jawon + 1
山夏 + 1 + 1 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
一路走来不容易 + 1
虚心学习 + 1
李卓吾 + 1
县委大院 + 1
WolfKing + 1 [吾爱汇编论坛52HB.COM]-吃水不忘打井人,给个评分懂感恩!
459121520 + 1
尘埃阿 + 1 [吾爱汇编论坛52HB.COM]-吃水不忘打井人,给个评分懂感恩!
Cerolluo + 1 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
如此而已 + 1 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
极速菜 + 1
银河星光 + 1
用户用户用 + 1
丰明泽 + 1
爱汇编爱汇编 + 1 [吾爱汇编论坛52HB.COM]-吃水不忘打井人,给个评分懂感恩!
风里去 + 1 [吾爱汇编论坛52HB.COM]-软件反汇编逆向分析,软件安全必不可少!
boot + 1
纯英文 + 1
weiran324 + 2 + 1 [吾爱汇编论坛52HB.COM]-吃水不忘打井人,给个评分懂感恩!
zxjzzh + 2 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
Shark恒 + 1 + 10 + 1 [吾爱汇编论坛52HB.COM]-吃水不忘打井人,给个评分懂感恩!

查看全部评分

吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
weiran324 发表于 2022-9-11 21:57 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
2310566151 发表于 2022-9-13 23:35 来自手机端 | 显示全部楼层

感谢分享谢谢大大
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
头像被屏蔽
别管我了行 发表于 2022-9-14 17:08 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
曾经沧海 发表于 2022-9-17 09:26 | 显示全部楼层

谢谢,收藏一下,也许用的上
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
啦啦啦154 发表于 2022-9-17 11:57 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
曾经沧海 发表于 2022-9-18 14:43 | 显示全部楼层

不错,感谢楼主分享!
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
风里去 发表于 2022-9-22 19:27 | 显示全部楼层

谢谢楼主分享
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
爱汇编爱汇编 发表于 2022-9-24 07:26 | 显示全部楼层

感谢分享,学习下
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
曾经沧海 发表于 2022-10-2 09:11 | 显示全部楼层

支持楼主   来学习学习下!
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

警告:本站严惩灌水回复,尊重自己从尊重他人开始!

1层
2层
3层
4层
5层
6层
7层
8层
9层
10层

免责声明

吾爱汇编(www.52hb.com)所讨论的技术及相关工具仅限用于研究学习,皆在提高软件产品的安全性,严禁用于不良动机。任何个人、团体、组织不得将其用于非法目的,否则,一切后果自行承担。吾爱汇编不承担任何因为技术滥用所产生的连带责任。吾爱汇编内容源于网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除。如有侵权请邮件或微信与我们联系处理。

站长邮箱:SharkHeng@sina.com
站长QQ:1140549900


QQ|RSS|手机版|小黑屋|帮助|吾爱汇编 ( 京公网安备11011502005403号 , 京ICP备20003498号-6 )|网站地图

Powered by Discuz!

吾爱汇编 www.52hb.com

快速回复 返回顶部 返回列表