Cocos2d-x资源加密解密


目前市面的Cocos2d-X游戏,一般分为C++、Lua、JavaScript三种编程语言,目前我们使用的是Cocos2d-x-3.16 + lua 语言,把游戏发布到市场上,就需要准备好被破解的可能,所以在发布到市场之前要对自己的游戏包内的脚本文件和非脚本文件做加密操作。

通过这篇文章你能了解到

1. 了解lua的加载流程
2. 了解其他加载流程
3. 资源加密
4. 资源解密
5. 加密算法加强
6. 资源名称混淆

1. LUA脚本加载流程

AppDelegate::applicationDidFinishLaunching ->
LuaEngine::getInstance->init ->
LuaStack->create->init->addLuaLoader ->
cocos2dx_lua_loader ->
LuaStack->LuaLoadBuffer->lual_loadBuffer

2. 其他资源加载流程


Sprite:create-> initWithFile -> 
Director->getTextureCache()->addImage
FileUtils::getInstance()->getDataFromFile->getContent


3. 资源加密


lua 和 图片的加密解密都是使用的是xxtea算法(继承quick,修改而来)
lua 在做解密算法前,lua本身可以使用luac将脚本编译为字节码(bytecode)从而实现加密(可逆的安全性不高)

gamePackage 加密算法演示。


4. 资源解密


图片的解密:
    FileUtils getContent 

gameString_getSecretKey


5. 加密算法加强


不使用luac,对lua 源文件进行混序算法,提高可逆成本。

6. 资源名称混淆

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值