cocos luacompile命令加密lua文件

用法介紹

命令cocos luacompile --h查看用法

usage: cocos luacompile [-h] [-v] [-s SRC_DIR_ARR] [-d DST_DIR] [-e]
                        [-k ENCRYPTKEY] [-b ENCRYPTSIGN] [--disable-compile]
 
對(duì) lua 文件進(jìn)行加密和編譯為字節(jié)碼的處理。
 
optional arguments:
  -h, --help            show this help message and exit
  -v, --verbose         更多輸出信息。
  -s SRC_DIR_ARR, --src SRC_DIR_ARR
                        指定需要編譯的 lua
                        文件路徑,支持指定多個(gè)路徑。
  -d DST_DIR, --dst DST_DIR
                        指定輸出文件的路徑。
  -e, --encrypt         開啟 XXTEA 加密功能。
  -k ENCRYPTKEY, --encryptkey ENCRYPTKEY
                        指定 XXTEA 加密功能的 key 字段。
  -b ENCRYPTSIGN, --encryptsign ENCRYPTSIGN
                        指定 XXTEA 加密功能的 sign 字段。
  --disable-compile     關(guān)閉編譯為字節(jié)碼的功能。

用法

luacompile.sh加密腳本文件

luacompile.sh加密腳本文件
 
PWD=`pwd`
COCOS='/Applications/Cocos2d-x/cocos2d-x-3.10/tools/cocos2d-console/bin/cocos'
rm  -rf  src_et
${COCOS} luacompile -s src -d src_et -e -k kBJMRK -b sTAMX --disable-compile

執(zhí)行腳本命令輸出:

通過(guò) luacompile 命令對(duì) lua 文件進(jìn)行 XXTEA 加密以及編譯為字節(jié)碼的處理。
編譯為字節(jié)碼的功能基于 LuaJIT v2.0.3,所以目前編譯成字節(jié)碼的文件不適用于 iOS 64位設(shè)備。
正在處理 lua 文件。
編譯完成。

把src文件夾下的.lua文件加密到src_et文件夾下的.luac文件

代碼解密

bool AppDelegate::applicationDidFinishLaunching()
{
...
    // set default FPS
    Director::getInstance()->setAnimationInterval(1.0 / 60.0f);
 
    // register lua module
    auto engine = LuaEngine::getInstance();
    ScriptEngineManager::getInstance()->setScriptEngine(engine);
    LuaStack* stack = engine->getLuaStack();
    stack->setXXTEAKeyAndSign("kBJMRK", strlen("kBJMRK"), "sTAMX", strlen("sTAMX"));
 
...
 
    #if COCOS2D_DEBUG
        if (engine->executeString("require('src/main')"))
    #else
        if (engine->executeString("require('src_et/main')"))
    #endif
        {
            return false;
        }
#endif 
  return true;
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容