您的位置  > 互联网

网易游戏保护实践演讲分享:安卓手游面临的各种外挂问题

内容来源:2018年9月8日,网易高级安全工程师张本良在“实时互联网大会”上发表《网易游戏防护实践》演讲。 IT大咖说(微信ID:)作为独家视频合作伙伴,经主办方和主讲人审核授权后发布。

阅读字数:2520 | 7分钟阅读

概括

本次分享主要介绍了手游面临的各种外挂问题,并针对通用引擎游戏提出了一些解决方案。

扫描下方二维码获取嘉宾演讲视频和PPT。

Unity手游面临的安全风险

我们都知道,现在手游已经超越了端游,成为市场份额最大的游戏类型。 与此同时,围绕手游的金手指越来越多,金手指作者的水平也得到了很大的提高。

从目前来看,如果一款游戏在没有提前做任何防护的情况下就放到了频道,被破解的概率要高很多。

插件工具

经过数据分析,我们发现插件群体中使用插件工具的比例最高,门槛也最低。 普通玩家无需任何编程经验即可轻松使用。

游戏修改器是插件工具中最常用的。 修改器可以轻松地将武器伤害从18%更改为999.9%,攻击伤害增加数十倍。 类似的原理还可以达到无敌、秒杀、法力无限、技能无CD等效果。 因此,修改器对于游戏的平衡性有着很大的伤害。

为了应对游戏安全防护水平的不断提高,各种外挂技术也在不断发展。 早期的游戏修改器还需要搜索和修改内存,但后来的修改可以直接通过执行脚本来完成。 相应的Lua脚本可以在一些论坛、网站、聊天工具中购买。

通常,要使用修改器,手机需要root。 不过版本越高,root就越困难,所以有些修改器提供了免Root功能。 其实现原理其实就是要与虚拟空间工具配合使用,让修改器能够运行。 在具有Root权限的环境中。

除了修改器之外,还有一种外挂形式——游戏加速器。 在一些酷跑游戏中,游戏加速器可以通过设置加速倍数来控制游戏后台速度,从而达到加速或减速的效果。 现有的加速主要分为两种,一种是手机加速器,通常游戏修改器都带有加速功能,另一种是模拟器加速。

模拟按钮插件可能是使用频率不高的插件。 不过虽然只是模拟点击,但是可以实现自动游戏,并且可以赚取各种金币和积分,对于游戏的平衡性还是有比较大的影响。

破解版游戏是一种比较暴力的破解方式,需要对游戏本身进行修改,但也能赚取可观的利润。 破解版提供了很多变态的功能来吸引玩家。 他们大多采取按月付款的购买计划。 这个价格可能已经超过了很多游戏的ARPU值。 因此,这种形式不仅影响了普通玩家的体验,也对游戏的收入和声誉造成了很大的损害。 大损失。

开裂风险

Unity提供两种模式:mono虚拟机。 从市场上捕获的游戏包来看,mono脚本的形式相对较多。 现在有很多工具可以将mono 二进制形式转换为源代码,从而查看游戏的所有逻辑并进行修改。

对于脚本,使用 .so 和 -.dat 作为解析的输入。 最终的解析结果包括类名、函数名以及对应的偏移量。

资源修改也算是一种插件。 例如,在射击游戏中,将资源中的材质属性更改为透明可以实现透视效果。 除了资源被篡改的风险外,还存在资源被竞品窃取和分析的风险。

此外,某些系列游戏的存档数据将以纯文本形式存在。 这些数据如果没有在服务器端进行验证,或者如果是单机游戏,就会存在巨大的安全隐患,并且可以直接修改游戏的各种属性。

协议破解是一种相对无错误的方法。 主要通过抓包软件对协议进行分析,获取协议中包含的血量或者攻击等数据传输。 破解者首先让播放器连接到其专门设置的服务器,然后对播放器传输的数据进行解包和修改,然后将修改后的数据返回到厂商的服务器。

网易云盾安全解决方案

Unity单声道DLL脚本加密

是mono虚拟机的C#脚本加载功能。 如果C# DLL脚本被加密,则需要在函数执行之前对其进行解密。 Mono 会将解密的 DLL 的副本保存在内存中。 因此,只要在该函数中设置断点或者Hook,就可以解密原始DLL,而不需要逆向加密算法。

第一代加密直接对DLL文件进行加密,一开始就解密。 它的解密门槛很低,只需要使用修改器就可以解密。

第二代针对第一代加密的明显弱点,加强了防解密保护。 解密后,PE头将被删除,使得修改者无法定位脚本文本。 这种解密门槛比较高,需要非常强的逆向开发能力才能破解。

第三代对C#函数进行加密,即方法级加密和动态解密。 仅当执行该函数时才会解密。 因此,无论如何转储,都无法从内存中获得完整解密的第二文件。 亿盾目前采用第二代和第三代加密相结合的方式来保证DLL脚本加密的安全强度。

手机游戏通用保护功能

以上防破解方案主要针对游戏。 接下来介绍一些通用的功能。 任何游戏引擎都支持它们。 您可以根据游戏需要选择一项或多项。 例如,防修改、防加速器、文件验证、档案加密、防二次打包、防多重打开、防同步等。

除了常规版本之外,该修改器还有很多定制的修改版本,这些版本专门实施了反检测措施(随机包名、子进程使用系统进程名等),因此常规进程检测无法发挥作用。 亿盾手游防护采用修改行为检测,可以查杀所有修改器,包括已知和未知的修改器。

前面提到,加速器有两种类型,系统中的加速器和加速模拟器进程的加速器。 第二个原理和PC游戏加速是一样的。 本质是加速整个模拟器。 系统中没有运行加速器。 我们针对这两种类型的加速都有检测解决方案,这些解决方案也是基于行为而不是特定的加速器,并且更加通用。 另外,在模拟点击方面,亿盾手游防护采用了进程检测和行为检测相结合的方式进行检测。