注册 登录
主题 : quick-cocos2d-x 加密全过程解析
级别: 新手上路
UID: 367478
精华: 0
发帖: 3
可可豆: 21 CB
威望: 21 点
在线时间: 23(时)
注册时间: 2014-08-29
最后登录: 2016-08-10
0 楼:  发表于: 2015-11-03 14:51    发自: Web Page
来源于 教程分享 分类

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文件的解密过程。




如还有疑问的可以单独发信息询问。

CocoaChina社区转载内容已尽可能注明出处,如未能核实来源或转发内容图片有权利瑕疵的,请及时联系社区进行修改或删除【联系方式QQ : 3442093904 邮箱:support@cocoachina.com】文章内容为作者独立观点,不代表CocoaChina社区立场。版权归原作者所有,如申请授权请联系作者,因文章侵权CocoaChina社区不承担任何法律及连带责任。

描述
快速回复

关注本帖(如果有新回复会站内信通知您)

发帖、回帖都会得到可观的积分奖励。查看论坛积分规则

按"Ctrl+Enter"直接提交
    顶部