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

在Mac OS中的终端键入:cocos luacompile -h,可以获得这个命令的帮助:

[plain] view plain copy
 
  1. usage: cocos luacompile [-h] [-v] [-s SRC_DIR_ARR] [-d DST_DIR] [-e]  
  2.                         [-k ENCRYPTKEY] [-b ENCRYPTSIGN] [--disable-compile]  
  3.   
  4. 对 lua 文件进行加密和编译为字节码的处理。  
  5.   
  6. optional arguments:  
  7.   -h, --help            show this help message and exit  
  8.   -v, --verbose         更多输出信息。  
  9.   -s SRC_DIR_ARR, --src SRC_DIR_ARR  
  10.                         指定需要编译的 lua  
  11.                         文件路径,支持指定多个路径。  
  12.   -d DST_DIR, --dst DST_DIR  
  13.                         指定输出文件的路径。  
  14.   -e, --encrypt         开启 XXTEA 加密功能。  
  15.   -k ENCRYPTKEY, --encryptkey ENCRYPTKEY  
  16.                         指定 XXTEA 加密功能的 key 字段。  
  17.   -b ENCRYPTSIGN, --encryptsign ENCRYPTSIGN  
  18.                         指定 XXTEA 加密功能的 sign 字段。  
  19.   --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开发唯一可取的加密方式。

    这个命令举个例子:

 

[plain] view plain copy
 
  1. 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这些,是不会被编译的,实际跑的时候记得拷贝过去,保持源文件和目标文件具有一致性,否则会有问题的。

posted on   &大飞  阅读(185)  评论(0编辑  收藏  举报

编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示