|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Авг 18, 2004 17:40:57 Например, все операции по открытию файла, переименованию, изменению атрибутов, листанию каталога и т.п. сводятся к формированию определенного IRP и посылке его нужному девайсу. Например, если ты не хочешь, чтоб пользовались первым флопом, то ставишь фильтр на \Device\Floppy0. И все IRP (ну может не всё, а какое-то подмножество), которые сначала будут влетать в фильтр, завершаешь с соответствующим кодом ошибки. |
|
|
Дата: Авг 18, 2004 17:52:50 Four-F Так что же получается.Если я верну код ошибки то оригинальному драйверу обработчику ирп не дойдет? Весело,ничего не скажеш. |
|
|
Дата: Авг 19, 2004 02:56:42 А с реестром еще веселее :). Система ваще по нескольку раз в секунду туда залезает. В regmon'е, кстати другой прынцып перехвата - замена точек входа родных native фнкций на свои. Адреса родных хранятся в системной таблице (ее адрес лежит в переменной, котрую экспортирует ntoskrnl, т.е. драйверам она доступна). И можно заменить любую native функцию на свою. Регмон запоминает адреса родных (тех, которые для реестра) и в конце каждой своей вызывает родную. А перед завершением (или при остановке мониторинга) все восстанавливает. |
|
|
Дата: Авг 19, 2004 18:52:48 · Поправил: VOOrDOOluck krid24 Помоги.Че я делаю не так.Хочу попробовать хук как в регмоне. Но компилятор говорит что не могу преобразовать из PVOID в "указатель на функцию".(в HOOK_SYSCALL->InterlockedExchange) |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.048 |