Как узнать имя файла ядра?

Тема в разделе "WASM.NT.KERNEL", создана пользователем zoool, 7 мар 2008.

  1. zoool

    zoool New Member

    Публикаций:
    0
    Регистрация:
    1 дек 2007
    Сообщения:
    412
    САБЖ
    1. Как определить в р0, какое ядро используется ?
    2. У кого Win 64x скажите, где там распологается ядро? Все там же в SYSTEM32 или появилось SYSTEM64 ?

    Заранее благодарен
     
  2. rain

    rain New Member

    Публикаций:
    0
    Регистрация:
    22 апр 2006
    Сообщения:
    976
    1) многопроцессорность на само имя файла ядра работющей оси не влияет, оно всегда ntoskrnl.exe т.е. на этапе установки системы инсталятор сам решает какое ядро нада (в свойсвах файла можно посмотреть поле Original Filename оно будет ntoskrnlmp для мп систем)

    Если система юзает пае то имя файла ядра будет ntkrnlpa.exe, как узнать? ну наверно в драйвере можно проверить влючено ли pae, можно наверно boot.ini посмотреть на предмет наличия /pae /nopae

    2) нет там system32 так и осталось 32 битные приложения перенапрявляются в папку windows\syswow64
     
  3. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Вроде первый модуль в массиве, возвращаемом ZwQuerySystemInformation(InfoClass=SystemModuleInformation) - имя модуля ядра.
     
  4. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    rain
    ядро можно назвать хоть linux.exe с помощью ключа лоадера /KERNEL=
    Так что надо определять как сказал Clerk
     
  5. sww_

    sww_ New Member

    Публикаций:
    0
    Регистрация:
    21 окт 2007
    Сообщения:
    155
    Если не антируткит, то первый модуль в структуре возвращаемой ZwQuerySystemInformation, иначе копать в сторону KeLoaderBlock + IsPAE + парсинг загрузки.
     
  6. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Системные файлы, драйвера используют статический импорт функций из микроядра, к чему здесь ключ ?
    Например hal использует функции ntos, можно определить отсюда имя его.
     
  7. sl0n

    sl0n Мамонт дзена **

    Публикаций:
    0
    Регистрация:
    26 сен 2003
    Сообщения:
    703
    А если ИАТ пахукан что ты тогда определишь ?
     
  8. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Врядли стока файлов пропатчить возможно. Бред...
     
  9. soveren

    soveren Дмитрий Петерсон

    Публикаций:
    0
    Регистрация:
    6 мар 2008
    Сообщения:
    94
    Адрес:
    Россия
    Clerk

    Ты вообще знаешь что такое ИАТ и какое воздействие он имеет в режиме ядра?
     
  10. 2FED

    2FED New Member

    Публикаций:
    0
    Регистрация:
    20 фев 2008
    Сообщения:
    1.002
    ZwQuerySystemInformation(InfoClass=SystemModuleInformation) возвращяет не полный путь. "\windows\system32\ntoskrnl.exe" как узнать имя диска на котором стоит система?
     
  11. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Без поиска - открыть этот файл и получить о нём инфу.
     
  12. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Можно из UserSharedData или через символическую ссылку 'SystemRoot'(возвр. \Device\Harddisk0\Partition2\WINDOWS).
    Читать из реестра - крайняк.
     
  13. 2FED

    2FED New Member

    Публикаций:
    0
    Регистрация:
    20 фев 2008
    Сообщения:
    1.002
    А если модуль загружен не с системного диска, как к нему узнать путь?
     
  14. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Вопрос непонятен.
     
  15. 2FED

    2FED New Member

    Публикаций:
    0
    Регистрация:
    20 фев 2008
    Сообщения:
    1.002
    ну например я загрузил драйвер со съёмного диска(флешки) то перечисление драйверов покажет мне путь \mydriver.sys а как мне узнать имя диска с которого он загружен, например \??\Z:\mydriver.sys
     
  16. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Говорил же, открыть файл и получить инфу о нём. Вообщето я думал о собственно микроядре..
     
  17. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    каком микроядре? винда вроде гибридной архитектуры
     
  18. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    "\windows\system32\ntoskrnl.exe" - такое наврядли могло встретится. Скорее \SystemRoot\system32\ntoskrnl.exe
     
  19. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Имел ввиду главный модуль(ntoskrnl.exe)
    Посмотрел. Наоборот, если драйвер загружен не с системного диска, то указано его имя, будет не \mydriver.sys, а
    \??\Z:\mydriver.sys
     
  20. 2FED

    2FED New Member

    Публикаций:
    0
    Регистрация:
    20 фев 2008
    Сообщения:
    1.002
    а вот вернуло именно "\windows\system32\ntoskrnl.exe и открыть с помощью CreateFile не удаётся, к стате а как смотреть инфу к файлу?