位置: 编程技术 - 正文
推荐整理分享cocos2dx游戏资源加密之XXTEA(cocos2d开发的知名游戏),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:cocos2dx游戏资源解密提取,cocos2d游戏源码,cocos2dx游戏资源提取,cocos2dx游戏资源提取,cocos2dx小游戏,cocos2d游戏源码,cocos2d游戏源码,cocos2dx游戏资源提取,内容如对您有帮助,希望把文章链接给更多的朋友!
在手机游戏当中,游戏的资源加密保护是一件很重要的事情。
我花了两天的时间整理了自己在游戏当中的资源加密问题,实现了跨平台的资源流加密,这个都是巨人的肩膀之上的。在手机游戏资源加密这块,能做到安全加密保护的确实不多,有研究过专业平台爱加密的手机游戏加密解决方案,有兴趣的可以点此了解: 密码: 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编译。
写一个单例用来保存密码和对流解密过程,代码如下:
buffer就是经过XXTEA解密后正确的流。在CCFileUtils::getFileData()当中return返回之前调用解密pBuffer =ResourcesDecode::sharedDecode()->decodeData(pBuffer, size, pSize);这里是跨平台的读取资源的方法。
在ZipFile::getFileData()当中也加入解密方法pBuffer =ResourcesDecode::sharedDecode()->decodeData(pBuffer, fileInfo.uncompressed_size, pSize);这个是android读取plist的地方,我也不太清楚为什么android会在这里读取资源。
在bool CCSAXParser::parse(const char *pszFile)中把原先的rt改为rb : char* pBuffer = (char*)CCFileUtils::sharedFileUtils()->getFileData(pszFile,/*"rt"*/"rb", &size);
ios的修改地方 不一样
在CCFileUtilsIOS中的createCCDictionaryWithContentsOfFile修改如下,注释掉的是原先的,后面是新增的。
在CCImage.mm当中修改,同样是注释是原先的,后面是新增的。
android平台
在CCImageCommon_cpp当中修改如下
到此,基本结束了。在自己程序当中加入资源前把设置密钥和标识和自己加密资源时的一样:ResourcesDecode::sharedDecode()->setXXTeaKey("XXTEA",strlen("XXTEA"),"decodetest",strlen("decodetest"));
其它就正常的读取和显示。
在cocos2dx中的pushScene()中应用截屏函数 在cocos2dx中,pushScene创建一个场景,而场景的背景是黑色的,目前我还没有找到合适的方法使其透明,所以在网上找到一个方法替代,就是截屏先上代码
cocos2dx 场景切换效果与调用顺序 Cocos2dx为两个场景之间切换,提供丰富的切换动画效果,例如:渐隐,翻页等。转换场景类继承自CCScene。场景切换的实现很简单,调用单例的replaceScene
将cocos2dx v2新版的项目从引擎包内提取出来 .创建工程,到tools/project-creator目录下,调用create_project.py脚本,这个创建大家应该都会了,就不多说了,不会的可以去查资料,即便是直接打出来脚本,也会有详
标签: cocos2d开发的知名游戏
本文链接地址:https://www.jiuchutong.com/biancheng/372721.html 转载请保留说明!友情链接: 武汉网站建设