Форум: "Начинающим";
Текущий архив: 2006.04.30;
Скачать: [xml.tar.bz2];
Внизтрабла с драйвером Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.047 c