![]() |
Dll для снятия хуков третьего кольца
Очень простой пример снятия хуков третьего кольца, с использованием DLL
Язык: Ассемблере(fasm). Пояснение: Этот пример работает потому, что установщики хуков, обычно устанавливают их непосредственно перед точкой входа в программу, но загрузка и инициализация библиотек DLL, происходить ещё до запуска основной нити(ака Thread) процесса, так что мы разрешаем запись в эти функции, копируем их содержимое и разрешаем каму-попало устанавливать различные хуки, а когда они закончат, просто возьмём и восстановим всё как было. Код DLL: Код:
format PE GUI 4.0 DLLКод:
format PE GUI 4.0 |
Молодец, конечно.
ЗЫ. Смотреть лень, оно снимает какие хуки-то? SetWindowsHookEx или перехват сплайсингом или чем еще. |
Great, он спасается от сплайса. Dll инициализируется раньше запуска основного треда. Соответственно DllEntryPoint будет выполняться раньше точки входа и установщика хуков. Он бэкапит нужные функции. А когда начинает выполняться трэд он восстанавливает всё на место.
ЗЫ: С таким же успехом можно было запихнуть бэкапщик в TLS |
хе.. знаю, что аутпост (лаймеский продукт) ставит хуки в третьем кольце на ZwWriteVirtualMemory ZwCreateThread CreateRemoteThread и прочее, что препятствует инжекту в доверенный процесс.
лично я обходил это след. образом: подгружал копию либы ntdll.dll , kernel32.dll и восстанавливал затёртые байты функций (там вначале функции идёт jmp на аутпостовскую либу). В итоге - полное молчание аутпоста даже на инжект в сервисхост. |
все верно и красиво расписано. но истину мне это не открыло.
стандартная ситуация когда человек в чем-то разобрался и решил сам за себя порадоваться. я так всегда делаю((( >> хе.. знаю, что аутпост (лаймеский продукт) ставит хуки в третьем кольце на ZwWriteVirtualMemory аутпост ставит хук на звВрайтвиртуалмемори через SDT в нулевом колцье |
Цитата:
|
Ужос, млин! Либо мне надо срочно начинать учить хуки всякие либо ппц - совесть моя меня съест (
|
Цитата:
|
Вернемся к теме :) вот античит для линейки который ставит хуки на CreateThead.
shieldConsole Как их снять воспользовавшись данным методом? За помощь +++++ ) |
для на4ала снять WinLicense на бинаре, декомпильнуть код из ВМ и изу4ать принцип работы, ибо единоразовым снятие хуков врядли думаю решится проблема
а, вообще, тебе в раздел реверсинга... |
| Время: 12:52 |