Quick 3.3 的代码资源加密
http://cn.cocos2d-x.org/tutorial/show?id=1507
http://cn.cocos2d-x.org/tutorial/show?id=1447
http://blog.sina.com.cn/s/blog_71ad028b0101ms4n.html
http://cn.cocos2d-x.org/tutorial/show?id=1447
代码加密,
1.到quick建立的工程目录下右键在此打开cmd命令:输入下面代码 加密src文件夹
D:\quick-cocos2d-x-3.3rc1\quick\bin\compile_scripts.bat -i src -o res/game.zip -e xxtea_zip -ek MYKEY -es XT

2.然后在D:\codeide\test\frameworks\runtime-src\Classes\AppDelegate.cpp里加入:
//compile_scripts.bat -i src -o res/game.zip -e xxtea_zip -ek MYKEY -es XT
//pStack->setXXTEAKeyAndSign("abcd", 4, "SIGNCODE", 8);
stack->setXXTEAKeyAndSign("MYKEY", 5, "XT", 2);
stack->loadChunksFromZIP("res/game.zip");
stack->executeString("require 'main'");
3.最后编译发布程序的时候要记得把源代码文件夹从项目中移除或者改名为src1
到工程目录下D:\codeide\test\frameworks\runtime-src\proj.android
运行build_apk.bat生成apk文件,
右键解压缩此apk文件,assets下没有src源代码文件了,如果不进行此过程直接运行build_apk.bat的话会有src文件,
这样的话,手机上安装后,然后用360手机助手电脑版导出此应用就可以得到此apk文件,右键解压后src代码文件原封不动的出现,太可怕了。
资源加密
D:\quick-cocos2d-x-3.3\quick\bin\pack_files -i res -o resnew -es XXTEA -ek pa
http://www.cocoachina.com/bbs/read.php?tid-278418-page-1.html
http://my.oschina.net/SunLightJuly/blog/184061
是将res中的资源文件进行加密,加密后的文件存放到resnew文件夹中
最新实践:
代码加密
D:\quick-cocos2d-x-3.3\quick\bin\compile_scripts.bat -i src -o src.zip -e xxtea_zip -ek dishukey -es pa
资源加密
D:\quick-cocos2d-x-3.3\quick\bin\pack_files.bat -i res -o res.zip -m zip -ek XXTEA -es pa
D:\quick-cocos2d-x-3.3\quick\bin\pack_files.bat -i res -o resnew -ek dishukey -es pa
D:\quick-cocos2d-x-3.3\quick\bin\pack_files.bat -i res -o resnew -x fonts -ek dishukey -es pa
资源加密只加密image文件夹,只加密图片,plist和字体fnt和音乐不要加密
src和 res文件夹都打包成zip后,修改AppDelegate.cpp,运行build_native.bat,到eclipse-adt里的assets文件夹下把src和res都删除,
黏贴进去src.zip和res.zip
点击运行发布apk
代码加密和资源加密要用同样的key和sign
AppDelegate.cpp要改下:
stack->setXXTEAKeyAndSign("dishukey", 8, "pa", 2);
stack->loadChunksFromZIP("src.zip");
stack->executeString("require 'main'");
CCImage.cpp的initWithImageFile 和 initWithImageFileThreadSafe改一下,#include "HelperFunc.h"
//jiami ziyuan
//Data data = FileUtils::getInstance()->getDataFromFile(_filePath);
Data data = HelperFunc::getData(_filePath)
用vs打开cocos工程验证下有没有错。
Android.mk也改一下
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH) \
$(LOCAL_PATH)/. \
$(LOCAL_PATH)/.. \
$(LOCAL_PATH)/platform \
$(LOCAL_PATH)/base \
$(LOCAL_PATH)/../external \
$(LOCAL_PATH)/../external/tinyxml2 \
$(LOCAL_PATH)/../external/unzip \
$(LOCAL_PATH)/../external/chipmunk/include/chipmunk \
$(LOCAL_PATH)/../external/xxhash \
$(LOCAL_PATH)/../external/nslog \
$(LOCAL_PATH)/../../runtime-src/Classes/quick-src/extra/apptools
LOCAL_C_INCLUDES := $(LOCAL_PATH) \
$(LOCAL_PATH)/. \
$(LOCAL_PATH)/platform \
$(LOCAL_PATH)/../external \
$(LOCAL_PATH)/../external/tinyxml2 \
$(LOCAL_PATH)/../external/unzip \
$(LOCAL_PATH)/../external/chipmunk/include/chipmunk \
$(LOCAL_PATH)/../external/edtaa3func \
$(LOCAL_PATH)/../external/xxhash \
$(LOCAL_PATH)/../external/ConvertUTF \
$(LOCAL_PATH)/../external/nslog \
$(LOCAL_PATH)/../../runtime-src/Classes/quick-src/extra/apptools
TexturePacker图片加密:
http://www.it165.net/pro/html/201305/5703.html
Quick 3.3 的代码资源加密的更多相关文章
- 【Quick 3.3】资源脚本加密及热更新(二)资源加密
[Quick 3.3]资源脚本加密及热更新(二)资源加密 注:本文基于Quick-cocos2dx-3.3版本编写 一.介绍 在前一篇文章中介绍了代码加密,加密方式是XXTEA.对于资源文件来说,同样 ...
- cocos2dx游戏资源加密之XXTEA
在手机游戏当中,游戏的资源加密保护是一件很重要的事情. 我花了两天的时间整理了自己在游戏当中的资源加密问题,实现了跨平台的资源流加密,这个都是巨人的肩膀之上的. 大概的思路是这样的,游戏资源通过XXT ...
- UE4程序及资源加密保护方案
UnrealEngine4外壳加密 . Virbox Protector 解决代码反汇编和反dump代码,解决软件盗版与算法抄袭. 虚幻引擎4是由游戏开发者为开发游戏而制作的.完整的游戏开发工具套件. ...
- 利用Cython对python代码进行加密
利用Cython对python代码进行加密 Cython是属于PYTHON的超集,他首先会将PYTHON代码转化成C语言代码,然后通过c编译器生成可执行文件.优势:资源丰富,适合快速开发.翻译成C后速 ...
- Flutter 发布APK时进行代码/资源混淆的坑
Flutter 发布APK时进行代码/资源混淆的坑 @author ixenos 1. 关键点 proguard是Java的代码混淆工具,但是当用第三方库的时候,必须要告诉proguard不要检查,因 ...
- [自动化-脚本]002.cocos2dx-lua lua代码windows加密批处理
在开发软件的时候,我们都会在项目上线时候对代码进行加密,用来防止被不法分子盗走牟利.不同的语言有不同的加密方式,比较出名的有加壳,代码混淆等.在Lua开发cocos2dx的时候,框架会有提供加密的脚本 ...
- TLS实现代码段加密
刚开始见到这个思路是看到周大师用这个东西做的免杀,当时感觉这个想法很好,但是由于当时对PE结构了解的少,看到二进制的东西就打怵,所以当时也没能成功的去实现这个思路,只是简单的记录了一下TLS的特性,直 ...
- C#使用Dotfuscator混淆代码以及加密
http://www.cnblogs.com/tianguook/archive/2012/10/06/2713105.html C#编写的代码如果不进行一定程度的混淆和加密,那么是非常容易被反编译进 ...
- android 世界各国英文简写代码 资源文件
今日又用到这段代码,忽然感觉到如果是第一次用的人肯定也会很麻烦.故在此上传一份.后人再用就不必重复做此工作.跟体育老师学过语文,见谅. 提供下载地址 http://download.csdn.net/ ...
随机推荐
- linux加域退域
realm list realm leave od.com realm join -U Administrator od.com
- Maven 中的dependencies与dependencyManagement的区别
1.dependencyManagement 在Maven中dependencyManagement的作用其实相当于一个对所依赖jar包进行版本管理的管理器 在pom.xml文件中,jar的版本判断的 ...
- spring注入的四种方式
配置文件spring.xml: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns=&qu ...
- centos6/7安装 tinyproxy (yum安装)
centos6/7安装tinyproxy(yum安装)2016年06月06日 运维 暂无评论 阅读 790 次centos7安装tinyproxy,centos6安装tinyproxy,centos6 ...
- UML_04_时序图
一.前言 时序图建模工具,推荐一个工具 https://www.zenuml.com/ 时序图是一种强调消息时序的交互图,他由对象(Object).消息(Message).生命线(Lifeline) ...
- redis安装配置记录
环境:CentOS7,最小化安装 安装gcc wget # yum upgrade # yum install gcc # yum install wget 下载并安装redis # wget htt ...
- Hibernate主键生成策略详解
转载自:http://blog.csdn.net/wanghuan203/article/details/7562395 hibernate提供的主键生成策略,使我们可以在实体类的映射xml文件中设定 ...
- c# JScriptProvider包装
using System; using System.CodeDom.Compiler; using System.Reflection; using System.Web.UI; using Mic ...
- Linux网络编程IPv4和IPv6的inet_addr、inet_aton、inet_pton等函数小结
知识背景: 210.25.132.181属于IP地址的ASCII表示法,也就是字符串形式.英语叫做IPv4 numbers-and-dots notation. 如果把210.25.132.181转换 ...
- c++下基于windows socket的服务器客户端程序(基于UDP协议)
前天写了一个基于tcp协议的服务器客户端程序,今天写了一个基于UDP协议的,由于在上一篇使用TCP协议的服务器中注释已经较为详细,且许多api的调用是相同的,故不再另外注释. 使用UDP协议需要注意几 ...