|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
14.04.2016, 19:50 | #1 |
Форумчанин
Регистрация: 08.08.2010
Сообщений: 371
|
Разработка драйвера минифильтра .
Всем привет. Собираюсь разработать программное средство защиты данных. Программа должна шифровать файлы в определенной директории на диске, при любой попытке доступа, драйвер-фильтр должен проверять какая программма обращается к файлам, если она доверенная, то файл должен быть расшифрован и предоставлен программе, в противном случае файл предоставляется в зашифрованном виде. Для реализации собираюсь использовать драйвер-минифильтр фс, и отлавливать IRP_MJ_READ. Но вопрос в том, каким образом расшифровать файл, и передать его доверенной программе? Расшифровать временно на диск не будет безопасным и правильным решением.
Можно ли его как то расшифровать на лету и передать? Сколько IRP мне придется обработать при единократном обращении к одному файлу? 1? или больше?
Хакинг - не преступление, а способ выживания.
|
14.04.2016, 22:52 | #2 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,331
|
Зависит от драйвера. Пока он не сообщит, что данное IRP обработано новое посылаться не будет, однако если обрабатывать их по одному производительность будет ниже плинтуса.
Кстати, вы в курсе, что один и тот же файл может быть в разных директориях? Зачем вся эта бодяга - NTFS может шифровать файлы "из коробки"? |
15.04.2016, 00:01 | #3 |
Форумчанин
Регистрация: 08.08.2010
Сообщений: 371
|
Бадяга вся ради изучения. То что файл может быть в разных папках знаю, этот случай игнорируем. Насчет обработки "по одному", есть какие то варианты обработки группой?
И да, на вопрос Вы к сожалению не ответили.... если одна какая то программа, решит прочитать 1 файл, то сколько IRP запросов получит мой драйвер?
Хакинг - не преступление, а способ выживания.
|
15.04.2016, 09:27 | #4 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,331
|
Получит один, когда скажет "готов получить еще" получит еще один, конечно если есть. Сигнал "получить еще" можно посылать не завершив обработку пакета - это все на усмотрение драйвера.
Грубо говоря, количество IRP запросов будет равно количеству ReadFile вызовов. Программа может читать файл целиком а может читать кусками, тут никаких правил нет, будьте готовы ко всему. Ставьте пакеты в очередь и требуйте следующий пакет. По мере завершения операции сигнализируйте, что обработка IRP завершена - их не обязательно завершать в порядке поступления. Вот чтиво, для начала: https://support.microsoft.com/en-us/kb/320275 |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
разработка драйвера Opos | IgorZap | Фриланс | 1 | 12.12.2015 19:29 |
Разработка драйвера блочного стройства для ОС Windows, Оплата | Arcan91 | Фриланс | 0 | 03.12.2013 09:21 |
Разработка драйвера | Casisdead | Фриланс | 3 | 14.05.2013 17:26 |
разработка драйвера ODBC | chertovich | БД в Delphi | 1 | 08.08.2011 23:24 |