Всем привет, заметил, что довольно большое кол-во человек не умеют проверять на вирусы/декомпилировать луа скрипты, поэтому пишу данный гайд. Пишу заранее, что это всего лишь основы, ведь защиты бывают разные.
Первым делом вам нужно иметь прямые руки, и не путаться в папках.
Итак, начнём. Создаём папку в любом удобном месте, и кидаем в неё инструменты ниже
•
Python Decompiler (с 11 до 15 строчки удалите всё, потому что в обнове параметр --jit_version не работает)
•
Debugger (обязательно юзайте песочницу, потому что данная штука воспроизводит код на вашем пк)
•
Hook Obfuscate (история такая же, как и с Debugger)
•
Func Unhider
•
Unprot (это сайт, файлом к сожалению в открытом доступе нету)
Далее давайте скомпилируем скрипт (материалы во вложениях), и попробуем его декомпилировать. В скрипте будет строчка
print('hello world')
Как мы видим у нас файл .luac, и если мы откроем через редактор кода, то кода мы не увидим.
Посмотреть вложение 171840
В таком случаи нам поможет декомпилятор. Перекидываем наш файл на decompile.py, и происходит магия!
Посмотреть вложение 171842
Также учитывайте, что если вы декомпилируете скрипт, то все переменные собьются, и мунлоадер не будет видеть данный скрипт. Декомпиляция создана лишь для изучения кода! (правда есть модифицированный декомпилтор у саксона, который фиксит это, но его нету в общем доступе)
Далее давайте добавим func hider, и декомпилируем его. Скрипт вышел пустым. В таком случаи перекидываем наш скрипт на unhider, и на декомпилятор - происходит магия, и мы получаем наш заветный print Hello World!
Далее давайте добавим prot, и попробуем декомпилировать его. Декомпилятор выдаёт ошибку, значит идём на сайт анпрота, снимаем защиту, и декомпилируем - успех.
Давайте теперь склеим два файла, и попробуем декомпилировать. Не выходит, в таком случаи используем hook obf, и успешно получаем два файла! (ЕЩЁ РАЗ НАПОМИНАЮ ПРО ПЕСОЧНИЦУ, ВЕДЬ БЕЗ НЕЁ ЕСТЬ ВЕРОЯТНОСТЬ ПОПАСТЬ НА РАТНИК)
Теперь задачка по сложнее, скомпилируем скрипт, добавим протектор и склеим 2 файла. Вначале снимаем скелйку через хук, затем анпротим 2 вышедших файла, затем перетаскиваем на декомпилятор - готово!
В крайнем случаи используем debugger, и достаём скрипт из дампа.
Также можем использовать
https://luajit.ru сканер, если в скрипте анти бабуля. Просто закидываем туда скрипт, ищем строчку где пишет "looks like" и сабаем её.
В общем всё. Это были самые основы, пробуйте по разному комбинировать инструменты для декомпиляции, всем удачки!