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