Здравствуйте, ononim, Вы писали:
А>>>Вопрос простой — если драйвер имеет Start = 0 (то есть SERVICE_BOOT_START) как можно получить базу ntdll.dll ?
А>>>Пробовал открыть ZwOpenFile (дальше хотел мапить и посмотреть ImageBase)
А>>К начальному вопросу. Вот получит один путь к ntdll, откроет его и промапит – а что толку? Будет получена база для этого промапленного вида, не совпадающая с общесистемной базой – разве нет?
O>База, по которой ntdll грузится, находится в ее PE хидере. Виндовый ASLR ее вроде пока еще не релокейтит.
Вы абсолютно правы. Если загрузчик не сможет промапить ntdll на адрес который находиться PE хедере — будет бсод.