-
-
[原创]关于绝地求生某辅助白名单画中画逆向分析
-
发表于:
2018-8-23 10:38
8236
-
最近一款韩国的一款叫做绝地求生的游戏火了,几乎可以说是红遍了大部分的中国网吧。极富有创造力的中国外挂作者又发现了一块新大陆,什么路飞外挂,铁锅外挂,透视外挂什么的就不用说了。相信大家也是痛恨至极,本人本着技术研究的态度找了一些资料,对这些外挂的画中画进行分析,挑选了其中画中画方法比较牛逼的进行分析,发现其画中画方法使用的是steam
自身的画中画协议。下面给大家分享一下逆向steam画中画协议的过程。(顺便也会给出该类画中画协议的封杀方法,以便引起官方重视)
一、猜测外挂是怎么实现画中画的。
把外挂开起来,进入游戏界,玩了几局发现,只要游戏右下角只要弹出消息外挂的透视功能就会消失,等右下角的提示信息消失,外挂的透视功能就可以正常使用了。由此可以推测,该外挂使用的就是steam自身的一些方法。
然后列出可能方法:
驱动层绘制(根据现象应该不是在驱动层绘制的)
窗口化绘制(真全屏窗口是无法显示的所以排除)
call 函数方法 (call steam的绘制函数,极有可能)
该方法会用到注入 ,仔细检查游戏内存线程情况 查看线程起始地址有无指向可以模块或者可疑无模块的内存,其次查看带有可疑执行权限的的内存区块。发现并无异常。
然后检测下游戏正在执行的线程代码是否有被修改过的痕迹,发现并未有什么异常,该方法排除
hook 画中画方法:
(1)HOOK d3d绘图相关函数实现画中画
(该方法需要注入,经过检查发现该外挂并未注入游戏进程(如何检测是否注入游戏进程用到工具有pchunter,以及一些驱动级的模块便利工具,以及内存便利工具),且d3d相关函数的hook也是指向steam的一个绘制模块GameOverlayRenderer64.dll,加上这种会失效的现象该方式也被排除掉了).
偶然发现原来steam的绘制方式是hook的d3d的绘制函数。此乃大惊喜后面会根据这个作为突破口进行白名单协议分析。
(2)HOOK steam绘制函数,经过扫描以及分析发现 steam的绘制模块上没有被修改过的痕迹。这个方式也被排除
(3)修改游戏的绘制代码,经过检查整个游戏绘制流程(游戏画一帧的循环)一直单步发现并未经过其他非游戏方,非系统的模块及内存,该方法排除。
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!
最后于 2018-8-23 10:45
被feikele编辑
,原因: