据悉,Unity引擎的全球市场占有率已经超过50%,而在全球排名前1000的手游当中,这一数据更是高达73%。不止如此,Unity在中国拥有高达350万的注册用户,《崩坏·星穹铁道》、《王者荣耀》等爆款游戏均为Unity引擎开发。
庞大的体量吸引了黑灰产,Unity开发的游戏成了遭受攻击的重灾区。针对Unity引擎的破解、逆向工具层出不穷,如:逆向工具Il2CppDumper、dnSpy,资源解析工具AssetStudio等。
接下来我们将通过案例演示分析这些工具的特点,并分析Unity引擎游戏该如何应对逆向及破解问题,提出有效地解决方案。
◆ Il2CppDumper
在 Unity il2cpp 模式下,会将所有的 C# 中的类名/属性名/字符串等信息记录在 global-metadata.dat 文件。il2cpp 启动时会从这个文件读取所需要的类名/属性名等信息。
正是这一机制为外挂制作/游戏破解带来了便利,使用 IL2cppDumper 可以解析 global-metadata.dat 文件,并将文件里的类名等字符串信息对应到 Native 代码中去,极大地方便了逆向分析。
将解析后的 .cs 文件拖入 Visual Studio 解析工具,可以直接分析出源码:
◆ dnSpy
在Unity mono 模式下,游戏 C# 代码被编译为 IL(中间代码) 并生成 dll 文件,然后将 DLL 打进游戏包文件。但由于 IL 非常容易被 ILSpy / dnSpy 等专业反编译软件分析逆向,所以在无保护情况下,游戏的安全性极差。
dnSpy 是一个开源、跨平台的 .NET 调试器和反编译器,可以在无源码的情况下,进行代码调试和修改。利用 IL 和 C# 等多种语言的支持,dnSpy 能够将 .NET程序 的二进制文件反编译成源代码。
◆ AssetStudio
AssetStudio是一款开源的 Unity 资源解析工具,能够识别 Unity 的二进制资源文件格式,并将其解码为可读的数据结构。仅需将资源文件导入,将可以轻松查看并导出3D模型、纹理、音频以及其他Unity支持的各种资源类型。
FairGuard基于十余年游戏安全对抗经验,针对Unity引擎研发了一套成熟完善的解决方案。以多项独家技术为基石,构建了全方位的Unity游戏防护矩阵,并提供定制化解决方案,包含如下功能:
文件/代码防篡改功能
针对Unity引擎中的 mono DLL / global-metadata.dat / libil2cpp.so 等文件进行高强度加密。
■ mono DLL加密
FairGuard深入游戏引擎底层,构建了第三代加密方式——DLL结构虚拟化。对DLL的文件结构进行自定义重构,并对文件结构数据进行高强度加密。
加密处理后,所有的工具都无法解析出任何数据,加密方案可以有效提高破解门槛,避免游戏被逆向分析破解。
■ global-metadata.dat 文件加密
加密 global-metadata.dat 文件,同时做到对开发者透明。开发者只需使用加固工具运行一条命令行,即可实现加密,不需要上传额外文件。
■ libil2cpp.so 文件加密
加密 libil2cpp.so 文件,由于 IL2cppDumper 需要依赖 libil2cpp.so 对应 global-metadata.dat 文件中的字符串地址,所以对 libil2cpp.so 做深度加密非常有必要。
使用加密方案后,即使从内存中 dump 出来 libil2cpp.so , 依然不会被 IL2cppDumper 正常识别,效果如下图:
加密后IL2cppDumper无法解析
Unity AB资源加密方案
FairGuard独家资源加密方案,支持Android、iOS、PC、H5、鸿蒙多端。加密方案深入游戏引擎底层,结合游戏资源文件结构及加载机理精心构造。
可为游戏资源提供高强度加密保护,同时具备高兼容性、运行消耗小、性能无影响的特点,并且支持资源在线更新。
此外,方案对接入流程进行优化,实现了无需开发对接与接入、加解密对开发透明等特色功能。
除了上述的引擎内文件/代码/资源加密,FairGuard还提供反外挂、防破解功能,与引擎加固功能紧密耦合,游戏保护效果更上一层楼。
针对游戏将面临一系列外挂修改风险,FairGuard研发了行为检测方案,搭配300+维度的智能感知系统,可通杀各类外挂及其变种,做到有效防护。
采用FairGuard业界独家技术「无API签名校验技术」,从底层出发,对游戏的引擎与代码进行加密处理,可以针对游戏包签名和文件完整性进行多重校验,防止游戏被植入恶意模块、剔除广告等。
采用更加底层的检测手段,经大量实机测试,可无视任何变速器及其变种,一旦检测到变速情况,将立即闪退游戏。
防止外挂作者对游戏进行调试,阻止对游戏的静态或动态分析,一旦检测到IDA/frida等调试分析工具,立即闪退。
点击 阅读原文 免费试用产品