cocos2dx-lua项目发布时,为了保护lua源码,需要对lua进行加密。通常分为两种方式:加密文件和编译为字节码。

1、加密文件

  前提是你不用luajit,而使用lua。这样这种方法是真正加密,原理是我们自己替换掉lua的的loader函数。通常需要以下几个步骤:

  (1)确立加密算法,并实现批量加密的工具。

  (2)实现文件读取时解密,并调用lua解释器加载解密后模块。

2、编译成字节码。

  这种其实并不是真正意义上的加密,而是用luajit把lua脚本编译成字节码。反编译?!

  因为目前项目的cocos2dx使用了luajit,所以使用编译方式隐藏源码。主要步骤:

  (1)打开终端,进入 cocos2dx自带的luajit路径:你的cocos2d-x路径/scripting/lua/luajit/LuaJIT-2.0.1。

  (2)运行命令:sudo make install。这样安装后,可以直接在命令行使用luajit来编译lua文件。

  (3)运行命令:luajit -b 你的lua文件 你要生成的字节码文件

这里有一个批量编译的脚本。http://www.it165.net/pro/html/201403/10527.html

最新文章

  1. ie6 z-index不起作用的解决方法
  2. 网页上传图片 判断类型 检测大小 剪切图片 ASP.NET版本
  3. bccomp比较大小注意
  4. MVC中@Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction区别
  5. JSONP - 跨域AJAX
  6. WEB urllib2 module note
  7. [操作系统]iOS6与iOS7屏幕适配技巧
  8. skynet newservice API参考
  9. javascript学习笔记(2)
  10. asp.net webapi 多文件上传
  11. 一步步学习Python-django开发-建立django数据库
  12. ATM取款小项目
  13. JAVA 验证码生成(转)
  14. 在 Docker 中使用 flannel - 每天5分钟玩转 Docker 容器技术(60)
  15. AngularJS中的DOM与事件
  16. Android重构篇——项目架构篇
  17. Scrapy简单入门及实例讲解
  18. [PHP] PHP在CLI环境下的错误日志
  19. 替换iframe的内容
  20. MNIST数据可视化

热门文章

  1. SpringMVC文件上传与下载
  2. windows使用命令行杀进程
  3. lesson7:java线程池
  4. Javascript:getElementsByClassName
  5. google在线測试练习题1
  6. c++中基本的语法问题
  7. Android学习之路——Android四大组件之activity(二)数据的传递
  8. C#读取注册表
  9. Swift 流程控制
  10. 数据库元数据分析Demo