COCOS2D-X LUA 热更新、资源加密及资源文件名混淆

1. 热更新

热更新按照平台可分为IOS、Android、Windows、MacOs。

下图展示的为IPA、APK和exe、MacOs 热更新包体路径基本情况 

Cocos2d-X 热更新的主要起作用就是 搜索路径(SearchPath)SearchPath 对于IOS Android App 一般打包会带入部分 LUA与图片等资源作为主包资源,将writablePath 里面的update 文件夹作为第一搜索顺位,大家参考 Quick 版本的FileUtils::fullPathForFilename。

COCOS2D-X LUA 热更新、资源加密及资源文件名混淆_第1张图片

 

2.资源加密

Quick Cocos2d的资源加密 可以参考 Cocos2d-x客户端资源加密 - 简书,有时间再做补充。

另外说一下关于XXTEA的意外的资源加密,对于XXTEA 加密技术比较成熟,加密的等级比较低,作为商业项目可以在此基础上增加自己的加密算法。

3.资源文件名混淆

加密算法的主要作用是将文件内容加密为密文,但是包体内的文件名称还是暴露了自己的业务名称及资源类型。所有最好也需要增加对于文件名的混淆。

在资源打包时,可以将对应资源名称及文件类型混编为一种编码格式(唯一标识即可),将文件名字典一起打包到包内资源,在搜索路径的方法中根据文件名字典搜索对应的路径:

FileUtils::fullPathForFilename

FileUtils::fullPathFromRelativeFile

注意mp3需要保留文件名后缀,防止Android打包时的压缩。

你可能感兴趣的:(cocos2d-x,lua,cocos2d,开发语言)