去混淆 Lua 脚本? [英] Deobfuscate Lua scripts?
问题描述
有谁知道我如何对使用 xfuscator 隐藏它的 lua 脚本进行反混淆处理?混淆看起来像这样.如果有人能给我一个关于如何完成这项工作的正确方向的观点,那将会很棒!我没有分享来源,因为我想要帮助弄清楚如何对自己进行反混淆,而不想要答案!https://gyazo.com/d2a9a2bcc602d1a1146491158271e3e>
Does anyone know how I can deobfuscate a lua script that uses xfuscator to hide it? The obfuscation looks like this. If anyone could give me a point into the right direction on how I can get this done that would bne awesome! I didnt share the source because I wanted help figuring out how to deobfusate myself and didnt want the answer! https://gyazo.com/d2a9a2bcc602d1a1146491158271e3e6
推荐答案
看到那张长桌了吗?这才是真正的代码.这是您在混淆器中经常看到的一种模式.除此之外,请记住 _
、__0
等都是有效的 Lua 标识符,您可以使用这样命名的变量.
See that long table? That's the real code. It's a pattern you see quite often with obfuscators. Other than that, keep in mind that _
, __0
and such are all valid Lua identifiers, to you can have variables named like that.
_
是一个将数字转为字符的函数;__0
是一个包含一些标准函数的表.除此之外没有什么特别的.如果你看到一个 __0[1]("Hello")
,那就是 print("Hello")
;它看起来很奇怪,因为他们将 print
放入索引 1
处的 __0
表中.
_
is a function that turns a number into a character; __0
is a table that contains some standard functions. There's nothing special going on beyond that. If you see a __0[1]("Hello")
, that'd be the same as print("Hello")
; it just looks weird, because they put print
into the __0
table at index 1
.
最终,混淆器只是利用了人们通常不太了解的 Lua 特性来理解正在发生的事情.不过,如果你懂这门语言,那一切都只是虚无缥缈.
Ultimately, the obfuscator just makes use of Lua features that people often don't understand well enough to understand what's going on. If you know the language though, it's all just smoke and mirrors.
这篇关于去混淆 Lua 脚本?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!