在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
OverviewCompile the UsageAvailable Arguments
Samples
我们在实验的过程中出现了一些问题,支持64位的解决方式: cocos luacompile -s src/ -d out/ -e -k testKey123456 -b testSign123456 --disable-compile
以下给出全过程与測试project 1.0 cocos luacompile 使用方法我用的普通的cocos2d lua,没用quick,quick好像能够对整个资源包含图像和音频都加密。打包成zip。但我没用quick.看了下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
项目測试: /// decode: const char * key = "testKey123456"; int keylen = (int)strlen(key); const char * sign = "testSign123456"; int signlen = (int)strlen(sign); Data srcInfo = FileUtils::getInstance()->getDataFromFile("BugAnt.luac"); //decode: xxtea_long len = 0; unsigned char * result = xxtea_decrypt(srcInfo.getBytes() + signlen, (xxtea_long)srcInfo.getSize() - signlen, (unsigned char* )key, (xxtea_long)keylen, &len); printf("\n result: %s \n len; %ld",result,len); 读取正常; |
请发表评论