quick-cocos2d-x 加密全过程解析

最近有好几个朋友在问我quick脚本和资源加密的相关问题,看来很多人还是有不解的地方,现在就详细介绍一下,免得各位折腾许久。
1. 对资源和脚本加密的操作,本文就不介绍,直接运行几个命令行就搞定,具体可以参考官方的教程。
2. 对脚本的解密也很简单,直接在按照官方说的设置的key和签名即可,不用再修改任何代码
3. 资源解密,这个修改的地方有点多。首先导入头文件搜索路径,$(SRCROOT)/../../runtime-src/Classes/quick-src
3.1 单个图片的解密,修改CCImage.cpp文件
3.1.1 导入头文件,#include "extra/apptools/HelperFunc.h"
3.1.2 找到函数 bool Image::initWithImageFile(const std::string& path)
修改Data data = FileUtils::getInstance()->getDataFromFile(_filePath); 为Data data = HelperFunc::getData(_filePath);
此时就完成了单个图片的解密过程。
3.2 csb文件解密,修改csloader.cpp文件
3.2.1 导入头文件,#include "extra/apptools/HelperFunc.h"
3.2.2 找到函数Node* csloader::nodeWithFlatBuffersFile(const std::string &fileName)
修改Data buf = FileUtils::getInstance()->getDataFromFile(fullPath);为Data buf = HelperFunc::getData(fullPath);
此时就完成了对csb文件的解密过程。
3.3 plist文件解密,修改CCFileUtils-apple.mm 特别注意,本文是针对xcode修改的,Android修改原理差不多
3.3.1 导入头文件,#include "extra/apptools/HelperFunc.h"
3.3.2 找到函数 ValueMap FileUtilsApple::getValueMapFromFile(const std::string& filename)
替换NSDictionary* dict = [NSDictionary dictionaryWithContentsOfFile:path];为以下代码
Data buf = HelperFunc::getData(filename);
NSData *data = [[[NSData alloc] initWithBytes:buf.getBytes() length:buf.getSize()] autorelease];
nspropertyListFormat format;
Nsstring *error;
NSMutableDictionary *dict = (NSMutableDictionary *)[
nspropertyListSerialization propertyListFromData:data
mutabilityOption:nspropertyListMutableContainersAndLeaves
format:&format
errorDescription:&error];
此时就完成对plist文件的解密过程。

相关文章

    本文实践自 RayWenderlich、Ali Hafizji 的文章《...
Cocos-code-ide使用入门学习地点:杭州滨江邮箱:appdevzw@1...
第一次開始用手游引擎挺激动!!!进入正题。下载资源1:从C...
    Cocos2d-x是一款强大的基于OpenGLES的跨平台游戏开发...
1.  来源 QuickV3sample项目中的2048样例游戏,以及最近《...
   Cocos2d-x3.x已经支持使用CMake来进行构建了,这里尝试...