微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

cocos2d 3.3 lua 代码加密 luac

1.0 cocos luacompile 用法



我用的普通的cocos2d lua,没用quick,quick好像可以对整个资源包括图像和音频都加密,打包成zip。我看了下luacompile 的 help,比较简单啊。

先在项目根目录下建立了一个out的文件夹,然后就用这个命令试了下:

cocos luacompile -s src/  -d out/

比预想的顺利,在out目录下看到了很多luac文件。正如命令里说的,支持子目录。网上说luac还是会被反编译。就加上了key。

cocos luacompile -s src/ -d out/ -e -k testKey123456 -b testSign123456 

他用的是XXTEA加密算法,可以看这篇文章《XXTEA 可逆加密解密算法 C++ C#兼容版本》

还需要在AppDelegate.cpp文件applicationDidFinishLaunching方法中加入setXXTEAKeyAndSign。这点它那个luacompile 的help就没提了,这是第一个坑。

 LuaStack* stack = engine->getLuaStack();
    stack->setXXTEAKeyAndSign("testKey123456",strlen("testKey123456"),"testSign123456",strlen("testSign123456"));

    if (engine->executeScriptFile("src/main.lua")) {
        return false;
    

2.不支持64bit


第二个坑马上来了:刚开始在IPhone4S模拟器运行好好的,IPhone5s就漆黑一片了。原来这样把lua编译后,虽然速度变快了,但还未支持64位系统,据说cocos2d 年底会给出luajit 64位解决方案,因为苹果要求的啊。
然后因为这个问题我卡了一会儿。网上搜了了也没什么结果,都推荐使用Quick。游戏都写完了,转Quick有点麻烦。
突然注意到luacompile help中最后一个选项:--disable-compile ,然后把命令改成下面这种:

cocos luacompile -s src/ -d out/ -e -k testKey123456 -b testSign123456 --disable-compile

也是出来luac文件,但只是简单用XXTEA加密。这样小游戏完全够用了。

http://www.waitingfy.com/archives/1464

原文地址:https://www.jb51.cc/cocos2dx/345375.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐