cocos2d luajit对Lua脚本编译加密的批处理工具

来源:互联网 发布:淘宝主图怎么弄吸引人 编辑:程序博客网 时间:2024/05/02 01:02

       


       首先关于luajit 在ios平台下的使用问题:

          参考:      1.cocos2d-x 3.14版本跟新说明


2.Quick-Cocos2dx-Community 中 64 位 Luajit 使用说明

       总结起来就是使用luajit 2.10编译字节码!



        下面回到正题:


         在项目中要对lua代码进行加密。在论坛上看到一个方法使用cocos2d引擎所包含的luajit对其进行编译加密。

        地址是:cocos2d-x使用Luajit将Lua脚本编译为bytecode,从而实现加密 。

        作者还提供了一个批处理工具实现快速的编译。毕竟项目的lua文件量是很大的,如果全手动的话费力不讨好。但是这个批处理不是很满足需求。不管源代码的目录结构如何。都是统一输出到当前目录的out文件夹下。结果是还是得手动的重新组织目录结构。并且输出目录很死就是out

        

       所以这里对其进行一点改动实现能够灵活指定输出目录,并且输出后按照源目录结构保存。这样除了拖动指定两次目录基本无需任何操作了。

      这里放上批处理命令文件CompileToLuaBytecode.bat代码

@echo offif exist out rd /s /q outmkdir outsetlocal enabledelayedexpansioncls:inputset input=:set /p input= 拖入要编译的lua文件夹:if "%input%"==":" goto inputif not exist "%input%" goto inputset "input=%input:"=%":outputset output=:set /p output= 拖入要编译后输出的目标文件夹:if "%output%"==":" goto outputif not exist "%output%" goto outputfor %%i in ("%input%") do if /i "%%~di"==%%i goto inputpushd %cd%cd /d "%input%">nul 2>nul || echo cmd was runing errorset cur_dir=%cd%popdset /a num = 0echo 正在目标文件夹中创建对应目录结构:for /r %input%  %%a in (*) do xcopy %%a %output% /t /secho 创建完成,开始编译lua代码:for /f "delims=" %%i in ('dir /b /a-d /s "%input%"') do (set /a num += 1 set pt=%%~fi & set "pt=!pt:%input%=%output%!"luajit -b %%~fi !pt! echo 编译后: !pt!)echo 编译脚本数量:%num%ATTRIB %output%/*.* +Recho 编译完成,开始删除空白文件夹:for /f "delims=" %%i in ('dir /b /ad /s "%output%"') do (echo 删除空白目录信息: %%i & rd %%i /q) pause

     在luajit.exe的同级目录下新建一个文本文档,将以上代码拷贝复制并修改后缀为.bat文件即可。然后双击运行按提示拖入源码目录与输出目录即可。

     具体操作及注意事项可以看下面的说明

     

## ReadMe.md### 文件 :基于cocos2d-x 的 luajit 对lua代码进行批处理编译成字节码以实现代码加密### 工具 :CompileLuaToBytecode.bat### 作者 :长安长夜  ### 声明 :本文件及批处理命令供参考  CopyRight(c) Reserved All Rights=====================================================================#### 使用指南1. 启动需求:        本批处理命令依赖于cocos2d引擎中所包含的luajit,请将其放置于引擎目录下的luajit.exe的同级文件夹中        具体目录为: cocos2d-x引擎\tools\cocos2d-console\plugins\plugin_luacompile\bin2. 使用流程:    直接双击即可运行,运行后会提示你拖入lua源码文件夹,直接选中文件拖入到cmd窗口中即可。然后回车继续拖入生成的字节码目标存放目录,之后回车等待即可本命令运行完成即可。#### 注意--    本工具会删除目标存放目录的空白文件夹          --    本工具需要明确指定输入目录和输出目录--    本工具会按照源码目录结构存放编译后的的文件.并且文件夹名及生成的字节码文件名与源保持一致


      dos代码修改的可能不是很好。如有错漏与不足希望能够批评指正。

      

0 0
原创粉丝点击