cocos對lua代碼加密


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

3.操作

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

還需要在AppDelegate.cpp文件的 applicationDidFinishLaunching方法中加入setXXTEAKeyAndSign。--引用加密文件

LuaStack* stack = engine->getLuaStack();
    stack->setXXTEAKeyAndSign("testKey123456", strlen("testKey123456"), "testSign123456", strlen("testSign123456")); if (engine->executeScriptFile("src/main.lua")) { return false;
 



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM