文档章节

Cocos2d-x Lua引擎制作的游戏代码加密

坐着游戏的火箭
 坐着游戏的火箭
发布于 2017/01/15 23:14
字数 615
阅读 184
收藏 1

    博主的cocos是3.10版本。在Mac OS中的终端键入:cocos luacompile -h,可以获得这个命令的帮助:

usage: cocos luacompile [-h] [-v] [-s SRC_DIR_ARR] [-d DST_DIR] [-e]
                        [-k ENCRYPTKEY] [-b ENCRYPTSIGN] [--disable-compile]

对 lua 文件进行加密和编译为字节码的处理。

optional arguments:
  -h, --help            show this help message and exit
  -v, --verbose         更多输出信息。
  -s SRC_DIR_ARR, --src SRC_DIR_ARR
                        指定需要编译的 lua
                        文件路径,支持指定多个路径。
  -d DST_DIR, --dst DST_DIR
                        指定输出文件的路径。
  -e, --encrypt         开启 XXTEA 加密功能。
  -k ENCRYPTKEY, --encryptkey ENCRYPTKEY
                        指定 XXTEA 加密功能的 key 字段。
  -b ENCRYPTSIGN, --encryptsign ENCRYPTSIGN
                        指定 XXTEA 加密功能的 sign 字段。
  --disable-compile     关闭编译为字节码的功能。

    我们主要用到-s,-d,-e,-k,-b以及--disable-compile这几个参数:

    -s就是你需要加密的lua脚本所在的目录。

    -d就是逆需要将加密后的lua脚本放置的目录。

    -e是开启XXTEA加密功能,如果不用这个参数,后面的也就不用了,这样子做是编译为字节码。

    -k是在-e开启的情况下使用,XXTEA加密算法的key字段,这个自己定,不要太长,但越复杂越好。

    -b是在-e开启的情况下使用,XXTEA加密算法的sign字段,这个自己定,不要太长,但越复杂越好。

    --disable-compile是关闭字节码编译。为什么要加这个?因为现有的cocos引擎使用的是luajit来编译字节码,它仅支持32位,不支持64位的机子(截止至2017.01数据),而苹果官方要求上传的app必须兼容arm64的机子,因此只能选择XXTEA加密,这种加密方式也是很不错的,算法小巧,在没有key和sign的情况下不易被破解,兼容32和64位,是目前用cocos开发唯一可取的加密方式。

    这个命令举个例子:

cocos luacompile -s /Users/xxx/src -d /Users/xxx/src0 -e -k testtt -b signnn --disable-compile

    这条demo就是对src的所有lua脚本做key=testtt,sign=signnn的XXTEA加密,并关闭字节码编译。请注意,如果项目中除了lua脚本外,还有其他一些文件,比如plist,json,xml这些,是不会被编译的,实际跑的时候记得拷贝过去,保持源文件和目标文件具有一致性,否则会有问题的。

© 著作权归作者所有

坐着游戏的火箭
粉丝 3
博文 25
码字总数 16651
作品 0
成都
程序员
私信 提问
【手机游戏开发】分享《Cocos2D-X游戏开发技术精解(第2版)》电子版

内 容 提 要 Cocos2D-X是一款支持多平台的 2D 手机游戏引擎,支持iOS、Android、WinPhone等众多平台。当前,很多移动平台流行的游戏,都是基于Cocos2D-X开发的。 本书详细介绍如何使用Cocos...

不问旧梦
2015/11/19
108
0
【手机游戏开发】分享《Cocos2D-X游戏开发技术精解(第2版)》电子版

内 容 提 要: Cocos2D-X是一款支持多平台的 2D 手机游戏引擎,支持iOS、Android、WinPhone等众多平台。当前,很多移动平台流行的游戏,都是基于Cocos2D-X开发的。 本书详细介绍如何使用Coc...

不问旧梦
2015/11/19
1K
3
浅析Android手游lua脚本的加密与解密

本文转载自 梦幻西游手游美术资源加密分析 浅析android手游lua脚本的加密与解密 lua、luac、luaJIT三种文件的关系 lua手游过程中有三种文件:lua、luac、luaJIT。lua是明文代码,直接用记事本...

qq_32400847
2017/11/12
0
0
《Cocos2d-x实战 Lua卷》上线了

感谢大家一直以来的支持! 各大商店均开始销售: 京东:http://item.jd.com/11659697.html 当当:http://product.dangdang.com/23659810.html 《Cocos2d-x实战 Lua卷》源码及样章下载地址: ...

智捷课堂
2015/03/26
0
1
新里程碑:Cocos2d-x v3.0 正式版本发布!

历经半年多的精心打磨,Cocos2d-x v3.0正式版本最终发布!相比于去年9月份的Cocos2d-x v3.0-alpha版,正式版本在渲染器、性能、兼容性、稳定性等方面都得到了质的提升,并新增对WinPhone8的支...

oschina
2014/04/27
7.8K
11

没有更多内容

加载失败,请刷新页面

加载更多

Java agentlib参数分析

Java agentlib参数分析 再用intellij idea进行远程调试的时候,具体的配置选项如下: 标红的一行显示了远程调试需要添加的虚拟机参数。这个参数到底有什么意义? 我在命令行输入java命令,输...

Mr_Tea伯奕
6分钟前
0
0
四种软件架构演进史,程序员会一种就很牛了!

如果一个软件开发人员,不了解软件架构的演进,会制约技术的选型和开发人员的生存、晋升空间。这里我列举了目前主要的四种软件架构以及他们的优缺点,希望能够帮助软件开发人员拓展知识面。 ...

我最喜欢三大框架
11分钟前
0
0
如何做高可用的架构设计?

定义目标 既然我们的目标是做到高可用,那么我们就有必要先明确清楚高可用的含义,并通过拆解目标,让目标可以被量化。按照我的理解,可以将目标按照以下三条进行拆解: 1. 保持业务高稳定性...

别打我会飞
11分钟前
0
0
《错误的行为》的读后感优秀范文4000字

《错误的行为》的读后感优秀范文4000字: 第一章经济人和非理性人。本书中的经纪人是指经济学家经济模式中虚拟的理想人物,非理性人是指现实生活中实实在在存在的人,与经济人相对应的人。 ...

原创小博客
22分钟前
0
0
将二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向

作者图解释很好 https://blog.csdn.net/yanxiaolx/article/details/52073221

南桥北木
28分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部