Проблемы с boot-драйвером

Тема в разделе "WASM.NT.KERNEL", создана пользователем spirom, 10 сен 2010.

  1. spirom

    spirom New Member

    Публикаций:
    0
    Регистрация:
    18 авг 2010
    Сообщения:
    24
    Здравствуйте!
    У меня возникла такая ситуация: при загрузке драйвер ставит свою ProcessNotifyRoutine через PsSetCreateProcessNotifyRoutine, в ней проверяет имя процесса и если это винлогон, то аттачится к нему и ставит хук на функцию из вин32к. Когда хук ставится через патч SDT Shadow, то все проходит успешно, а если через сплайсинг, то система падает с IRQL_NOT_LESS_OR_EQUAL. Но если я делаю это при уже загруженной системе, то все работает, как часы. Подскажите, в чем может быть проблема? Заранее благодарю.
     
  2. x64

    x64 New Member

    Публикаций:
    0
    Регистрация:
    29 июл 2008
    Сообщения:
    1.370
    Адрес:
    Россия
    Анализ дампа выкладывай, чего гадать-то.
     
  3. spirom

    spirom New Member

    Публикаций:
    0
    Регистрация:
    18 авг 2010
    Сообщения:
    24
    Пока к сожалению не имею возможности... Кстати, в момент запуска винлогона на него отмаплена вин32к...или нет?
     
  4. x64

    x64 New Member

    Публикаций:
    0
    Регистрация:
    29 июл 2008
    Сообщения:
    1.370
    Адрес:
    Россия
    В момент вызова нотификатора - нет.
     
  5. spirom

    spirom New Member

    Публикаций:
    0
    Регистрация:
    18 авг 2010
    Сообщения:
    24
    А, тогда причина ясна. Но ведь нотификатор выполняется при irql=PASSIVE_LEVEL. Почему такой багчек?
     
  6. x64

    x64 New Member

    Публикаций:
    0
    Регистрация:
    29 июл 2008
    Сообщения:
    1.370
    Адрес:
    Россия
    Код IRQL_NOT_LESS_OR_EQUAL не всегда означает то самое. Ещё одна не менее (если не более) распространённая причина - память невалидная. Ну т.е. вообще. Ни кем не выделенная, ни из пула, ни ещё как-либо. Просто какой-то виртуальный адрес, по которому нет никакой проекции, нет соответствия физическим страницам.
     
  7. spirom

    spirom New Member

    Публикаций:
    0
    Регистрация:
    18 авг 2010
    Сообщения:
    24
    Ясно. Спасибо. А тогда есть какой-нибудь вариант как хукнуть функцию из вин32к не через шадоу таблицу при загрузке винды?