導航:首頁 > 文檔加密 > luac編輯後還需要加密嗎

luac編輯後還需要加密嗎

發布時間:2025-01-05 06:33:32

❶ 我沒有用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 "33Lua" // lua.h

2. bad header 改數據類型

// luaconf.h

#define LUA_NUMBER_DOUBLE

#define LUA_NUMBER double

LUA_NUMBER to float

LUA_NUMBER_SCAN to "%f"

LUA_NUMBER_FMT to "%.7g"

l_mathop(x) to (x##f)

lua_str2number to use strtof


3. bad code OpCode 重定義

// 改有 "ORDER OP" 的地方

/* grep "ORDER OP" if you change these enums */

enum OpCode; // lopcodes.h

const lu_byte luaP_opmodes[]; // lopcodes.c

const char *const luaP_opnames[]; // lopcodes.c


生成一個被破解程序可以執行的 luac 文件用於對比,分析格式

想辦法執行下面的代碼,編譯 allopcodes.lua 並導出, 與標准 lua 編譯相同源文件生成的進行對比。


1. 在 C 內導出

lua_State* L = luaL_newstate();

luaL_loadbuffer or luaL_loadstring or luaL_loadfile

Closure* c=(Closure*)lua_topointer(L, -1);

Proto* f = c->l.p;//Closure如果改了偏移會不同

luaU_mp(L, f, writer, D, 0);//非導出函數

lua_close(L);


2. 用 lua 導出到文件或者string

lua_State* L = luaL_newstate();

luaopen_string(L);

luaopen_io(L);

luaL_dostring or luaL_dofile

char* str = lua_tostring(L, -1);

lua_close(L);

-- luaopen_string 此庫必須打開

allopcodes() allopcodes.lua文件內容 end

chunk = string.mp(allopcodes)

if luaopen_io then --如果 io 可用,則可以直接寫文件

file:write(chunk)

else

output(chunk,to_any_where) --想辦法把 chunk 搞出來

return chunk

end

❹ cocos2dx 用luajit 加密腳本 會被反編譯嗎

1、新建一個名為1.lua的文件,裡面只有一句話print("hello
lua"),新建一個空的out.lua腳本文件
2、開始--運行--cmd
3、luac
-o
out.lua
1.lua
註:
luac
-o
[編譯後腳本名]
[腳本名],必要時帶上腳本路徑,如:
回車之後,再打開out.lua就可以看到編譯好的位元組碼了
然後實驗一下,執行這個位元組碼腳本,可以看到lua原生的解釋器可以直接解析luac編譯出來的bytecode腳本,很方便!

閱讀全文

與luac編輯後還需要加密嗎相關的資料

熱點內容
python構造時間 瀏覽:843
頁面加密不能復制 瀏覽:680
什麼app可以看美劇無刪美劇 瀏覽:845
mom解壓包下載 瀏覽:270
什麼手機app可以學習數學 瀏覽:496
pdf文檔製作 瀏覽:781
修改文件夾顯示電影圖標 瀏覽:133
王者榮耀視頻app叫什麼 瀏覽:900
php判斷ip段 瀏覽:978
gmail伺服器怎麼收到郵件 瀏覽:297
sha弱加密演算法 瀏覽:666
預編譯error指令 瀏覽:304
小米控制電視的app叫什麼 瀏覽:351
python中break的用法 瀏覽:508
安居家園app怎麼設備綁定 瀏覽:91
程序員招聘數量城市 瀏覽:801
程序員反擊代碼 瀏覽:255
程序員在線課程思維 瀏覽:545
加密狗加密java 瀏覽:922
pdf文件轉曲線 瀏覽:745