随着移动互联网的发展,手游行业经历了巨大的变迁,不仅仅是从技术上的革新,游戏实现能力更是有了飞跃式发展,但是在手游市场竞争日趋激烈的背后,其安全正受到网络黑产的巨大威胁,非正当获利在移动游戏领域屡见不鲜,外挂等安全性问题成了开发者们不得不面对的难题。
据《移动游戏质量白皮书》数据统计,国内定制类外挂比例达到66%,较19年增长6.5倍。海外定制类外挂比例已经达到了62%,较年增长了足足3倍,尤其是强竞技游戏品类的外挂对抗挑战持续增大。
在年,造成严重影响的安全漏洞占比增长至51.34%,致命影响的安全漏洞占比降低至25.57%。通过对所有安全漏洞的分析,最为频繁的手游安全漏洞问题为“绕过状态限制”。在游戏中使用未拥有的皮肤和表情、未完成任务就领取奖励等是常见的外挂现象。
面对层出不穷的游戏外挂,游戏厂商能够做些什么呢?本文就主要危害游戏平衡的外挂分类、特性进行介绍,并提供针对性解决办法,希望对游戏从业人员和爱好者有所帮助。
01外挂分类
根据不同的游戏类型,相对应的定制外挂的类型也有所不同,因而防御外挂的前提便是先了解外挂,只有先了解外挂,游戏厂商才能根据定制游戏外挂的特性进行针对性防御。
手游外挂中外挂破解主要往三个大方向出发,即动态破解、静态破解与协议破解。
1.1.动态破解
动态破解主要以修改器与加速器为主,其主要原理为不修改游戏文件,使用外部辅助软件修改游戏内存数据。凭借数据修改,动态破解往往会增加游戏中的金钱、技能伤害数值、时间数值等,以打破游戏的公平性。
在外挂工具中,游戏修改器是出现频率最高的,修改器可以轻易将武器伤害从18%改成.9%,使得攻击伤害提升几十倍。类似的原理也可以实现无敌、秒杀、无限蓝、技能无CD等效果。因此,游戏修改器严重危害游戏平衡性。而加速器则主要分为两种,一种是手机加速器,通常游戏修改器都会附带加速功能,另一种是模拟器加速。
1.2.静态破解
静态破解常常被称为“端改”,即玩家常说的“XXX游戏的破解版”。这种破解版是通过修改游戏里面的文件或者脚本,重新打包后再游玩,其往往以“科技版”“辅助版”的形式在线上进行售卖,甚至由各个游戏工作室使用。
破解版提供了众多新奇、怪异的功能来吸引玩家,售卖时大多支持月付,价格上甚至可以超过很多游戏的ARPU值。这种形式不光影响普通玩家体验,也给游戏收入和口碑造成损伤。
1.3.协议破解
协议破解即玩家所称的“脱机挂”,部分游戏协议一旦被分析出来,可以实现纯协议的客户端,或者是半脱机,以此来修改游戏封包来修改游戏行为。可以通过搭建代理服务来动态修改封包,实现10倍血量10倍攻击等效果。相当于半脱机外挂。
02应对方式
在了解外挂原理与特性之后,游戏厂商可以有针对性地对外挂进行防护反击。
2.1.动态破解
针对各类修改器、加速器,外挂防治需要主攻“检测”环节。游戏厂商可通过对游戏进程的读写,在识别游戏行为的同时,一并识别修改器、加速器,并强制关闭游戏进程,以防止外挂作弊。
另一种应对方向是针对动态调试的保护,其中包括防动态注入、防动态调试和防内存dump。反调试机制能够拒绝调试工具的附加操作,阻止调试器对移动应用开展调试分析,保护其业务逻辑代码,一旦被加固的程序检测到诸如gdb一类的调试操作,应用程序将自动退出运行。防内存dump保护能有效阻止gdbdump等操作,同时因为代码采用函数体分离方式和native化保护,代码都是以单个函数还原到内存中,而内存中的代码也是经过native处理,及时dump出当前代码片段,也是经过native方式处理后的代码,不会还原成源代码。
2.2.静态破解
针对各类“破解版”、“辅助版”,外挂防治需要主攻“加密”这一点。游戏保护模块都带有文件校验功能,通过加密脚本、资源文件(如assetbundle资源加密)、签名保护等方式,防止游戏被破解,且同时采用验证系统,文件被修改时游戏就不能正常运行,以此防止二次打包、二次开发,生成“破解版”“辅助版”。
此外,治理该类外挂还可以从代码校验上着手,并配合虚拟机保护,必要时候加上简单的驱动。一整套机制可以将封包加密、解密,独立形成一个动态连接库(DLL),供游戏主程序调用,进行封包加解密。
随后,更换封包加密、解密方式,防止破解者采用替换旧客户端的方式进入游戏。在加密、解密函数里加入对反外挂线程的检测,检测反外挂线程是否正常运行,如果检测到非法情况,同样对服务器进行报告,并主动切断与游戏服务器的连接。
最后,游戏厂商再加入一些反调试和驱动技术,对游戏进行保护。
2.3.脱机挂
针对脱机挂,外挂防治需要主攻“独特性”这一点。可采取数据签名保护,客户端对输入数据进行签名,生成一个签名值。如果破解者无法分析出签名算法,就无法模拟协议,也不能篡改数据。
除了以上三大类的外挂作弊防治手段之外,游戏厂商需要加强对反编译漏洞、内存漏洞以及调试漏洞的防护,了解并应用存档加密、行为检测、反多开器、反地理位置模拟等技术,充分适应反外挂工作的长期性和复杂性。
03总结
在外挂情形如此严峻的情况下,游戏厂商建立专门的软件安全小组,或与游戏安全类公司开展合作是必然趋势。其部门需要做到及时的收集外挂信息、分析外挂所使用的技术和寻求防治外挂的最佳方式,写出相应的检测及防护代码,及时更新游戏。
如今,游戏制作应用的技术原理日趋复杂,涉及广泛的专业人员,移动端游戏已形成巨大的产业链,所涉及的商业价值也越来越大,因而所衍生的外挂防治问题也愈为重要。移动端游戏安全系统价值在于维护公平的游戏环境、保护玩家财产、提高用户体验感。