Гайд TRASH: Мусор в LuaJIT скриптах

mercury1337

Участник
Автор темы
19
29
Добрый вечер.
Решил слить мусор, который я использовал. Работающий для "анти декомпиляции".

Вставлять его соответственно в сам код скрипта.
Данные строки, генерируют опкоды, создают тяжелые конструкции в байткоде, который обычный пайтон декомпилятор не может обработать, спотыкается и выдает ошибку. Также поможет сделать некий "анти анализ" кода, для тех кто будет идти путем HEX-редактирования (тут (https://t.me/c/2029937998/32)) (link to tgc).



================



1. CALL recursion:
Lua:
local f = _G["setmetatable"]({}, {["__call"] = function () return f end})
if false then  f()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()(дальше добавьте скобки самостоятельно до нужного количества) end


2. Default base (call): (fixed for luajit 2.0)
Lua:
if false then  local function AAAAAAAAAAA() ::A1111111111:: ::A2222222222:: ::A3333333333:: goto A1111111111 goto A2222222222 goto A3333333333 end local function ADC2() goto D366666 ::D366666:: (""):__()():__()():__()():__()():__()():__()():__()():__()():__()():__()():__()():__()():__()():__()():__()():__()():__()():__()():__()():__()():__()():__()():__()():__()():__()():__()():__()():__()():__()():__()():__()():__()():__()():__()():__()():__()():__()():__()():__()():__()():__()():__()():__()():__()():__()():__()():__()():__()():__()():__()():__()():__()():__()():__()():__()():__()():__()():__()():__()():__() goto D366666 ::A11111111112:: ::A22222222222:: ::A33333333332:: goto A11111111112 goto A22222222222 goto A33333333332 end end


3. JMP recursion:

Lua:
if false then  local a = 1 if a == 1 then if a ~= 2 then a = 2 if a ~= 1 then if a == 2 then if a ~= 783245678934569345786348 then a = 3 if a ~= 2 then if a == 3 then local a = 1 if a == 1 then if a ~= 2 then a = 2 if a ~= 1 then if a == 2 then if a ~= 89789376834974586895674 then local a = 3 if a ~= 2 then if a == 3 then local a = 1 if a == 1 then if a ~= 2 then a = 2 if a ~= 1 then if a == 2 then if a ~= 345678345678345678345678345678345786345678 then a = 3 if a ~= 2 then if a == 3 then local a = 1 if a == 1 then if a ~= 2 then a = 2 if a ~= 1 then if a == 2 then if a ~= 78234568923457923467858346258727345345 then local a = 3 if a ~= 2 then if a == 3 then end end end end end end end end end end end end end end end end end end end end end end end end end end end end end


4. Сomplex operations (уничтожается этим (https://t.me/c/2029937998/37)) (link to tgc)
Lua:
if false then do local donbaz = false if donbaz then else repeat return (function() while true do local l1, l2 = true, true break end end)() until true while true do local l2 = 141165 + (((803091 + -1256899) + 192654) - ((-400717 - (-627992)) + (-791750 + 444485))) if l2 > 1 then else end end return end end end


5. Table recursion base
Lua:
local a = {{{{{{{{{{}}}}}}}}}} (генерируйте таблицы таким образом, чтобы получилась строка ~300 символов)


Чем больше наспамите этими методами, тем больше мусора у вас в коде


Разумеется, метод не претендует на уверенную защиту вашего скрипта, используйте на свое усмотрение, если вы понимаете как с этим орудовать.
Также файл js с автоматической заменой кодовых слов на мусор: ссылка тут

Остальные гайды на защиту / реверс LuaJIT скриптов можете найти -> https://t.me/+dumSNYnT4nw2Nzhi
 

movebx

Известный
72
192
А мне интересно каким образом это должно затруднить разбор твоего чуда
 
  • Нравится
Реакции: Vintik

kjor32

Всефорумная чушка
Всефорумный модератор
1,739
1,496
А мне интересно каким образом это должно затруднить разбор твоего чуда
Да никак, просто мусорные элементы которые должны в теории запутать взломщика

И в теории отправить пайтон декомпилер в вечный лоадинг
 
  • Нравится
Реакции: деган и Vintik