[Cocos 2 dx]cocos luacompileコマンドluaファイルの暗号化
2058 ワード
使い方の紹介
コマンドcocos luacompile--h表示用法
使用法
luacompile.sh暗号化スクリプトファイル
スクリプトコマンドの出力を実行します.
srcフォルダの下にあるluaファイルをsrc_に暗号化etフォルダの下にあります.luacファイル
コード解読
コマンド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;
}