Показать сообщение отдельно

  #4  
Старый 01.06.2009, 20:09
0x0c0de
Постоянный
Регистрация: 25.05.2007
Сообщений: 448
Провел на форуме:
4226446

Репутация: 1564
Отправить сообщение для 0x0c0de с помощью ICQ
По умолчанию

Я не про ту подгрузку. Я имела ввиду, что ты юзаешь CreateThread. И что в общем-то полаконичней будет сразу в DriverEntry получить нужный офсет.

Цитата:
Так что же делать? А мы так поступим - при вызове некоторых (большинства, а вероятно и просто всех) функций USER32.DLL поток переводится в гуи. Так что можно воспользоваться любой подходящей функцией... Мне понравилась GetDesktopWindow без параметров.
вообще не обязательно user32.dll. это может быть и gdi32.dll. важно просто вызвать сервис из win32k.sys. В той же gdi32 есть скажем вызовы какой-нибудь NtGdiDdUnlock. тогда в KiSystemService будет вызвана _PsConvertToGuiThread которая собственно и изменит указатель в KTHREAD.ServiceTable с KeServiceDescriptorTable на KeServiceDescriptorTableShadow

Последний раз редактировалось 0x0c0de; 01.06.2009 в 20:13..
 
Ответить с цитированием