Unity资源加密解决方案

来源:fairguard 发布时间:2024-02-23 14:17:20 点击数:

据统计,全球范围内超过50%的游戏均使用Unity创作而成,作为游戏开发市场第一大游戏引擎占有者,Unity已经全面覆盖到各个游戏平台。

FairGuard

全球游戏引擎市场占有率

由于体量庞大,Unity游戏已成为受游戏黑灰产攻击的重灾区,因游戏资源被破解造成竞品抄袭、知识产权受损、游戏内容剧透、篡改游戏资源制售外挂等问题,负面案例屡见不鲜,对游戏厂商收益造成严重损失。

如何有效对Unity资源进行加密,提高破解门槛,保护游戏资源,成了游戏厂商的必修课。

FairGuard

《光环4》发生过美术素材被抄袭事件(上《光环4》;下《群星》)

在Unity中,位于Asset文件下的内容都可以称为游戏的资源,如:模型、材质、纹理、音频、视频、数据文档、场景等,Unity引擎最常用的资源类型为 AssetBundle 与 Resources。

针对 AssetBundle 资源,FairGuard研发团队通过对Unity引擎进行黑盒分析,梳理了 Assetbundle 的加载机理以及其文件结构。制定了一套加密方案:

首先,通过对Assetbundle文件进行结构解析,找到资源文件的核心文件块,对核心文件块进行加密,然后在游戏运行时,对unity引擎Assetbundle加载时机进行埋点,在埋点处对核心文件块进行解密。

该方案在满足加密保护强度的同时,还具备运行消耗小的特点,解决了游戏资源加密的行业痛点,同时具备以下几个优点:

▎速度快,无感知

加密方案只对核心关键位置做加密处理,对游戏加载速度、运行流程程度的几乎没有影响,实现了无感知。

▎加密强度高

加解密算法进行了自定义混淆,让破解者无法分析出算法,算法流程图如下所示:

FairGuard

FairGuard算法流程图

▎兼容性高

通过 Android SO 加壳或 iOS 静态 hook 导入的纯 native 方案,兼容所有 32 位和 64 位指令集。

▎解密速度非常快

核心文件块很小,不随整个资源文件大小而变化。使用主流手机测试,300个资源文件一次性解密,额外增加的解密时间不到10ms。

对加密算法进行了高强度自定义混淆,混淆经过精心设计,在增加复杂度的同时,兼顾了效率,运行开销很小。

▎三端互通,支持热更

FairGuard Unity资源加密方案支持 Android / iOS / PC 三平台,支持资源在线热更。

▎操作便捷,接入成本低

使用非常简单,只要运行一个命令行即可完成对整个游戏资源的加密。

FairGuard

FairGuard Unity资源加密示意图

此外,FairGuard技术团队还对 Unity Resources 资源加载原理进行了深入分析,找到了加解密的核心点,构造了对资源进行随机加密的方案和算法。

Unity Resources资源文件打包后,在assets/bin/Data 路径下以hash值命名的文件形式存在,如下图所示:

FairGuard

原始的Resources文件,二进制如下图所示,可以看到资源版本等信息:

FairGuard

经过FairGuard Unity Resources 资源随机化加密后的资源,已经看不到任何信息,而且每次加密后的文件内容都完全不同(如下图所示):

FairGuard

此外,FairGuard针对Unity游戏面临的各类安全问题,研发了一套成熟完善的解决方案,在进行Unity资源加密的同时,也会对游戏内的脚本做 mono dll 加密或 il2cpp 加密。

同时,可根据配置选项,增加防破解、反修改器、反变速、反调试、反虚拟机、反云手机等多项功能,对游戏进一步加固防护,可有效解决游戏面临的各项安全问题。目前,该方案已接入多款热门游戏并验证了出色的保护能力。

丨结语

FairGuard作为专注于游戏安全领域的第三方服务商,致力于帮助游戏公司解决外挂和破解问题,为游戏提供深度一体化的加密保护方案。

开发团队深耕技术,研发了无导入函数SO加壳、无API签名校验、三端通用的Unity Assetbundle资源加密方案等多项业界独家技术。

目前产品已经被FunPlus、三七互娱、游族、心动网络、恺英网络等多家头部公司采用,接入400+款热门游戏。

产品咨询联系方式:

QQ:2079128588

微信:fairguard01

技术交流QQ群:1105310296

即刻体验FairGuard

即刻体验FairGuard

免费试用游戏游戏安全保护, 对接专业技术服务!

免费体验
首 页
产 品
方 案
客 服
帮助