Lua ASI Прочее MoonDownLoadHook - перехватываем скачиваемые файлы

why ega

РП игрок
Автор темы
Модератор
2,539
2,233
Версия SA-MP
  1. Любая
Доброго времени суток.
Сегодня днем увидел эту тему и решил зайти, покопаться в муне, как вдруг вспомнил про то, что @chapo как-то хотел перехватить функцию downloadUrlToFile, поэтому решил реализовать эту идею.
Софт логирует все скачанные файлы при помощи функции из MoonLoader-API 0.26 (скорее всего на днях добавлю поддержку и остальных версий).
Логи сохраняются в файл "MoonDownLoadLog.txt" в корне сборки или же в папке moonloader, в зависимости от того, какая версия логгера.
Source - закидайте меня помидорами.
1694711797809.png
 

Вложения

  • MoonDownLoadHook.asi
    54.5 KB · Просмотры: 27
  • MoonDownLoadHook.lua
    912 байт · Просмотры: 57
Последнее редактирование:

ГОХА | GoxaShow

В АРМИИ С 12.12,ЗАКАЗЫ НЕ ДЕЛАЮ,ТУПЫЕ ВОПРОСЫ-НАХУ
Проверенный
1,866
1,866
сделал бы ещё ноп для подозрительных файлов
 

Digger Man

Любитель Linux
Модератор
1,635
1,116
Это по части @Digger Man, я в этом 0, но планирую залить еще и луа версию, чтобы каждый легко мог изменить что-то
так просто хукай, и не загружай их в игру 0_о, добавь еще трастед список, что бы можно было туда вписать скрипт, что бы он на каждое автообновление не орал

upd: рассказываю супер обход, ставим в название вашего «лоадера», восклицательный знак в начале, загружаемся быстрее этого плагина, и удаляем его

upd2: зачем хук на цтаймер? циклы для лохов?
 
Последнее редактирование:
  • Вау
Реакции: why ega

F0RQU1N and

Известный
1,310
494
upd: рассказываю супер обход, ставим в название вашего «лоадера», восклицательный знак в начале, загружаемся быстрее этого плагина, и удаляем его
просто пройтись по всем модулям не?)))

upd2: зачем хук на цтаймер? циклы для лохов?
так тут не цикл не таймер не нужен
 

why ega

РП игрок
Автор темы
Модератор
2,539
2,233
так просто хукай, и не загружай их в игру 0_о
Хз как их фильтровать)
upd: рассказываю супер обход, ставим в название вашего «лоадера», восклицательный знак в начале, загружаемся быстрее этого плагина, и удаляем его
Мой плагин инжектится раньше мунлоадера, поэтому сомневаюсь что такая луашка сработает без выгрузки самого плагина
upd2: зачем хук на цтаймер? циклы для лохов?
Не хотел засорять циклами код, но скорее всего что-то сделаю, чтобы можно было ставить хук сразу после инжекта муна
так тут не цикл не таймер не нужен
Из-за того, что моя дллка грузится раньше муна, как я понял, в аттаче я не мог с ним работать, подумаю, как исправить этот момент
 

tinkeringabout

Участник
77
17
так просто хукай, и не загружай их в игру 0_о, добавь еще трастед список, что бы можно было туда вписать скрипт, что бы он на каждое автообновление не орал

upd: рассказываю супер обход, ставим в название вашего «лоадера», восклицательный знак в начале, загружаемся быстрее этого плагина, и удаляем его

upd2: зачем хук на цтаймер? циклы для лохов?
Это просто гениально, как ты додумался до такого?
 

why ega

РП игрок
Автор темы
Модератор
2,539
2,233
Update:
- Изменил метод получения указателя на MoonLoader.asi, теперь нет зависимости от игры. Также теперь нет того промежутка времени, когда плагин мог не увидеть подкачку
- Добавил Lua версию. Зависит от библиотеки hooks

Если разберусь, добавлю всякие настройки
 
Последнее редактирование:

why ega

РП игрок
Автор темы
Модератор
2,539
2,233
Собственно, смысл какой?
Первое, что приходит на ум это детект подкачки всякой хуйни, второе это обход различных проверок в скриптах. А так, думаю, кто-то найдёт и другое применение
 

b1no

Участник
69
22
12 строка:
local logStr = ("[%s] File URL: \"%s\", File Path: \"%s\"\n"):format(os.date("%H:%M:%S"), url, fileName)
можно добавить дату для удобства:
12 строка но с датой:
local logStr = ("[%s] File URL: \"%s\", File Path: \"%s\"\n"):format(os.date("%d.%m.%Y-%H:%M:%S"), url, fileName)

заодно подскажите, скрипт "ловит" только лужа загрузки или так же загрузки от клео и прочего?
 
Последнее редактирование:

why ega

РП игрок
Автор темы
Модератор
2,539
2,233
можно добавить дату для удобства:
Думаю для большинства хватит и одного времени
заодно подскажите, скрипт "ловит" только лужа загрузки или так же загрузки от клео и прочего?
Только луа, которые используют функцию downloadurltofile, т.к. данный софт просто хукает ее