Cocos资源加密方案解析

据数据显示,Cocos引擎全球游戏市场的占有率约为20%,在国内手游占有率约为40%,而在小游戏赛道,这一数据则高达64%。因其内置的H5引擎、免费开源、轻量化等优势,得到众多小游戏开发者青睐。

Cocos引擎的优势在2D画面渲染方面表现突出,更契合中小型游戏的需求。但Cocos引擎同样绕不开安全问题,由于其开源的特性,针对Cocos引擎的破解更为猖獗。

Cocos引擎的主要资源、代码文件位于包体中 assets/ 目录下。我们以 JavaScript 脚本为例,资源储存在 .JSC 文件中。由于文件无法直接打开进行编译,破解者会在引擎启动工程中找到 libcocos2djs.so 文件,这里储存着秘钥。

libcocos2djs.so文件储存着Cocos秘钥

破解者会尝试将 .SO 文件放入 IDA 等工具中进行反汇编,通过搜索 applicationDidFinishLaunching (入口函数)找到秘钥,再将秘钥进行编译即可得到资源、代码文件。

使用IDA工具查找Cocos引擎秘钥

此外,Cocos引擎中还有另一种脚本语言 Lua 。由于 Lua 虚拟机可以直接解释执行 Lua 源代码,会导致许多游戏开发者直接将 Lua 源代码打进 apk / ipa 中。

这种操作相当于直接泄漏了游戏源代码,极有可能被拿去做换皮二次开发,据Cocos官方统计,未加密的游戏资源在发布后30天内被盗用率高达68% 。

据观察,部分厂商会采用LuaJIT、自定义Lua等手段做加密,但这些操作在面对专业的反编译器及破解者的攻势下,还是难逃被破解的命运。

反编译器luadec

资源文件作为游戏的重要资产,储存着美术资源、代码、音视频等重要内容,一旦泄露会造成竞品抄袭、知识产权受损、游戏内容剧透、篡改游戏资源制售外挂等一系列严重问题。

如何有效对Cocos引擎做资源加密,提高破解门槛,成了游戏厂商的必修课。针对上述问题,FairGuard制定了一套针对Cocos引擎的加密保护方案:

◆ 资源加密

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

◆ 引擎模块加固

使用业界独创的无导入函数SO加壳对游戏引擎模块进行加固,保护游戏代码不被分析,防止破解者的进一步操作。

FairGuard加固后IDA导出表中无SO函数

◆ JS脚本加密

使用高强度算法对JS脚本进行加密,并防止通过HOOK破解脚本。

◆ C++代码加密

对C编译后的动态库进行加固,防止被反编译。

◆ lua脚本加密

采用深度加密的方式,确保 Lua 脚本无法被直接解密,支持ulua/tolua/slua/xlua等不同 Lua 的脚本加密,同时对 Lua 解析模块进行加固。

除了各类加密保护,FairGuard加固方案还提供行为检测手段及反修改器、反调试、反注入、反变速等功能,可与引擎加固联动,真正做到有效保护游戏安全。

相关推荐
小二·3 小时前
从零手写《超级玛丽》——前端 Canvas 游戏开发与物理引擎
前端·游戏
da_vinci_x3 小时前
【2D场景】16:9秒变21:9?PS “液态缩放” + AI 补全,零成本适配全面屏
前端·人工智能·游戏·aigc·设计师·贴图·游戏美术
喂自己代言4 小时前
Windows 10 22H2 纯系统自带工具安全方案
windows·安全
合才科技6 小时前
【要闻周报】网络安全与数据合规 12-31
安全·web安全
Par@ish7 小时前
【网络安全】Apache StreamPipes 严重漏洞使攻击者可夺取管理员控制权
安全·web安全·apache
汉堡包0017 小时前
【面试总结】--安服实习岗(2)
学习·安全·web安全·网络安全·面试
小毅&Nora7 小时前
【Java线程安全实战】② ConcurrentHashMap 源码深度拆解:如何做到高性能并发?
java·安全·多线程
国科安芯9 小时前
核工业检测系统通信链路的国产化元器件安全等级评估
运维·网络·人工智能·单片机·嵌入式硬件·安全·安全性测试
梅羽落10 小时前
ssrf绕过
安全
安当加密10 小时前
无网环境下的终端登录安全:一个被忽视的等保盲区
服务器·安全