Что есть GetProcAddress в ядре, но для ринг3 модуля

Тема в разделе "WASM.WIN32", создана пользователем Godness, 12 май 2006.

  1. Godness

    Godness Мёртвый дзена

    Публикаций:
    0
    Регистрация:
    27 ноя 2002
    Сообщения:
    90
    Привет! Такой вопрос - как узнать адрес процедуры, которая находится в пользовательской длл (ну в частности для kernel32.dll), но из драйвера?
     
  2. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
  3. PROFi

    PROFi New Member

    Публикаций:
    0
    Регистрация:
    13 июл 2003
    Сообщения:
    690
    Godness



    А в какой момент тебе это необходимо узнать.

    Если во время загрузки драйвера, то win32.sys даже не отображается в памяти (том чиле и драйвер и минидрайвер экрана), не говоря уже о kernel32.dll.
     
  4. Godness

    Godness Мёртвый дзена

    Публикаций:
    0
    Регистрация:
    27 ноя 2002
    Сообщения:
    90
    PROFi



    Это мне нада во время простой работы. Я знаю, что в некоторых контекстах kernel может не быть промепирован на мое текущее пространство.



    Вот как бы еще узнать, промепирован ли в текущем контексте kernel?
     
  5. PROFi

    PROFi New Member

    Публикаций:
    0
    Регистрация:
    13 июл 2003
    Сообщения:
    690
    Godness
    Просто :) - если CR3 процессора равен 39000h (XP) то kernel32 не промепирован, иначе скорее всего да.
     
  6. Sherlock

    Sherlock New Member

    Публикаций:
    0
    Регистрация:
    19 окт 2006
    Сообщения:
    28
    IceStudent
    Посмотрел на исходник, навскидку один вопрос появился.

    PVOID GetUserModuleHandle(IN PEPROCESS Process, IN PPEB Peb, IN PCSTR lpModuleName)

    Вторым параметром здесь идёт указатель на PEB. Но, насколько я помню, в структуре EPROCESS уже присутствует аналогичный указатель. Или эти PEB`ы разные?
     
  7. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    Может чтобы код менее зависел от ОСи.
     
  8. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    Sherlock
    EPROCESS отличается в разных версиях OS.

    Исходник не мой, см. выше.