- Регистрация
- 1 Авг 2022
- Сообщения
- 87
- Тема Автор
- #1
Перейдя в наш телеграмм канал вы сможете научится крякать различные луа скрипты
Пример:
Tutorial №2: Отключение вызовов функций [ CALL ] | LuaJIT 2.0 / 2.1
Добрый день.
Сегодня разберем как можно отключать функции в луа скриптах через тот-же HEX.
Проще некуда
Исходный код примерно такой:
local function is_license(nick)
http.get('link', response)
if nick == response then -- относительный пример
print('welcome back!')
else
print('u dont have license')
unload_script()
end
end
is_license(get_nick())
1. Повторю еще раз, что нам понадобится - https://disk.yandex.com/d/XBYT5Rn5ymS2oA , скачиваем, распаковываем, закидываем файл с луаджитом (бинарный) на compile.bat, получаем asm.
2. Далее запоминаем:
Чтобы отключить функцию, мы должны убрать ее вызов.
CALL - вызов - HEX: 3E (в luajit 2.1 - 42)
В asm выглядит так:
00000036 | 0028 3E: (CALL ) 1 1 2
Прошу заметить, что этот вызов придется искать, ведь у нас еще есть вызовы [unload_script(), get_nick() ...]
Видим два CALL, CALLM, патчить нужно оба.
Второй CALLM вызывает саму is_license(), заменяем на hexed.it на 54 00 00 00 (luajit 2.0) 58 00 00 80 (luajit 2.1), ищем опкод по офсету.
by mercury staff
Пример:
Tutorial №2: Отключение вызовов функций [ CALL ] | LuaJIT 2.0 / 2.1
Добрый день.
Сегодня разберем как можно отключать функции в луа скриптах через тот-же HEX.
Проще некуда
Исходный код примерно такой:
local function is_license(nick)
http.get('link', response)
if nick == response then -- относительный пример
print('welcome back!')
else
print('u dont have license')
unload_script()
end
end
is_license(get_nick())
1. Повторю еще раз, что нам понадобится - https://disk.yandex.com/d/XBYT5Rn5ymS2oA , скачиваем, распаковываем, закидываем файл с луаджитом (бинарный) на compile.bat, получаем asm.
2. Далее запоминаем:
Чтобы отключить функцию, мы должны убрать ее вызов.
CALL - вызов - HEX: 3E (в luajit 2.1 - 42)
В asm выглядит так:
00000036 | 0028 3E: (CALL ) 1 1 2
Прошу заметить, что этот вызов придется искать, ведь у нас еще есть вызовы [unload_script(), get_nick() ...]
Видим два CALL, CALLM, патчить нужно оба.
Второй CALLM вызывает саму is_license(), заменяем на hexed.it на 54 00 00 00 (luajit 2.0) 58 00 00 80 (luajit 2.1), ищем опкод по офсету.
by mercury staff