Unity作为游戏开发市场第一大游戏引擎占有者,已经全面覆盖到各个游戏平台,在全球范围内超过50% 的手机游戏、PC 游戏和主机游戏都使用 Unity 创作而成。
同时,Unity也是中国游戏公司的首选开发引擎,《原神》《王者荣耀》《英雄联盟手游》等游戏均由Unity引擎开发。据官方数据显示,2020年移动游戏开发引擎Unity使用占比高达61%。
但名高引谤,树大招风,Unity游戏已成为受游戏黑灰产攻击的重灾区。各种外挂、破解层出不穷,不仅破坏了游戏的公平性,更有游戏因受到攻击导致生命周期缩短等严重案例。
FairGuard基于十余年游戏安全对抗经验,针对unity引擎研发了一套成熟完善的解决方案。以多项独家技术为基础,构建了全方位的Unity游戏防护矩阵,并提供定制化解决策略,包含如下功能:
文件/代码防篡改功能
针对Unity引擎中的 mono DLL / global-metadata.dat / libil2cpp.so 等文件进行高强度加密。
■ mono DLL加密
FairGuard深入游戏引擎底层,构建了第三代加密方式——DLL结构虚拟化。对DLL的文件结构进行自定义重构,并对文件结构数据进行高强度加密。
加密处理后,所有的工具都无法解析出任何数据,哪怕是专业的破解分析人员,要解密出里面的结构数据难度也是非常大。
虚拟化后的DLL结构010 Editor无法正常解析
■ global-metadata.dat 文件加密
加密 global-metadata.dat 文件,同时做到对开发者透明。开发者只需使用加固工具运行一条命令行,即可实现加密,不需要上传额外文件。
加密前 global-metadata.dat 文件
加密后的 global-metadata.dat 文件
■ libil2cpp.so 文件加密
加密 libil2cpp.so 文件,由于 IL2cppDumper 需要依赖 libil2cpp.so 对应 global-metadata.dat 文件中的字符串地址,所以对 libil2cpp.so 做深度加密非常有必要。
使用加密方案后,即使从内存中 dump 出来 libil2cpp.so , 依然不会被 IL2cppDumper 正常识别,效果如下图:
Unity Assetbundle资源三端通用加密方案
FairGuard独家资源加密方案,深入游戏引擎底层,结合游戏资源文件结构及加载机理精心构造。
可为游戏提供高强度加密保护,具备高兼容性、运行消耗小、性能无影响的特点,支持Android/iOS/PC三平台、支持资源在线更新。
此外,方案进行了特殊优化,无需开发对接与接入,加解密对开发透明。
FairGuard算法流程图
反变速功能
采用FairGuard独家无导入函数SO加壳技术,高强度加壳保护游戏内代码,经大量实机测试,可无视任何变速器及其变种,使其变速功能无效化。
反内存修改
针对游戏将面临一系列外挂修改风险,FairGuard潜心研发了「行为检测方案」,可通杀各类外挂及其变种,做到有效防护。
无API签名校验技术
FairGuard业界独家技术,可对游戏引擎与代码进行深度加密,并对游戏包签名和文件完整性进行多重校验,极大地减少被绕过的可能性,防止游戏被植入恶意模块、剔除广告等行为。
反调试功能
防止外挂作者对游戏进行调试,阻止对游戏的静态或动态分析,一旦检测到IDA/frida等调试分析工具,立即闪退。