Привет! Такой вопрос - как узнать адрес процедуры, которая находится в пользовательской длл (ну в частности для kernel32.dll), но из драйвера?
Godness А в какой момент тебе это необходимо узнать. Если во время загрузки драйвера, то win32.sys даже не отображается в памяти (том чиле и драйвер и минидрайвер экрана), не говоря уже о kernel32.dll.
PROFi Это мне нада во время простой работы. Я знаю, что в некоторых контекстах kernel может не быть промепирован на мое текущее пространство. Вот как бы еще узнать, промепирован ли в текущем контексте kernel?
Godness Просто - если CR3 процессора равен 39000h (XP) то kernel32 не промепирован, иначе скорее всего да.
IceStudent Посмотрел на исходник, навскидку один вопрос появился. PVOID GetUserModuleHandle(IN PEPROCESS Process, IN PPEB Peb, IN PCSTR lpModuleName) Вторым параметром здесь идёт указатель на PEB. Но, насколько я помню, в структуре EPROCESS уже присутствует аналогичный указатель. Или эти PEB`ы разные?