Cocos2d-x客户端代码加密
发布时间:2020-12-14 16:57:32 所属栏目:百科 来源:网络整理
导读:代码加密的重要性就不用多讲了。网上讲代码加密的一大堆,但是很多都只是讲讲原理,还有好多转载的,而本博注重的是步骤详细,让新手一步步完成代码加密。 一、下载quick-cocos2d-x quick-cocos2d-x封装了一套加密的工具,先下载quick-cocos2d-x,git地址htt
代码加密的重要性就不用多讲了。网上讲代码加密的一大堆,但是很多都只是讲讲原理,还有好多转载的,而本博注重的是步骤详细,让新手一步步完成代码加密。
一、下载quick-cocos2d-x quick-cocos2d-x封装了一套加密的工具,先下载quick-cocos2d-x,git地址https://github.com/dualface/v3quick。 解压之后把bin目录拷贝到我们的cocos2d-x工程根目录。
二、加密代码 cocos提供了luacompile命令,讲lua文件编译成luac字节码,但是luac可以被反编译。 quick-cocos2d-x提供了pack_files命令,可以将文件加密后打包成压缩包。 到bin目录打开命令行窗口,执行pack_files.bat -h 可以查看pack_files的使用方法。
1、编译luac字节码 ::script_compile.bat set SRC=E:Cocos2dCocos2d-xProjectsGame_Luasrc set DSRC=E:Cocos2dCocos2d-xProjectsGame_Luadsrc cocos luacompile -s %SRC% -d %DSRC% 2、对luac字节码文件进行加密后打包 ::script_pack.bat set DSRC=E:Cocos2dCocos2d-xProjectsGame_Luadsrc set ESRC=E:Cocos2dCocos2d-xProjectsGame_Luaesrc cd bin pack_files.bat -i %DSRC% -o %ESRC% -m zip -ek 123456 -es test 这时候会生成esrc压缩文件。
三、修改AppDelegate文件 bool AppDelegate::applicationDidFinishLaunching() { auto engine = LuaEngine::getInstance(); ScriptEngineManager::getInstance()->setScriptEngine(engine); lua_State* L = engine->getLuaStack()->getLuaState(); lua_module_register(L); // If you want to use Quick-Cocos2d-X,please uncomment below code // register_all_quick_manual(L); if (USE_XXTEA_ENCRYPT == 1) { auto stack = engine->getLuaStack(); stack->setXXTEAKeyAndSign("123456",strlen("123456"),"test",strlen("test")); stack->loadChunksFromZIP("esrc"); stack->executeString("require 'main.luac'"); } else { if (engine->executeScriptFile("src/main.lua")) { return false; } } return true; } 注意:这里用的是require "main.luac"。 删除原来的代码源文件,运行也成功运行。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |