请!我需要任何人能够解码“Luraph Obfuscator”

我为一个脚本付了不可信开发者的费用。正如我所想他骗了我。他确实给我发送了代码,但他混淆了脚本。

https://paste bin.com/Y9rn2Gdr

点赞
用户13955436
用户13955436

每个指令都在一个函数中,因此在没有关于功能的具体细节的情况下,代码无法直接去混淆。

该代码包括:

  1. 包含脚本源代码的字符串
  2. 该字符串的一些字节表示该字符在ASCII表中的偏移量,另一些字节表示函数和循环范式,如forwhile(请注意,这些在解释器中的不同函数中分隔开来)
  3. 迭代器函数(解释器)遍历字符串中的每个字符,并调用其他函数以查找基于字符执行的准确操作。

在字符串外的代码是一个解释器,为了去混淆解释器,建议采取以下步骤:

  1. 注意变量名,解释器中的每个变量都必须在定义之前,因此您可以通过上下文确定该变量的用法
  2. 通过计算长度来解决#{4093, 2039, 2140, 1294}表格(就像#操作符一样),也就是说,最后一个表格的结果是4
  3. 需要一个漂亮的打印机,可将缩进和格式应用于代码,使其更易读

读者的伪代码如下所示(我假设这也是嵌套在解释器的其他函数中的):

- ReadBytes是包含解释器和其他函数的主要函数
local function ReadBytescurrentCharacterlocal repeatOffset
    currentCharacter =
        string_gsub(
        string_sub(currentCharacter, 5),
        "..",
        function(digit)
            if string.sub(digit, 2) == 'H' then
                repeatOffset = tonumber(string_sub(digit, 1, 1))
                return ""
            else
                local char = string_char(tonumber(digit, 16))
                if repeatOffset then
                    local repeatOutput = string_rep(char, repeatOffset)
                    repeatOffset = nil
                    return repeatOutput
                else
                    return char
                end
            end
        end
    )
    . . . -- 其他嵌套函数
end

我对编码字符串的功能感到困惑,但是根据此问题,这似乎是一个ROBLOX脚本,是这样吗?

如果是这样,我建议您在ROBLOX环境中调试代码,以了解代码的核心功能并重新编写一个可读性高、与原始脚本完全一致的替代方案。

您还可以对解释器进行去混淆以理解其工作原理,然后捕获解释器动作以查看其流程,然后编写一个完全像原始脚本一样工作且不需要解释器的Lua脚本。

2020-08-18 03:51:18