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 的代码资源加密的更多相关文章

  1. 【Quick 3.3】资源脚本加密及热更新(二)资源加密

    [Quick 3.3]资源脚本加密及热更新(二)资源加密 注:本文基于Quick-cocos2dx-3.3版本编写 一.介绍 在前一篇文章中介绍了代码加密,加密方式是XXTEA.对于资源文件来说,同样 ...

  2. cocos2dx游戏资源加密之XXTEA

    在手机游戏当中,游戏的资源加密保护是一件很重要的事情. 我花了两天的时间整理了自己在游戏当中的资源加密问题,实现了跨平台的资源流加密,这个都是巨人的肩膀之上的. 大概的思路是这样的,游戏资源通过XXT ...

  3. UE4程序及资源加密保护方案

    UnrealEngine4外壳加密 . Virbox Protector 解决代码反汇编和反dump代码,解决软件盗版与算法抄袭. 虚幻引擎4是由游戏开发者为开发游戏而制作的.完整的游戏开发工具套件. ...

  4. 利用Cython对python代码进行加密

    利用Cython对python代码进行加密 Cython是属于PYTHON的超集,他首先会将PYTHON代码转化成C语言代码,然后通过c编译器生成可执行文件.优势:资源丰富,适合快速开发.翻译成C后速 ...

  5. Flutter 发布APK时进行代码/资源混淆的坑

    Flutter 发布APK时进行代码/资源混淆的坑 @author ixenos 1. 关键点 proguard是Java的代码混淆工具,但是当用第三方库的时候,必须要告诉proguard不要检查,因 ...

  6. [自动化-脚本]002.cocos2dx-lua lua代码windows加密批处理

    在开发软件的时候,我们都会在项目上线时候对代码进行加密,用来防止被不法分子盗走牟利.不同的语言有不同的加密方式,比较出名的有加壳,代码混淆等.在Lua开发cocos2dx的时候,框架会有提供加密的脚本 ...

  7. TLS实现代码段加密

    刚开始见到这个思路是看到周大师用这个东西做的免杀,当时感觉这个想法很好,但是由于当时对PE结构了解的少,看到二进制的东西就打怵,所以当时也没能成功的去实现这个思路,只是简单的记录了一下TLS的特性,直 ...

  8. C#使用Dotfuscator混淆代码以及加密

    http://www.cnblogs.com/tianguook/archive/2012/10/06/2713105.html C#编写的代码如果不进行一定程度的混淆和加密,那么是非常容易被反编译进 ...

  9. android 世界各国英文简写代码 资源文件

    今日又用到这段代码,忽然感觉到如果是第一次用的人肯定也会很麻烦.故在此上传一份.后人再用就不必重复做此工作.跟体育老师学过语文,见谅. 提供下载地址 http://download.csdn.net/ ...

随机推荐

  1. linux命令详解(一)

    linux命令 在使用linux环境进行工作和学习中,我们更多时间是手指在键盘上跳动.这里,我们就来说linux命令使用吧在linux环境中,显然不能记下所有的命令及其使用规则,那么这时,man,he ...

  2. 第八天 1-7 实战:创建一个root无法删除的文件

    实战:创建一个root无法删除的文件 简介:Linux文件的最底层(内核级别)属性的查看与修改 命令:lsattr.chattr Linux文件除了具有基本权限rwx,及特殊权限(SUID.SGID. ...

  3. Python抓取糗事百科成人版图片

    最近开始学习爬虫,一开始看的是静觅的爬虫系列文章,今天看到糗事百科成人版,心里就邪恶了一下,把图片都爬下来吧,哈哈~ 虽然后来实现了,但还是存在一些问题,暂且不提,先切入正题吧,没什么好说的,直接上代 ...

  4. oracle数据库简单的导入导出操作

    一.数据库导出 1.导出用户名/密码,,导出用户名为test_expdp.导出路径默认为oracle中的dpdump文件中 expdp test_expdp/test_expdp@orcl direc ...

  5. 十四、dbms_obfuscation_toolkit(用于加密和解密应用数据)

    1.概述 作用:用于加密和解密应用数据,另外还可以生成密码检验和.通过加密输入数据,可以防止黑客或其他用户窃取私有数据;而通过结合使用加密和密码检验和,可以防止黑客破坏初加密的数据.当使用该包加密数据 ...

  6. querySelectorAll 与jquery.find 与htmlcollection 的区别

    querySelector 和 querySelectorAll 规范定义 querySelector 和 querySelectorAll 方法是 W3C Selectors API Level 1 ...

  7. 【第三方类库】underscore.js源码---each forEach 每次迭代跟{}比较的疑惑

    var each = _.each = _.forEach = function(obj, iterator, context) { if (obj == null) return; //首先判断是否 ...

  8. DB2导入导出数据

    1.导出表数据到txt文件: export to /brcb_edp/data_public_edp/file/CCDM/file/FILE_CCDM_DR_CARD_CUST_DET.txt of ...

  9. elasticsearch关于索引切分的实现

    [背景信息] ES一直以来对于已经创建好的索引的分片是不可以进行分割的,简单的说,当你创建了一个索引,并指定了number_of_shards为2,当随着数据量的不断增大,是无法将索引的shard扩充 ...

  10. 20165202 2017-2018-2 《Java程序设计》第8周学习总结

    20165202 2017-2018-2 <Java程序设计>第8周学习总结 教材学习内容总结 Ch12 进程与线程 线程是比进程更小的单位,一个进程在其执行过程中,可以产生多个线程 Ja ...