Мне нужна помощь, чтобы разобраться с кодом gLua, но я не могу найти решения - PullRequest
0 голосов
/ 21 июня 2019

Я пытаюсь удалить глюу (режим гарри lua), но безуспешно, так как нет программ (насколько мне известно) для удаления глюы. Вот как выглядит код: menu.lua

LuaCmd.lua

Если бы кто-нибудь мог указать мне направление или помощь, это было бы полезно. Большое вам спасибо.

1 Ответ

0 голосов
/ 21 июня 2019

В начале сценарий объявляет переменную с неразрывным символом в качестве глобальной таблицы, чтобы сбить с толку людей, пытающихся прочитать сценарий.

Строки, содержащие "\ (числа)", представляют собой коды символовкоторые анализируются как обычные символы.Пример:

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

Во время работы скрипта он продолжает объявлять переменные и функции с количеством неразрывных символов, что еще больше запутывает вас при попытке прочитать скрипт.Если вы заменили неразрывные символы случайными буквами (давайте использовать A) в такой программе, как Notepad ++ (вот совет: включите «просмотреть все символы»), вы увидите что-то в этих строках (разрывы строк добавлены для удобства чтения).цели):

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

, который является просто сценарием, объявляющим пару локальных переменных, а затем объявляющим локальную функцию, которая возвращает первый аргумент.

Конечно, это можетбыть более упрощенным, но если бы вы захотели, вы могли бы дать каждой переменной разные имена, чтобы сделать ее более читабельной.

...