Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.04.30;
Скачать: CL | DM;

Вниз

трабла с драйвером   Найти похожие ветки 

 
Tirael ©   (2006-04-10 13:56) [0]

вобщем есть желание поюзать драйвер от сисинтерналовского filemon -a, (он у него в ресурсах лежит). сам файлмон с ним работает хитро - достает из ресурсов, прописывает в реестре, устанавливает себе привилегию и грузит драйвер, потом удаляет файл и записи в реестре (не все)

так вот выцепил я этот драйвер из ресурса, с пом. драйвермонитора из драйвер студио прописал и загрузил, вроде все ок, но когда пытаюсь открыть вылетает err5"отказано в доступе" :( оч странно, т.к. ничего другого в это время не запущено, а сам файлмон запускается на ура... мож чего не так делаю? я раньше с драйверами не работал. как интересно этот доступ получить?

сам filemon открывает драйвер такой же строчкой

HANDLE hf=CreateFileA("\\\\.\\FILEMON70",GENERIC_READ | GENERIC_WRITE,0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL, NULL );
Win32Check((int)(hf!=-1));


 
Сергей М. ©   (2006-04-10 14:34) [1]

Куда ты столько бекслешей засандалил - одному СИшнику понятно)


 
n0name   (2006-04-10 14:37) [2]


> Куда ты столько бекслешей засандалил - одному СИшнику понятно)

Так он и превёл код на C.


 
n0name   (2006-04-10 14:37) [3]


> Куда ты столько бекслешей засандалил - одному СИшнику понятно)

Так он и привёл код на C.


 
Rouse_ ©   (2006-04-10 15:18) [4]


> Так он и превёл код на C.

На С++ двойной слешь означает аналог дельфевского одинарного, это так к сведенью :)
так что CreateFileA("\\.\FILEMON70",


 
Tirael ©   (2006-04-10 15:45) [5]

слешей я правильно натыкал, я это в билдере пишу, была бы проблема в слешах было бы написано файл не найден а не отказано в доступе

вопрос такой: почему в доступе то отказано? никакая другая прога в этот момент драйвер не юзает, и вообще как драйвер может в доступе отказать? аккаунт админский, про привелегии в ошибке ничего не пишет, везде где смотрел про открытие драйверов - такой же код...


 
Rouse_ ©   (2006-04-10 16:33) [6]


> вопрос такой: почему в доступе то отказано?

Ты же сам писал - файлмон ставит себе привилегию и вперед.


 
Tirael ©   (2006-04-10 16:58) [7]


>  устанавливает себе привилегию и грузит драйвер


он этот драйвер загружает, на то и привелегия, раз загруженный он остается до перезагрузки, и чтоб открывать его привелегий не нужно


 
Rouse_ ©   (2006-04-10 21:25) [8]


> он этот драйвер загружает, на то и привелегия

SeLoadDriverPrivilege? Она доступна из под администратора и так по умолчанию...
Ты мне имя ее скажи...


 
Tirael ©   (2006-04-11 13:36) [9]

привилегия то эта, она доступна, но по умолчанию не включена, я так понял она только для того чтоб загружать драйвер в систему, но на всякий случай пробовал - та же фигня...

насколько я понимаю работа с драйеромсостоит из 2-х этапов:

1 драйвер грузится в систему, и остается там как минимум до перезагрузки даже если удалить сам файл и некоторые записи в реестре. причем делать это можно чем угодно, даже не из своей проги.

2. открытие драйвера и работа с ним с пом DeviceIOControl

так вот пункт 1 выполняет даже сам файлмон, он потом удаляет и файл и записи в реестре, но не все, а видать только те что нужны для загрузки, т.к. открывает драйвер он уже после этого удаления.

и такой вот вопрос общего плана - как средней першивости драйвер может запретить к себе доступ? файлмон не опенсорц, сисинтерналовцы не дураки, но как не крути драйвер штука стандартная, грузится и работает стандартно,  значит и запрещается чтото стандартными методами


 
Игорь Шевченко ©   (2006-04-11 14:06) [10]

Tirael ©   (11.04.06 13:36) [9]

Указанное поведение воспроизводится. Причина непонятна. В исходном коде драйвера предпосылок не увидел :)


 
Rouse_ ©   (2006-04-11 14:13) [11]

В интернете кто-то давал совет включить отладочные привилегии перед использованием...


 
Tirael ©   (2006-04-11 14:17) [12]

2Игорь Шевченко

тоесть Вы тоже пробовали загрузить этот FILEMON70?
кстати что Вы понимаете под исходными кодами? дизасемблирование или же у Вас есть нормальные исходники? сисентерналовцы исходников не дают, хотя мож давались от старых версий...


 
Tirael ©   (2006-04-11 14:20) [13]

2Rouse_ - да. щас посмотрел процессэксплорером, у файлмона отладочная включена, бум пробовать


 
Игорь Шевченко ©   (2006-04-11 14:20) [14]

Tirael ©   (11.04.06 14:17) [12]

Пробовал. И FileMon просто и FileMon701 от версии 7.02


> кстати что Вы понимаете под исходными кодами?


Под исходными кодами я подразумеваю исходные коды FileMon с компакт-диска, прилагающегося к книжке "Внутреннее устройство Windows 2000" Соломона и Руссиновича, которые исходные коды авторы убедительно просят не распространять.


 
Tirael ©   (2006-04-11 14:23) [15]

2Rouse_ ураа!! все получилось, фенкс

2Игорь Шевченко, хех, значит значит заполучить их себе на мыло не выйдет?


 
Tirael ©   (2006-04-11 14:28) [16]

2Игорь Шевченко - ну на всякий случай, если будет желание помочь :)

iskatel_mail@mail.ru

ведь сами авторы то их распространяют.. на диске с книжкой :)


 
Игорь Шевченко ©   (2006-04-11 14:38) [17]

Tirael ©   (11.04.06 14:23) [15]


> значит значит заполучить их себе на мыло не выйдет?


Совершенно верно. От меня, по крайней мере. Могу предложить другой выход - купить сабжевую книжку и получить еще много полезных исходников от sysinternals.


 
Tirael ©   (2006-04-11 15:04) [18]

ответтье хоть на вопрос - драйвер может получать данные которые пишутся . читаются? или только отслеживать доступ?


 
pilot   (2006-04-12 14:53) [19]

http://forum.vingrad.ru/index.php?showtopic=21411&view=findpost&p=343749



Страницы: 1 вся ветка

Текущий архив: 2006.04.30;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.037 c
2-1144982672
dwar
2006-04-14 06:44
2006.04.30
com порт, и DLL


2-1144989813
alk
2006-04-14 08:43
2006.04.30
работа с ini файлом


1-1143086318
walkernet
2006-03-23 06:58
2006.04.30
Как можно программно переместить курсор мыши?


8-1132999133
_Sergey_
2005-11-26 12:58
2006.04.30
Чтение тэгов из WMA и OGG


2-1144924527
Sybertron
2006-04-13 14:35
2006.04.30
работа с Exel