導航:首頁 > 文檔加密 > luaencbyte加密

luaencbyte加密

發布時間:2023-08-20 12:09:54

A. lua 怎麼反編譯

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 "\033Lua" // 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

B. lua加密演算法

functionEcrypt(Text)
returnText:gsub('.',function(c)returnstring.format("%02X",(string.byte(c)+13)%256)end):gsub("","+")
end
functiondecrypt(code)
returncode:gsub('..',function(h)
returnstring.char((tonumber(h,16)+256-13)%256)
end)
end

c=Ecrypt("hello")
print(decrypt(c))
hello5

C. 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腳本,很方便!

D. 演算法-LUA實現一種報文簽名加密

接入系統與XX特色前置的通訊報文採用報文體MAC簽名,簽名用來識別來源的合法性和報文體是否遭篡改或破壞。MAC簽名值生成的步驟如下:

經過咨詢同事,公司crypt庫中有現成的MD5加密方法;
果斷復用!!!

驗證:將字元串「123456」 按標准md5演算法 後應該是
crypt庫中與MD5相關的有3個:

驗證1:-- 不一致

驗證2: -- 一致可用

調用加密機SM4演算法加解密數據
關鍵code

--對數據每兩位進行位元組壓縮

--對壓縮後的數據轉為位元組

--解碼:獲取的前16位元組

--解碼:獲取的前17-32位元組轉為byte

閱讀全文

與luaencbyte加密相關的資料

熱點內容
九江php招聘 瀏覽:374
怎麼在ubuntu編程 瀏覽:254
思科保存的命令是什麼意思 瀏覽:956
主力控制副圖源碼及套利選股公式 瀏覽:811
兄弟php培訓怎麼樣 瀏覽:678
金炯泰編譯器 瀏覽:860
涼山參加青少年編程培訓班報名 瀏覽:598
程序員開發者模式 瀏覽:199
電腦有圖標的文件夾是什麼 瀏覽:350
app停運了怎麼恢復 瀏覽:188
u盤加密密碼怎麼刪除 瀏覽:90
程序員四個小時爬泰山 瀏覽:834
威綸通禁止反編譯od工具破解 瀏覽:68
萊養你app怎麼退出登錄 瀏覽:793
單片機燒寫圖 瀏覽:424
php關鍵詞挖掘 瀏覽:374
任天堂伺服器怎麼解除 瀏覽:896
麒麟晶元緩解壓力 瀏覽:229
linuxgo開發環境 瀏覽:929
海康攝像螢石雲伺服器 瀏覽:817