有關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文件即可。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM