发布于:2018-11-1 14:19 | 152705次阅读 作者: 外部转载 | 原作者: 通化程序员
FPS类游戏是一类以竞技为主的游戏,这类游戏大多是不允许玩家之间相互交易的,那么这类游戏的外挂为何如此的猖獗呢。以《穿越火线》为例,这款游戏是FPS类游戏中最火爆的一款,而且外挂数量也是非常多。由于其竞技的性质,导致了玩家的差距非常大,大量手残玩家无法接受现实,又不想通过苦练去提高自己的水平,于是外挂的收益出现了。那么这些外挂有哪些功能呢,或者说这些手残玩家需要哪些功能来完善自己的缺陷呢? 分析结论: 一、外挂行为分析 外挂最核心的功能就是透视和自瞄,所谓的透视就是将地方的位置在不可见的情况下显示出来,从而可以提前判断地方的位置,并穿墙进行射击。而自瞄则是无需玩家移动鼠标,自动锁定目标。还有一些其他的功能比如穿墙,飞天,无敌等等 由于检测力度较大,以及外挂控制需要,这类外挂大多以劫持或者远线程注入DLL到游戏中,并且没有DLL窗口,直接通过HOOKD3D等方式将快捷键功能绘图到游戏窗口中,玩家可以根据快捷键的提示才开启或者关闭某项功能。 二、外挂功能分析 自瞄功能需要通过对敌我坐标的读取和计算,算出地方的朝向,并通过写内存的方式来改变自己的枪口朝向,这个朝向值一般都是本地的,因为通过服务器去验证朝向会有很大的延时,这是不符合FPS游戏特点的。 透视,显示准星等功能大多是通过HOOKD3D进行绘制,也可能会采用GDI绘制,当然前者被检测几率会大一些。 飞天,无后坐力,无敌等功能,则大多通过HOOK相关的代码,比如重力系统,反作用力系统,扣血协议等。 其他功能应用范围较少,而且一些变态的功能大多检测比较严格,一般是不建议使用的。 三、分析过程 对于这类外挂的分析,首先从其注入方式入手,由于游戏都有保护,所以夸进程读取是没用的,而由于其外挂特点导致了模拟按键也是不合适的。在启动游戏后,打开外挂,发现进程下发现了注入的DLL线程,说明DLL并不是劫持注入的。从绘图的闪烁和不连贯性,可以说明采用的是GDI绘制,而不是HOOKD3D。 事实上官方对于这类游戏的打击力度也是很大的,但是由于游戏流畅性的要求,导致游戏中本地数据太多,这也是外挂屡禁不止的主要原因。加入大量行为检测,以及人工检测的奖励机制是很必要的。也可以在游戏中加入截图功能,在每场战斗中随机加入一两次截图传递到服务器,也可以达到一定的检测效果。 来源:通化程序员—投稿 GSLAB网站投稿文章仅代表作者本人的观点,与本网站立场无关。 *转载请注明来自游戏安全实验室(GSLAB.QQ.COM) |
最新评论
查看全部评论(1)
发表评论