❶ 我沒有用quick,該怎樣手工加密解密lua源代碼
32位的是可以通用的,一定要編譯成32位的,因為你要兼容 iphone5s以下的機型。
例如:lua源碼預編譯luac,預編譯的環境一定要是32位的。否則你在支持64位之前的設備上是無法讀取64位預編譯的代碼。
❷ 關於lua插件的加密。
編譯是一種方法
也可以寫個小的dll用於加密和解密
然後把當前的文件加密成字元串,require相應的dll後解密再運行
早先也考慮了很多防止被人看的方法
但後來覺得軟體開發者不應該遮遮掩掩 應該本著一顆共享的心
這樣才能更方便後來者的學習 才能讓這語言更強大
❸ luac文件怎麼進行反編譯
lua源文件--obfuscate-->lua源文件(混淆後)--compile-->luac文件(帶調試用的變數名和行號)--strip-->luac文件(不帶調試信息)
lua/luac--加密/打包-->數據文件
數據文件--解包/解密-->lua/luac-->lua虛擬機
1. 跟蹤,脫殼,解包,解密,獲得 luac
追 luaL_loadbuffer luaL_loadfile lua_load 應該可以找到 解密函數。
hook 這3個函數,導出解密後的數據,直接就是 luac 文件。如果沒編譯甚至是 lua源文件。
hook luaV_execute 可以拿到 Proto* ,想辦法用 luaU_mp 導出。luaD_precall 應該沒必要搞。
2. 非標准 luac 處理
我們有兩種方案來處理得到的 luac
1. 得到一個能夠執行上述非標 luac 的 lua 版本
搞清楚編譯方式,改 lua 源文件,編譯出一個,這樣做什麼都可以,還能編譯出對應的 luadec 。
如果能找到 lua51.dll 之類的就直接調用吧。但是,只能用於導出 luac 對比文件格式,或者執行找到的幾個關鍵函數。
2. 將非標 luac 轉換成標准格式 luac,正所謂:山不來就我,我便去就山
非標准 luac 是怎麼做的:
1. bad header 改文件頭
#define LUA_SIGNATURE "