Quick-Cocos2d-x Lua脚本加密打包器

准备开新项目了,在寻找合适的框架,后来就发现了Quick-Cocos2d-x这玩意. 别说,还挺好使.之后一步步研究,发现Lua不加密是不行的.

加密的方法在这里.

因为在做版本更新的时候,一般大家都是做热更新的,但是如果每次热更新都更新所有脚本,那量有点大.所以我就打算做一个

打包器,里面可以按照文件修改时间排序,这样就知道哪些文件要打包,哪些不用了.

这里先写一个很简单的教程,关于这个打包器如何使用的.

大概界面如上图所示.

注意,在使用这个程序之前要先确认系统变量QUICK_COCOS2DX_ROOT的存在,否则无法运行.

首先选择你的脚本目录. 

Quick-Cocos2d-x的项目,一般都有一个scripts文件夹,找到这个路径即可.

然后是包输出的目录.这个没什么多说的了.

前两个配置好之后单击"开始扫描",软件就会自动扫描你给出的路径,然后罗列出所有的lua文件:

接着,你可以单击列表的Last Modify Time 来对列表排序.

然后就可以根据时间来判断哪些是新修改或者增加的lua脚本了.

下面的几个参数不用多说,包名可以随便,密钥也是.签名一般空白不管就好了,默认是XXTEA.

如果加密密钥那一栏是空白的,那么打出的包是不会被加密的.

下面的自定义命令是方便某些高手使用,可以自己写参数进去.会覆盖掉之前所有的参数.

保存设置,会生成cfg文件将配置保存进去. 在开始编译和退出程序的时候,程序也会把设置写到cfg文件里面保存起来,以便下次启动的时候使用.

参数配置完了之后,在列表里面选中你要加密打包的Lua文件,然后单击开始编译即可. 

编译后会显示结果.  因为我没做异步处理,所以文件多的话会卡,不过不要担心,耐心等一下就好了.

现在这个只是初级版本,还有一些东西没实现,也有一些问题.

比如脚本是否要打包,因为时间不太够继续写,这个功能还未完善所以就先关掉了.其实就是参数问题没什么难的.

另外编译结果的回馈,只是简单地用了MessageBox,如果消息过多可能会显示不完全. 暂时的方案就是将里面的内容复制出来就好了. 

回头再增加log功能.

这个软件遵循 WTFPL 协议.

Git地址:https://github.com/NexusEast/QC2dxLua_Packer

===================================================================

EDIT: 好多人说可以通过哈希表来验证文件,而不是通过时间. 这个可以有! 我在收集一些意见和建议就开始下一个版本吧,

     欢迎大家在我博客留言! 另外热更新方法看这里.我就用的这个方法.

===================================================================

原文地址:https://www.cnblogs.com/code0418/p/3510658.html