我需要帮助反混淆 gLua 代码,但是找不到任何解决方案

我正在尝试反混淆 glua( Garry's mode lua) 代码,但是由于没有任何程序(据我所知)可以反混淆 glua。这是代码的样子: menu.lua

LuaCmd.lua

如果有人能指点我方向或提供帮助那将是有帮助的。非常感谢。

点赞
用户11286578
用户11286578

开始时,该脚本声明了一个变量,使用一个不间断字符作为全局表,以使试图读取脚本的人们感到困惑。

字符串中包含的“\(数字)”是被解析为普通字符的字符代码。例如:

> string.byte("h")
104
> "\104\104\104"
"hhh"

随着脚本的继续执行,它始终声明具有x个非间断字符的变量和函数,这样在尝试阅读脚本时会更加困惑。如果您使用Notepad ++之类的程序替换不间断字符为随机字母(让我们使用A),则会看到以下内容(为了方便阅读而添加了换行符):

local A = _G
local AA = A[something]
local AAA = A[something else]
local function AAAA(params)
    -- code here
end
-- some other code here
AAAA(something, something)
AAA[something](something, something)

这些只是有关如何使代码更加可读的一些提示。在内部,函数可能会使用更多混淆来使那些通过非间断字符和其他“障碍”者更加困惑。

大多数混淆的脚本都是基本的“将字符转换为\字符代码并加载/运行字符串或使用HTTP获取请求并运行代码”,这些都可以轻松地进行去混淆。但对于这样的代码,您需要花费更多的时间才能得到可读且具有理解性的代码。

这是一个代码片段,以类似于您的代码片段混淆的方式进行混淆。执行上述建议的操作会导致以下结果:

local A = _G
local AA = A['string']
local AAA = A['bit']['bxor']
local function AAAAAAA(AAAA)
    return AAAA
end

这只是一个声明了几个局部变量,然后声明了一个返回第一个参数的局部函数的脚本。

当然,这可以更简单,但如果您愿意,您可以为每个变量命名不同的名称,这将使它更加可读。

2019-06-21 01:58:39