Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
[Win32] можно ли повесить хук на обращение к определенному участку памяти? 12.10.01 10:34 Число просмотров: 873
Автор: z0 <z0> Статус: Member
|
> можно ли отслеживать обращение чужой проги к определенному > диапазону адресов, с целью обмануть ее. > > например, прога делает: > > mov EDI,0 > mov EAX,[EDI] > > а я возникающее исключение ловлю, > делаю > mov EAX,0; например > и передаю управление следующей после вызвавшей исключение > команде этого долбанного драйвера:( > -------- > что посоветуете? > пропатчить Ntoskrnl не предлагайте:)
так как ты пишешь - это сделать можно
например:
1) кодишь свой драйверок
2) грузишь его после глючного драйвера, это в registry настраивается
3) в своем устанавливаешь exception handler перехватчики на то что нужно - GPF, PF etc
4) в своем handlere проверяешь по EIP в стеке откуда fault
5) если из глючного драйвера - то "передаешь управление следующей после вызвавшей исключение
> команде этого долбанного драйвера:( " - меня терзают смутные сомнения что это правильный ход это раз, большинство этих fault-ов будет рестартуемые поэто придется еще и вычислять этот "следующий адрес" если Page Fault то видимо придется залазить в таблицу страниц для проверки - может это нормальный свопинг
но не проще ли разобраться с этим глючным драйвером один раз и пропатчить его как следует
если у тебя в soft-ice установлено faults on то тебя и выбросит в него после команды типа mov eax,ds:[0]
посмотреть почему так и исправить глюк
|
|
|