关于绝地求生某辅助白名单画中画逆向分析

关于绝地求生游戏白名单画中画逆向分析<一>

最近一款韩国的一款叫做绝地求生的游戏火了,几乎可以说是红遍了大部分的中国网吧。极富有创造力的中国外挂作者又发现了一块新大陆,什么路飞外挂,铁锅外挂,透视外挂什么的就不用说了。相信大家也是痛恨至极,本人本着技术研究的态度找了一些资料,对这些外挂的画中画进行分析,挑选了其中画中画方法比较牛逼的进行分析,发现其画中画方法使用的是steam 自身的画中画协议。下面给大家分享一下逆向steam画中画协议的过程。(顺便也会给出该类画中画协议的封杀方法,以便引起官方重视)
一、猜测外挂是怎么实现画中画的。
把外挂开起来,进入游戏界,玩了几局发现,只要游戏右下角只要弹出消息外挂的透视功能就会消失,等右下角的提示信息消失,外挂的透视功能就可以正常使用了。由此可以推测,该外挂使用的就是steam自身的一些方法。
然后列出可能方法:

  1. 驱动层绘制(根据现象应该不是在驱动层绘制的)
  2. 窗口化绘制(真全屏窗口是无法显示的所以排除)
  3. call 函数方法 (call steam的绘制函数,极有可能)
    该方法会用到注入 ,仔细检查游戏内存线程情况 查看线程起始地址有无指向可以模块或者可疑无模块的内存,其次查看带有可疑执行权限的的内存区块。发现并无异常。
    然后检测下游戏正在执行的线程代码是否有被修改过的痕迹,发现并未有什么异常,该方法排除

  4. hook 画中画方法:

    (1)HOOK d3d绘图相关函数实现画中画
    (该方法需要注入,经过检查发现该外挂并未注入游戏进程(如何检测是否注入游戏进程用到工具有pchunter,以及一些驱动级的模块便利工具,以及内存便利工具),且d3d相关函数的hook也是指向steam的一个绘制模块GameOverlayRenderer64.dll,加上这种会失效的现象该方式也被排除掉了).
    偶然发现原来steam的绘制方式是hook的d3d的绘制函数。此乃大惊喜后面会根据这个作为突破口进行白名单协议分析。
    (2)HOOK steam绘制函数,经过扫描以及分析发现 steam的绘制模块上没有被修改过的痕迹。这个方式也被排除
    (3)修改游戏的绘制代码,经过检查整个游戏绘制流程(游戏画一帧的循环)一直单步发现并未经过其他非游戏方,非系统的模块及内存,该方法排除。

  5. 利用进程间通信方法:

    根据检测hook时的发现(steam的绘制是用到hook d3d的)加上steam的运行和处理是都是在游戏外的一个进程中的,加上在使用过程中出现的现象。推断出该外挂使用的画中画方法极有可能是利用的这个steam绘制协议。

好了今天就先讲到这里吧。明天我将会给出如何分析steam画中画协议的详细调试流程

猜你喜欢

转载自blog.csdn.net/sdasadadsasa/article/details/81975974
今日推荐