有关Lua代码混淆
lua库本身提供的是字节码编译器,但这个不是混淆,是我搞混了。
使用方法:luac a.lua –o a.luc
另外网上有一个在线混淆器:
http://www.capprime.com/CapprimeLuaObfuscator/CapprimeLuaObfuscator.aspx
这个混淆器基本上能达到混淆的目的,仍有缺点如下:
1. 同一段代码的混淆在不同时间进行混淆,得到的混淆字段不同
这是致命的缺点,因为我们需要进行动态更新时,并不会更新所有的Lua文件,那么对要更新的文件进行混淆,同一个方法,如果得到方法名与前一次不同,则动态更新的意义就不存在了
2. 不能同时对多个文件进行混淆
因为我们程序往往是工程级别,在现在这个自动化概念被十分重视的时代,一个个文件进行混淆的操作明显是不被接受的。
这个在线混淆器的最大优点是:
只有与在Lua中定义过的变量名和方法名相同字段才会被混淆。
另外,我们要进行Lua代码混淆,要考虑到我们的Lua代码中存在对象的概念,也就是说,我们进行混淆时,要注意不能把对象的方法给进行混淆,否则在与OC交互的过程会出问题。
同时,我们会在Lua中重写一些OC方法,那这部分方法名是不应当被混淆的。
综上,要对Lua代码进行混淆,要考虑的因素较多。我们一般只进行一次加密就能够很好地达到混淆效果。如果是要去掉多余的注释、空格、空行等,我们可以写脚本批量处理Lua文件即可。
posted on 2013-06-12 10:02 anndaming 阅读(8457) 评论(0) 编辑 收藏 举报