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

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

转载于:https://my.oschina.net/hqc17/blog/825213

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值