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/ ...
随机推荐
- ansible入门一(Ansible介绍及安装部署)
本节内容: 运维工具 Ansible特性 Ansible架构图和核心组件 安装Ansible 演示使用示例 一.运维工具 作为一个Linux运维人员,需要了解大量的运维工具,并熟知这些工具的差异,能够 ...
- 【zznu-2060】 Minsum Plus(最小正子段和)
题目描述 题意简单到令人发指! 序列A由N个整数组成,从中选出一个连续的子序列,使得这个子序列的和为正数,且和为所有和大于零的子序列中的最小值. 将这个值输出,若无解,输出no solution. 输 ...
- 六.dbms_session(提供了使用PL/SQL实现ALTER SESSION命令)
1.概述 作用:提供了使用PL/SQL实现ALTER SESSION命令,SET ROLE命令和其他会话信息的方法 .2.包的组成 1).set_identifier说明:用于设置会话的客户ID号.语 ...
- SCM-MANAGER
什么是SCM-MANAGER 基于Web的,集成了 Git. Mercurial .Subversion 多种代码管理工具的源代码管理平台 它有什么优点 简易安装 不需要破解配置文件,完全可配置的 ...
- Spring实例化bean的几种方式
一,通过constructor实例化bean Spring可以实例化各种类型的类,不要求必须是JavaBean类型的类.在XML中配置类如下: <bean id="exampleBea ...
- IOC与DI简介
IOC:控制反转(Inverse Of Control) 在没用spring框架之前我们是这样写程序的: private UserDao userDao = new UserDaoImpl(); 也就 ...
- C#运行批处理【转】
/// <summary> /// C#运行bat文件 /// </summary> /// <param name="batPath">< ...
- 转--ES6 Promise 用法讲解
Promise是一个构造函数,自己身上有all.reject.resolve这几个眼熟的方法,原型上有then.catch等同样很眼熟的方法. 那就new一个 var p = new Promise( ...
- Okhttp之RouteSelector简单解析
继前面的几篇OKhttp的拦截器简单分析之后,对于后续Okhttp之间的分析自己也着实琢磨了一段时间,是分析RealConnection?还是ConnectionPool,随着对Okhttp源码的深入 ...
- Python如何输出带颜色的文字
print('\033[31m%s' % "这是前景色") 这是前景色 print('%s' % "这是前景色") 这是前景色 print('\033[1;31 ...