Необходимо в драйвере получить полный путь к ntoskrnl.exe ( ntkrnlpa.exe, ... ). В самой системе присутствует 4 версии ядра. Кроме того, через параметры boot.ini можно загрузить любое ядро ( точнее подходящее ). Пробовал следующие способы : 1. ZwQueryInformationProcess - возвращает пустую строку. 2. PsGetProcessImageFileName - возвращает короткое имя. 3. В EPROCESS - содержится только короткое имя. 4. ZwQuerySystemInformation - возвращает имя в виде \WINDOWS\system32\ntoskrnl.exe. Такое имя является именем относительно корневого диска. Не зная, с какого диска загружено ядро, открыть через ZwCreateFile также не получается. 5. В статье Four-F Драйверы режима ядра 14 был описан еще один способ. Однако в EPROCESS для процесса System поле SectionObject содержит NULL. Может кто подскажет как найти полный путь?
1, 2, 3, 5 - про какой процесс идет речь? ntoskrnl.exe - это модуль ядра 4 - SharedUserData->NtSystemRoot
Получи короткое имя ядра. Получи полный путь к Winlogon.exe, из этого пути получи путь к системной папке. всего делов-то
Я не говорил, что не подходит. Спасибо, думаю то, что нужно. А можно на последок инфу о ShaderUserData. Только не что это и зачем оно, а смещения нужных полей (или прототип например ).