![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
трабла с драйвером
Tirael © (2006-04-10 13:56:00)вобщем есть желание поюзать драйвер от сисинтерналовского filemon -a, (он у него в ресурсах лежит). сам файлмон с ним работает хитро - достает из ресурсов, прописывает в реестре, устанавливает себе привилегию и грузит драйвер, потом удаляет файл и записи в реестре (не все)
так вот выцепил я этот драйвер из ресурса, с пом. драйвермонитора из драйвер студио прописал и загрузил, вроде все ок, но когда пытаюсь открыть вылетает err5"отказано в доступе" :( оч странно, т.к. ничего другого в это время не запущено, а сам файлмон запускается на ура... мож чего не так делаю? я раньше с драйверами не работал. как интересно этот доступ получить?
сам filemon открывает драйвер такой же строчкой
HANDLE hf=CreateFileA("\\\\.\\FILEMON70",GENERIC_READ | GENERIC_WRITE,0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL, NULL );
Win32Check((int)(hf!=-1));
pilot (2006-04-12 14:53:00) [1]http://forum.vingrad.ru/index.php?showtopic=21411&view=findpost&p=343749
Tirael (2006-04-11 15:04:00) [2]ответтье хоть на вопрос - драйвер может получать данные которые пишутся . читаются? или только отслеживать доступ?
Игорь Шевченко (2006-04-11 14:38:00) [3]Tirael © (11.04.06 14:23) [15]
> значит значит заполучить их себе на мыло не выйдет?
Совершенно верно. От меня, по крайней мере. Могу предложить другой выход - купить сабжевую книжку и получить еще много полезных исходников от sysinternals.
Tirael (2006-04-11 14:28:00) [4]2Игорь Шевченко - ну на всякий случай, если будет желание помочь :)
iskatel_mail@mail.ru
ведь сами авторы то их распространяют.. на диске с книжкой :)
Tirael (2006-04-11 14:23:00) [5]2Rouse_ ураа!! все получилось, фенкс
2Игорь Шевченко, хех, значит значит заполучить их себе на мыло не выйдет?
Игорь Шевченко (2006-04-11 14:20:00) [6]Tirael © (11.04.06 14:17) [12]
Пробовал. И FileMon просто и FileMon701 от версии 7.02
> кстати что Вы понимаете под исходными кодами?
Под исходными кодами я подразумеваю исходные коды FileMon с компакт-диска, прилагающегося к книжке "Внутреннее устройство Windows 2000" Соломона и Руссиновича, которые исходные коды авторы убедительно просят не распространять.
Tirael (2006-04-11 14:20:00) [7]2Rouse_ - да. щас посмотрел процессэксплорером, у файлмона отладочная включена, бум пробовать
Tirael (2006-04-11 14:17:00) [8]2Игорь Шевченко
тоесть Вы тоже пробовали загрузить этот FILEMON70?
кстати что Вы понимаете под исходными кодами? дизасемблирование или же у Вас есть нормальные исходники? сисентерналовцы исходников не дают, хотя мож давались от старых версий...
Rouse_ (2006-04-11 14:13:00) [9]В интернете кто-то давал совет включить отладочные привилегии перед использованием...
Игорь Шевченко (2006-04-11 14:06:00) [10]Tirael © (11.04.06 13:36) [9]
Указанное поведение воспроизводится. Причина непонятна. В исходном коде драйвера предпосылок не увидел :)
Tirael (2006-04-11 13:36:00) [11]привилегия то эта, она доступна, но по умолчанию не включена, я так понял она только для того чтоб загружать драйвер в систему, но на всякий случай пробовал - та же фигня...
насколько я понимаю работа с драйеромсостоит из 2-х этапов:
1 драйвер грузится в систему, и остается там как минимум до перезагрузки даже если удалить сам файл и некоторые записи в реестре. причем делать это можно чем угодно, даже не из своей проги.
2. открытие драйвера и работа с ним с пом DeviceIOControl
так вот пункт 1 выполняет даже сам файлмон, он потом удаляет и файл и записи в реестре, но не все, а видать только те что нужны для загрузки, т.к. открывает драйвер он уже после этого удаления.
и такой вот вопрос общего плана - как средней першивости драйвер может запретить к себе доступ? файлмон не опенсорц, сисинтерналовцы не дураки, но как не крути драйвер штука стандартная, грузится и работает стандартно, значит и запрещается чтото стандартными методами
Rouse_ (2006-04-10 21:25:00) [12]
> он этот драйвер загружает, на то и привелегия
SeLoadDriverPrivilege? Она доступна из под администратора и так по умолчанию...
Ты мне имя ее скажи...
Tirael (2006-04-10 16:58:00) [13]
> устанавливает себе привилегию и грузит драйвер
он этот драйвер загружает, на то и привелегия, раз загруженный он остается до перезагрузки, и чтоб открывать его привелегий не нужно
Rouse_ (2006-04-10 16:33:00) [14]
> вопрос такой: почему в доступе то отказано?
Ты же сам писал - файлмон ставит себе привилегию и вперед.
Tirael (2006-04-10 15:45:00) [15]слешей я правильно натыкал, я это в билдере пишу, была бы проблема в слешах было бы написано файл не найден а не отказано в доступе
вопрос такой: почему в доступе то отказано? никакая другая прога в этот момент драйвер не юзает, и вообще как драйвер может в доступе отказать? аккаунт админский, про привелегии в ошибке ничего не пишет, везде где смотрел про открытие драйверов - такой же код...
Rouse_ (2006-04-10 15:18:00) [16]
> Так он и превёл код на C.
На С++ двойной слешь означает аналог дельфевского одинарного, это так к сведенью :)
так чтоCreateFileA("\\.\FILEMON70",
n0name (2006-04-10 14:37:00) [17]
> Куда ты столько бекслешей засандалил - одному СИшнику понятно)
Так он и привёл код на C.
n0name (2006-04-10 14:37:00) [18]
> Куда ты столько бекслешей засандалил - одному СИшнику понятно)
Так он и превёл код на C.
Сергей М. (2006-04-10 14:34:00) [19]Куда ты столько бекслешей засандалил - одному СИшнику понятно)