美文网首页
cocos luacompile命令加密lua文件

cocos luacompile命令加密lua文件

作者: 罐头过期 | 来源:发表于2019-10-25 10:19 被阅读0次

    用法介绍

    命令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     关闭编译为字节码的功能。
    

    用法

    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
    

    执行脚本命令输出:

    通过 luacompile 命令对 lua 文件进行 XXTEA 加密以及编译为字节码的处理。
    编译为字节码的功能基于 LuaJIT v2.0.3,所以目前编译成字节码的文件不适用于 iOS 64位设备。
    正在处理 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;
    }
    

    相关文章

      网友评论

          本文标题:cocos luacompile命令加密lua文件

          本文链接:https://www.haomeiwen.com/subject/poxsvctx.html