2014-05-12 871 views
-3

我不能解密這個代碼,我找不到一些工具,但他們不會爲我工作。如何解密LUA代碼?

有人可以解密該代碼嗎?

loadstring('\27\76\117\97\81\0\1\4\4\4\8\0\16\0\0\0\64\116\111\66\121\116\101\67\111\100\101\46\108\117\97\0\2\0\0\0\20\0\0\0\0\0\0\3\11\0\0\0\5\0\0\0\6\64\64\0\65\128\0\0\164\0\0\0\28\64\128\1\5\192\0\0\6\64\64\0\65\0\1\0\164\64\0\0\28\64\128\1\30\0\128\0\5\0\0\0\4\19\0\0\0\69\102\102\101\99\116\77\101\115\115\97\103\101\80\114\111\120\121\0\4\10\0\0\0\79\110\82\101\99\101\105\118\101\0\4\11\0\0\0\68\105\99\101\69\102\102\101\99\116\0\4\17\0\0\0\76\111\99\97\108\83\112\101\101\99\104\80\114\111\120\121\0\4\11\0\0\0\83\97\121\67\97\116\99\104\101\114\0\2\0\0\0\0\0\0\0\4\0\0\0\11\0\0\0\0\5\0\9\17\0\0\0\69\1\0\0\70\65\192\2\128\1\128\0\197\129\0\0\198\193\192\3\220\129\128\0\1\2\1\0\213\1\130\3\92\129\128\1\90\1\0\0\22\0\1\128\133\65\1\0\134\129\65\3\193\193\1\0\12\2\194\2\156\65\128\1\30\0\128\0\9\0\0\0\4\7\0\0\0\115\116\114\105\110\103\0\4\6\0\0\0\109\97\116\99\104\0\4\5\0\0\0\83\101\108\102\0\4\5\0\0\0\78\97\109\101\0\4\16\0\0\0\32\114\111\108\108\101\100\32\97\32\40\46\43\41\46\0\4\7\0\0\0\83\105\103\110\97\108\0\4\5\0\0\0\83\101\110\100\0\4\11\0\0\0\68\105\99\101\82\111\108\108\101\100\0\3\0\0\0\0\0\0\0\0\0\0\0\0\17\0\0\0\6\0\0\0\6\0\0\0\6\0\0\0\6\0\0\0\6\0\0\0\6\0\0\0\6\0\0\0\6\0\0\0\6\0\0\0\7\0\0\0\7\0\0\0\8\0\0\0\8\0\0\0\8\0\0\0\8\0\0\0\8\0\0\0\11\0\0\0\6\0\0\0\7\0\0\0\115\105\103\110\97\108\0\0\0\0\0\16\0\0\0\8\0\0\0\109\101\115\115\97\103\101\0\0\0\0\0\16\0\0\0\2\0\0\0\120\0\0\0\0\0\16\0\0\0\2\0\0\0\121\0\0\0\0\0\16\0\0\0\2\0\0\0\122\0\0\0\0\0\16\0\0\0\14\0\0\0\82\111\108\108\101\100\95\78\117\109\98\101\114\0\9\0\0\0\16\0\0\0\0\0\0\0\0\0\0\0\14\0\0\0\18\0\0\0\0\5\0\8\8\0\0\0\69\1\0\0\70\65\192\2\129\129\0\0\202\129\0\0\201\129\128\129\201\1\1\130\92\65\128\1\30\0\128\0\5\0\0\0\4\7\0\0\0\83\105\103\110\97\108\0\4\5\0\0\0\83\101\110\100\0\4\11\0\0\0\65\110\97\108\121\122\101\83\97\121\0\4\9\0\0\0\99\114\101\97\116\117\114\101\0\4\8\0\0\0\109\101\115\115\97\103\101\0\0\0\0\0\8\0\0\0\16\0\0\0\16\0\0\0\16\0\0\0\16\0\0\0\16\0\0\0\16\0\0\0\16\0\0\0\18\0\0\0\5\0\0\0\6\0\0\0\112\114\111\120\121\0\0\0\0\0\7\0\0\0\6\0\0\0\109\116\121\112\101\0\0\0\0\0\7\0\0\0\8\0\0\0\115\112\101\97\107\101\114\0\0\0\0\0\7\0\0\0\6\0\0\0\108\101\118\101\108\0\0\0\0\0\7\0\0\0\5\0\0\0\116\101\120\116\0\0\0\0\0\7\0\0\0\0\0\0\0\11\0\0\0\4\0\0\0\4\0\0\0\4\0\0\0\11\0\0\0\4\0\0\0\14\0\0\0\14\0\0\0\14\0\0\0\18\0\0\0\14\0\0\0\20\0\0\0\0\0\0\0\0\0\0\0')() 
+0

引用自[該書](http://www.lua.org/pil/2.4.html)「我們可以通過轉義序列\ ddd在字符串中指定一個字符,也可以通過其數值指定一個字符,其中ddd是作爲一個有點複雜的例子,在使用ASCII的系統中,兩個文字「alo \ n123 \」「和'\ 97lo \ 10 \ 04923」具有相同的值:97是ASCII代碼爲a,10是換行符的代碼,49(本例中爲\ 049)是數字1的代碼。「 –

+4

這表明,如果您只是將'loadstring'更改爲'print',您將能夠「解碼」數據:-) –

+1

看起來像預編譯的塊,因此您必須獲取字節,然後通過反編譯器運行它爲你的建築。 – Deduplicator

回答

0

這是未加密的Lua代碼:它是預編譯的Lua代碼。正如Sean所建議的那樣,將字節保存到文件中。然後得到Lua 5.1,在32位機器上構建它,然後在保存的文件上運行luac -l。你會得到這個清單,這不是Lua源代碼,但可以幫助你在需要時重新構建它。

function <toByteCode.lua:2,20> (11 instructions, 44 bytes at 0x8c9dd00) 
0 params, 3 slots, 0 upvalues, 0 locals, 5 constants, 2 functions 
     1  [4]  GETGLOBAL  0 -1 ; EffectMessageProxy 
     2  [4]  GETTABLE  0 0 -2 ; "OnReceive" 
     3  [4]  LOADK   1 -3 ; "DiceEffect" 
     4  [11] CLOSURE   2 0  ; 0x8c9ded0 
     5  [4]  CALL   0 3 1 
     6  [14] GETGLOBAL  0 -4 ; LocalSpeechProxy 
     7  [14] GETTABLE  0 0 -2 ; "OnReceive" 
     8  [14] LOADK   1 -5 ; "SayCatcher" 
     9  [18] CLOSURE   2 1  ; 0x8c9e228 
     10  [14] CALL   0 3 1 
     11  [20] RETURN   0 1 

function <toByteCode.lua:4,11> (17 instructions, 68 bytes at 0x8c9ded0) 
5 params, 9 slots, 0 upvalues, 6 locals, 9 constants, 0 functions 
     1  [6]  GETGLOBAL  5 -1 ; string 
     2  [6]  GETTABLE  5 5 -2 ; "match" 
     3  [6]  MOVE   6 1 
     4  [6]  GETGLOBAL  7 -3 ; Self 
     5  [6]  GETTABLE  7 7 -4 ; "Name" 
     6  [6]  CALL   7 1 2 
     7  [6]  LOADK   8 -5 ; " rolled a (.+)." 
     8  [6]  CONCAT   7 7 8 
     9  [6]  CALL   5 3 2 
     10  [7]  TEST   5 0 0 
     11  [7]  JMP    5  ; to 17 
     12  [8]  GETGLOBAL  6 -6 ; Signal 
     13  [8]  GETTABLE  6 6 -7 ; "Send" 
     14  [8]  LOADK   7 -8 ; "DiceRolled" 
     15  [8]  ADD    8 5 -9 ; - 0 
     16  [8]  CALL   6 3 1 
     17  [11] RETURN   0 1 

function <toByteCode.lua:14,18> (8 instructions, 32 bytes at 0x8c9e228) 
5 params, 8 slots, 0 upvalues, 5 locals, 5 constants, 0 functions 
     1  [16] GETGLOBAL  5 -1 ; Signal 
     2  [16] GETTABLE  5 5 -2 ; "Send" 
     3  [16] LOADK   6 -3 ; "AnalyzeSay" 
     4  [16] NEWTABLE  7 0 2 
     5  [16] SETTABLE  7 -4 2 ; "creature" - 
     6  [16] SETTABLE  7 -5 4 ; "message" - 
     7  [16] CALL   5 3 1 
     8  [18] RETURN   0 1 
+0

謝謝,這很好,但我不是一個LUA scripter什麼的,這只是一個腳本,我下載了BOT賭場Sript爲脛骨,它應該是綁定暱稱,我相信這個代碼我給你guuys我的關鍵那。我仍然無法在任何地方看到「提索前線」,它應該是與該腳本綁定的綽號。 –

1

使用luadec

-- Decompiled using luadec 2.0.1 by sztupy (http://winmo.sztupy.hu) 

EffectMessageProxy.OnReceive("DiceEffect", 
    function(a0, a1, a2, a3, a4) 
     local Rolled_Number = string.match(a1, Self.Name().." rolled a (.+).") 
     if Rolled_Number then 
     Signal.Send("DiceRolled", Rolled_Number + 0) 
     end 
    end 
) 
LocalSpeechProxy.OnReceive("SayCatcher", 
    function(b0, b1, b2, b3, b4) 
     Signal.Send("AnalyzeSay", {creature = b2, message = b4}) 
    end 
) 
+0

多數民衆贊成多數民衆贊成在多數民衆贊成在完美的代碼,如果你可以爲我做,這是相當長的,所以我只是上傳到我的網站www.hostdev.pl/code.lua –

+0

@Rafau - 對不起,luadec未能反編譯這樣一個大的字節碼文件。 –

+0

感謝Egor,這真的很有幫助:) –

0

關於本large bytecode

不幸的是,Luadec未能編譯該字節碼。
但它successfully disassembled it

名稱Tiusu Frontline已被隱藏。但沒有隱藏不夠好:-)
在以下幾行,你可以看到從形成相應字符的ASCII值的字符串「Tiusu前線」的過程:

36865 [-]: LOADK  R6 K28  ; R6 := 84 
36866 [-]: LOADK  R7 K29  ; R7 := 105 
36867 [-]: LOADK  R8 K30  ; R8 := 117 
36868 [-]: LOADK  R9 K31  ; R9 := 115 
36869 [-]: LOADK  R10 K30  ; R10 := 117 
36870 [-]: LOADK  R11 K32  ; R11 := 32 
36871 [-]: LOADK  R12 K33  ; R12 := 70 
36872 [-]: LOADK  R13 K34  ; R13 := 114 
36873 [-]: LOADK  R14 K35  ; R14 := 111 
36874 [-]: LOADK  R15 K36  ; R15 := 110 
36875 [-]: LOADK  R16 K37  ; R16 := 116 
36876 [-]: LOADK  R17 K38  ; R17 := 108 
36877 [-]: LOADK  R18 K29  ; R18 := 105 
36878 [-]: LOADK  R19 K36  ; R19 := 110 
36879 [-]: LOADK  R20 K39  ; R20 := 101 
36880 [-]: CALL  R5 16 2  ; R5 := R5(R6,R7,R8,R9,R10,R11,R12,R13,R14,R15,R16,R17,R18,R19,R20) 

有這個反彙編一些相似的片段輸出從相同的ascii代碼構建相同的字符串。
也許,修補此字節碼文件以將名稱Tiusu Frontline更改爲另一個名稱並不困難。

+0

如果你可以試試我的名字叫「Abevian」,或者教我如何使用LuaDec。 –

+0

@Rafau - 我沒有修補字節碼文件的經驗,你應該創建另一個話題來請求修補你的字節碼文件。 LuaDec是反編譯器,它不能修補任何東西。LuaDec非常易於使用:'luadec file.luac> file.lua' –

+0

還是謝謝你,當我運行luadec.exe時,它立即關閉了cmd窗口:s –