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文件的解密过程。
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值