хук в win32k.sys

Тема в разделе "WASM.NT.KERNEL", создана пользователем Mightywill, 29 июл 2007.

  1. Mightywill

    Mightywill New Member

    Публикаций:
    0
    Регистрация:
    29 июл 2007
    Сообщения:
    31
    Привет мужики

    Есть динамически инсталируемый драйвер для XP SP2, который писал не я, который хукает функцию SetPointerShape, в видео драйвере я так понимаю. Но тот кто писал сказал, что правильно вычислить адрес не получилось и поэтому хукается данная функция по опытным путём найденному _фиксированному_ адресу, но он понятное дело от билда к билду меняется, а сколько этих билдов фиг его знает. Как можно порешить такую проблему, т.е. как вообще корректно вычислить адрес этой функции, потому что он сказал, что он дебугером поставил брейкпоинт на адрес экспортируемой функции EngSetPointerShape, но после вызова в юзермоде отладчик на этой точке не останавливается почему-то. Я сам в драйверах не очень соображаю, но понять постараюсь ибо очень нужно. Спасибо.
     
  2. Twister

    Twister New Member

    Публикаций:
    0
    Регистрация:
    12 окт 2005
    Сообщения:
    720
    Адрес:
    Алматы
    Поможет диззассемблирование EngSetPointerShape на лету и поиск адреса SetPointerShape в каких-то конкретных инструкциях.

    Например, здесь я нахожу адрес ShodowSDT...
     
  3. Mightywill

    Mightywill New Member

    Публикаций:
    0
    Регистрация:
    29 июл 2007
    Сообщения:
    31
    да, наверно только так, так как я поковырялся в ддк и нашёл, что указатель на данную функцию возвращается видеодрайвером при инициализации ввиде _таблицы_
    INDEX_SetPointerShape -> pSetPointerShape
    и как его там вычислить пока даже идей нет, кроме как хукнуть эту саму инициализацию, а об хуканье инициализаций драйверов я даже не слышал :)
     
  4. Twister

    Twister New Member

    Публикаций:
    0
    Регистрация:
    12 окт 2005
    Сообщения:
    720
    Адрес:
    Алматы
    Тебе необходимо парсить сам код драйвера в памяти, а именно - код инициализации. Хуки не нужны, если, конечно, я тебя правильно понял...