在手机游戏当中,游戏的资源加密保护是一件很重要的事情。
我花了两天的时间整理了自己在游戏当中的资源加密问题,实现了跨平台的资源流加密,这个都是巨人的肩膀之上的。
大概的思路是这样的,游戏资源通过XXTEA加密方法对流的加密方式,有自己的密钥和标识,通过标识可知是否有加密,密钥是自己程序当中的。除非有密钥,否则很难通过解出正确的文件。经过加密后,加密文件也就是游戏资源放在resource的自己文件夹中,否则在xcode编译到趁机是会识别不了文件。在程序中cocos2dx底层加入解密过程,就可以把文件正确读取出来,让程序显示。经试验,已经可以读取,png,plist,json文件。
现在记录下实现的步骤
链接: http://pan.baidu.com/s/1ntx98VZ 密码: qyqe 去下载加密资源的脚本,这个是quick-cocos2d-x提取出来的打包工具。
pack_files.sh -i olddir -o newdir -ek XXTEA -es decodetest
把ResourcesDecode和xxtea四个文件加入到cocos2dx/platform下;
把platform/ResourcesDecode.cpp \
platform/xxtea.c \加入到cocos2dx/platform的android.mk文件中,加入android编译。