如何解密该LUA代码?

问题描述 投票:0回答:4

我无法克服这个问题,也无法解密该代码,我找到了一些工具,但它们对我不起作用。

有人可以解密该代码吗?

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')()
encryption lua
4个回答
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
投票

这不是加密的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
投票

关于这个大字节码

不幸的是,Luadec 未能反编译该字节码。
但它成功拆解了它

名称

Tiusu Frontline
已隐藏。 但隐藏得不够好:-)
在下面几行中,您可以看到从相应字符的ascii值形成字符串“Tiusu Frontline”的过程:

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
投票

加载(' 8I\99\97 8 :AEMAH\98ALC,/ 9 1 9:A 8 8I @O 9JALM 9\97N 9Q \97MM 8! 9 \82ACEMNAL 8AN 9 8AHN 9\99 8J 8 8 8N@\99\95BL\97 9A 9ILG\95 8 9$ BOH\99NEIH \ 99!8I\97@\99!')()

© www.soinside.com 2019 - 2024. All rights reserved.