Неактуально Информация Гайд Как декомпилировать LUA скрипты

влад динозавр

Известный
Автор темы
1,166
561
Всем привет, заметил, что довольно большое кол-во человек не умеют проверять на вирусы/декомпилировать луа скрипты, поэтому пишу данный гайд. Пишу заранее, что это всего лишь основы, ведь защиты бывают разные.
Первым делом вам нужно иметь прямые руки, и не путаться в папках.

Итак, начнём. Создаём папку в любом удобном месте, и кидаем в неё инструменты ниже
Python Decompiler (с 11 до 15 строчки удалите всё, потому что в обнове параметр --jit_version не работает)
Debugger (обязательно юзайте песочницу, потому что данная штука воспроизводит код на вашем пк)
Hook Obfuscate (история такая же, как и с Debugger)
Func Unhider
Unprot (это сайт, файлом к сожалению в открытом доступе нету)

Далее давайте скомпилируем скрипт (материалы во вложениях), и попробуем его декомпилировать. В скрипте будет строчка print('hello world')
Как мы видим у нас файл .luac, и если мы откроем через редактор кода, то кода мы не увидим.
1664953634190.png

В таком случаи нам поможет декомпилятор. Перекидываем наш файл на decompile.py, и происходит магия!
1664953684028.png


Также учитывайте, что если вы декомпилируете скрипт, то все переменные собьются, и мунлоадер не будет видеть данный скрипт. Декомпиляция создана лишь для изучения кода! (правда есть модифицированный декомпилтор у саксона, который фиксит это, но его нету в общем доступе)

Далее давайте добавим func hider, и декомпилируем его. Скрипт вышел пустым. В таком случаи перекидываем наш скрипт на unhider, и на декомпилятор - происходит магия, и мы получаем наш заветный print Hello World!

Далее давайте добавим prot, и попробуем декомпилировать его. Декомпилятор выдаёт ошибку, значит идём на сайт анпрота, снимаем защиту, и декомпилируем - успех.

Давайте теперь склеим два файла, и попробуем декомпилировать. Не выходит, в таком случаи используем hook obf, и успешно получаем два файла! (ЕЩЁ РАЗ НАПОМИНАЮ ПРО ПЕСОЧНИЦУ, ВЕДЬ БЕЗ НЕЁ ЕСТЬ ВЕРОЯТНОСТЬ ПОПАСТЬ НА РАТНИК)

Теперь задачка по сложнее, скомпилируем скрипт, добавим протектор и склеим 2 файла. Вначале снимаем скелйку через хук, затем анпротим 2 вышедших файла, затем перетаскиваем на декомпилятор - готово!
В крайнем случаи используем debugger, и достаём скрипт из дампа.

Также можем использовать https://luajit.ru сканер, если в скрипте анти бабуля. Просто закидываем туда скрипт, ищем строчку где пишет "looks like" и сабаем её.

В общем всё. Это были самые основы, пробуйте по разному комбинировать инструменты для декомпиляции, всем удачки!
 

Вложения

  • joined_prot.luac
    605.9 KB · Просмотры: 50
  • joined.luac
    2.4 KB · Просмотры: 35
  • compile_1-prot.luac
    316.4 KB · Просмотры: 33
  • compile_1-hidden.luac
    56 байт · Просмотры: 27
  • compile_1.luac
    48 байт · Просмотры: 47
Последнее редактирование:

kjor32

Всефорумная чушка
Всефорумный модератор
1,727
1,482
А че не показал как сабнуть невидимый анти питон,ах да ты не знаешь как
 

влад динозавр

Известный
Автор темы
1,166
561
А че не показал как сабнуть невидимый анти питон,ах да ты не знаешь как
ага, сам использую, и не знаю!! тоже советую!!
мне лень было писать про листер байткода и сабание инструкций с помощью пайтона, потому что тогда бы пришлось объяснять что за байткод
 

kjor32

Всефорумная чушка
Всефорумный модератор
1,727
1,482
ага, сам использую, и не знаю!! тоже советую!!
мне лень было писать про листер байткода и сабание инструкций с помощью пайтона, потому что тогда бы пришлось объяснять что за байткод
Я про то что если luajit.ru не показывает анти питон то его можно найти зная особеность
 

влад динозавр

Известный
Автор темы
1,166
561
Я про то что если luajit.ru не показывает анти питон то его можно найти зная особеность
какую нах особенность? если ты не знал, то я могу заменить пару символов в нём, и добавить мусорные инструкции, и тем самым ты хер его найдешь
вот скрытый анти питон и обычный
1665137380740.png
 
  • Bug
Реакции: kjor32

LemanLoad

Участник
84
9
А че не показал как сабнуть невидимый анти питон,ах да ты не знаешь как
Код:
function _()
    (nil):kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()()
    (nil):kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()()
    (nil):kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()()
    (nil):kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()()
    (nil):kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()()
end
 

влад динозавр

Известный
Автор темы
1,166
561
Код:
function _()
    (nil):kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()()
    (nil):kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()()
    (nil):kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()()
    (nil):kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()()
    (nil):kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()():kjor32()()
end
невидимый анти питон выполняется вне глобал чанка, да и сабать это значит очищать (удалять его из функции например, а саму функцию оставить)
 

Lolendor

вотофак
Проверенный
545
577
невидимый анти питон выполняется вне глобал чанка, да и сабать это значит очищать (удалять его из функции например, а саму функцию оставить)
Вместо function _()
Написать if false then
И будет в Мейн прототипе всё
 

влад динозавр

Известный
Автор темы
1,166
561
Вместо function _()
Написать if false then
И будет в Мейн прототипе всё
желательно просто в скрипте который ты защищаешь найти какое нибудь условие (рабочее, например с имгуи окном), и туда всунуть анти пайтоны так не выйдет сабнуть весь прототип через сканнер луажит.ру
 

spelare for filmer

Потрачен
151
184
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
пиздец ронакирч, ты просто бог байткода луажит, дал гайд как скачать софт с форума и использовать.
следующим гайдом го научишь вкладки в браузере открывать? еще кстати если нажать левой кнопкой мыши на инпут и комбинацию ctrl + a то выделится весь текст в инпуте
 

влад динозавр

Известный
Автор темы
1,166
561
пиздец ронакирч, ты просто бог байткода луажит, дал гайд как скачать софт с форума и использовать.
следующим гайдом го научишь вкладки в браузере открывать? еще кстати если нажать левой кнопкой мыши на инпут и комбинацию ctrl + a то выделится весь текст в инпуте
чувак блин, я например умел гуглить, но не умел юзать эти тулсы, но мне помог @kjor32 . и сейчас я обучился, и обучаю других этой темой
 

spelare for filmer

Потрачен
151
184
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
чувак блин, я например умел гуглить, но не умел юзать эти тулсы, но мне помог @kjor32 . и сейчас я обучился, и обучаю других этой темой
согласен, тоже раньше не умел читать и перетаскивать файлы зажав лкм на другие файлы. хорошо, что с этим мне помог компьютерный мастер, теперь в интернете к любому псевдониму я смело могу добавить приписку PRO
 

kusssakaback

Новичок
13
8
Debugger (обязательно юзайте песочницу, потому что данная штука воспроизводит код на вашем пк)
Hook Obfuscate (история такая же, как и с Debugger)
к сожалению решение с песочницей не поможет, так как все равно будет использоватся директория юзера при переносе файла
если только в директорию которая создается песочницей в разделе Users кидать этот файл и перекидывать его оттуда на дебаггер
 

Savchik Blazer

Но я, мечту свою лелея...
Проверенный
668
294
Screenshot_20221007-232358_Chrome.jpg

Screenshot_20221007-232436_Chrome.jpg


Ну ты бы тогда в "Разработка - lua" залил бы