我无法克服这个问题,也无法解密该代码,我找到了一些工具,但它们对我不起作用。
有人可以解密该代码吗?
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')()
使用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
)
这不是加密的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
关于这个大字节码
不幸的是,Luadec 未能反编译该字节码。
但它成功拆解了它
名称
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
更改为另一个名称并不难。
加载(' 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!')()