Путь к ntoskrnl.exe

Тема в разделе "WASM.NT.KERNEL", создана пользователем Forever, 29 янв 2009.

  1. Forever

    Forever Виталий

    Публикаций:
    0
    Регистрация:
    12 апр 2008
    Сообщения:
    244
    Необходимо в драйвере получить полный путь к 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.
    Может кто подскажет как найти полный путь?
     
  2. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    1, 2, 3, 5 - про какой процесс идет речь? ntoskrnl.exe - это модуль ядра
    4 - SharedUserData->NtSystemRoot
     
  3. Forever

    Forever Виталий

    Публикаций:
    0
    Регистрация:
    12 апр 2008
    Сообщения:
    244
    В 1, 2, 3, 4 - речь идет про процесс System( ProcessId = 4 )
     
  4. rpy3uH

    rpy3uH New Member

    Публикаций:
    0
    Регистрация:
    14 сен 2006
    Сообщения:
    503
    Получи короткое имя ядра. Получи полный путь к Winlogon.exe, из этого пути получи путь к системной папке. всего делов-то
     
  5. Forever

    Forever Виталий

    Публикаций:
    0
    Регистрация:
    12 апр 2008
    Сообщения:
    244
    Не факт, что ядро лежит в системной папке.
     
  6. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    Чем не подходит SharedUserData->NtSystemRoot ?
     
  7. Forever

    Forever Виталий

    Публикаций:
    0
    Регистрация:
    12 апр 2008
    Сообщения:
    244
    Я не говорил, что не подходит. :)
    Спасибо, думаю то, что нужно. А можно на последок инфу о ShaderUserData. Только не что это и зачем оно, а смещения нужных полей (или прототип например ).
     
  8. blast

    blast New Member

    Публикаций:
    0
    Регистрация:
    8 мар 2008
    Сообщения:
    170
    n0name
    смещение поля SharedUserData->NtSystemRoot в разных версиях windows неизменно?
     
  9. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    Про Windows 7 не знаю, а в остальных да, кроме того адрес тоже константен.
     
  10. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    ВОзьми ссылку \SystemRoot и оттуда раздел