准备开新项目了,在寻找合适的框架,后来就发现了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: 好多人说可以通过哈希表来验证文件,而不是通过时间. 这个可以有! 我在收集一些意见和建议就开始下一个版本吧,

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

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

Quick-Cocos2d-x Lua脚本加密打包器的更多相关文章

  1. cocos2d的-X- luaproject的LUA脚本加密

    2014/1/26 更新 近期又发现了一个非常easy的方法,事实上coco2dx已经给我们提供设置loader的方法. 注意:有个局限性,在非android平台下调用pEngine->exec ...

  2. 【Quick 3.3】资源脚本加密及热更新(二)资源加密

    [Quick 3.3]资源脚本加密及热更新(二)资源加密 注:本文基于Quick-cocos2dx-3.3版本编写 一.介绍 在前一篇文章中介绍了代码加密,加密方式是XXTEA.对于资源文件来说,同样 ...

  3. 【Quick 3.3】资源脚本加密及热更新(一)脚本加密

    [Quick 3.3]资源脚本加密及热更新(一)脚本加密 注:本文基于Quick-cocos2dx-3.3版本编写 一.脚本加密 quick框架已经封装好加密模块,与加密有关的文件在引擎目录/quic ...

  4. 【Quick 3.3】资源脚本加密及热更新(三)热更新模块

    [Quick 3.3]资源脚本加密及热更新(三)热更新模块 注:本文基于Quick-cocos2dx-3.3版本编写 一.介绍 lua相对于c++开发的优点之一是代码可以在运行的时候才加载,基于此我们 ...

  5. 一键自动发布ipa(更新svn,拷贝资源,压缩资源,加密图片资源,加密数据文件,加密lua脚本,编译代码,ipa签名,上传ftp)

    一键自动发布ipa(更新svn,拷贝资源,压缩资源,加密图片资源,加密数据文件,加密lua脚本,编译代码,ipa签名,上传ftp) 程序员的生活要一切自动化,更要幸福^_^. 转载请注明出处http: ...

  6. uLua 学习笔记 之一 lua脚本 打包与读取

    最近要学习热更新,搜了下,选择了ulua这个插件,本人也是新人.对这个插件也是一知半解,不过幸好加了专门讨论这一块的群,这个群的技术氛围还是很浓重的,特别是已经形成了一套自己的lua学习框架.最近周末 ...

  7. [原创]使用squish打包与混淆cocos2d-x的lua脚本

    squish是一个开源的用于打包lua脚本的小工具,它的主要功能是将多个lua文件整合成一个文件,并在此基础上做压缩和混淆等处理,混淆和压缩后的代码可以直接被执行而不需要先做解压还原等操作. 它的gi ...

  8. Cocos2d-x使用Luajit将Lua脚本编译成bytecode,启用加密

    http://www.cocoachina.com/bbs/read.php?tid=205802 lua脚本进行加密,查了一下相关的资料 ,得知lua本身能够使用luac将脚本编译为字节码(byte ...

  9. Windows下为Lua脚本进行加密处理

    缘由 想对Lua脚本进行安全性处理,可惜一直没有想到很好的解决方案,考虑过用原生Lua将脚本编译成二进制代码,也考虑过用zlib将文件进行加密压缩处理,但是感觉都不是最佳方案,今天忽然想到有个东西叫L ...

随机推荐

  1. Python判断字符串编码以及编码的转换

    转自:http://www.cnblogs.com/zhanhg/p/4392089.html Python判断字符串编码以及编码的转换 判断字符串编码: 使用 chardet 可以很方便的实现字符串 ...

  2. yii2下的路由重写

    1.在config/main.php中添加配置信息 文件位置如图所示(图中展示的是backend下的config,也可以在fronted和common的config中添加) 配置的代码标准格式如下 ' ...

  3. Vue 参数传递及刷新后依旧存在

    获取参数方式有两种: 1.params2.query 第一种方式: params this.$router.push({name:'Hello',params:{name:'zs',age:'22'} ...

  4. gitee 搭建自己的代码仓库

    git是什么? 还是科普一下吧:Git是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版本管理(来自我大百度) 现在越来越多的公司已经使用git来进行项目的版本管理,,使用起来 ...

  5. Unity3D跨平台动态库编译---记kcp基于CMake的各平台构建实践

    一 为什么需要动态库 1)提供原生代码(native code)的支持,也叫原生插件,但是我实践的是c/cpp跨平台动态库,这里不具体涉及安卓平台java库和ios平台的objectc库构建. 2)某 ...

  6. 《nginx 三》实现nginx的动态负载均衡——实战

    Http动态负载均衡 什么是动态负载均衡 传统的负载均衡,如果Upstream参数发生变化,每次都需要重新加载nginx.conf文件, 因此扩展性不是很高,所以我们可以采用动态负载均衡,实现Upst ...

  7. apache配置多端口对应多个虚拟目录

    经常需要在本地调试网站,却又不喜欢在http://localhost/网站的文件夹名 且几个比较重要的项目我想直接用端口号以示区分,想达到的效果如下: http://localhost/ 默认80端口 ...

  8. pat1066. Root of AVL Tree (25)

    1066. Root of AVL Tree (25) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue An A ...

  9. Python文本数据分析与处理

    Python文本数据分析与处理(新闻摘要) 分词 使用jieba分词, 注意lcut只接受字符串 过滤停用词 TF-IDF得到摘要信息或者使用LDA主题模型 TF-IDF有两种 jieba.analy ...

  10. powerdesigner低版本打开高版本方式为只读导致无法保存PD只读read-only-mode

    由于版本号不一致 打开PD文件后提示: 点击[确定]后打开,点击[取消]后打不开 但打开后修改完毕保存提示: 解决办法: pdm文件实际上是个xml文件,直接用文本编辑器打开该文件修改版本号即可 把根 ...