Модераторы: feodorv, GremlinProg, xvr, Fixin

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Запрет доступа к каталогу 
V
    Опции темы
KAlex1
Дата 18.10.2009, 00:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 40
Регистрация: 18.10.2009
Где: Ukraine, Zaporozh ye

Репутация: нет
Всего: нет



Доброго времени суток, уважаемые коллеги!
Занимаюсь решением вопроса программного запрета доступа к каталогу. 
Поделитесь, пожалуйста, идеями о том каким способом этого можно достичь. 
Назначение прав доступа не подходит. И было бы неплохо узнать как запретить доступ не только из проводника, а и из фара. 
Заранее благодарен!

PM MAIL   Вверх
bra1ny
Дата 18.10.2009, 21:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 196
Регистрация: 26.12.2008

Репутация: 2
Всего: 3



Думаю правильнее всего будет написать драйвер фильтр фс. Фильтровать все IRP_MJ_CREATE и уже смотреть какой каталог открывается и предпринимать действия пропускать дальше или возврашать STATUS_ACCESS_DENIED например.  
--------------------
Что вас манит сюдаИз заморзких широт?Там гораздо сытней и красивей.Или воля не та, или воздух не тот -Знать и вам не прожить без России.
PM   Вверх
RapMan
Дата 18.10.2009, 22:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 128
Регистрация: 13.6.2008

Репутация: нет
Всего: нет



думаю bra1ny прав, но добавлю что еще нужно фильтровать IRP_MJ_SET_INFORMATION иначе переименовать и удалить каталог будет можно
--------------------
здесь хреновые модераторы...
PM MAIL   Вверх
KAlex1
Дата 20.10.2009, 23:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 40
Регистрация: 18.10.2009
Где: Ukraine, Zaporozh ye

Репутация: нет
Всего: нет



Огромное спасибо за советы! 
Порыл в этом направлении, почитал на WASM. Я так понял что драйвера фильтра фс относятся к драйверам режима ядра.
Скажи пожалуйста, вообще раеально этот драйвер написать на С, в MS Visual Studiо? или драйвера такого рода пишутся только на asm-e? 
PM MAIL   Вверх
xvr
Дата 21.10.2009, 12:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 40
Всего: 223



Драйвера уже давно пишут на С (и даже на С++). Тебе нужен DDK или WDK

PM MAIL   Вверх
KAlex1
Дата 25.10.2009, 22:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 40
Регистрация: 18.10.2009
Где: Ukraine, Zaporozh ye

Репутация: нет
Всего: нет



А если это реализовать перехватом WinAPI функций, то, допустим из командной строки или при помощи фара, каталог будет доступен?
xvr, благодарю за совет насчет WDK. WDK - мощнейший хелп)

Это сообщение отредактировал(а) KAlex1 - 25.10.2009, 22:39
PM MAIL   Вверх
bra1ny
Дата 25.10.2009, 23:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 196
Регистрация: 26.12.2008

Репутация: 2
Всего: 3



Цитата

А если это реализовать перехватом WinAPI функций, то, допустим из командной строки или при помощи фара, каталог будет доступен?

Если перехватите ту апишку с помощью которой программа обращается к каталогу , то нет.

Но перехват апи не даст вам той "власти" нежели  драйвер фильтр фс. Плюс к этому драйвер фильтр это документированный метод +)

Это сообщение отредактировал(а) bra1ny - 25.10.2009, 23:53
--------------------
Что вас манит сюдаИз заморзких широт?Там гораздо сытней и красивей.Или воля не та, или воздух не тот -Знать и вам не прожить без России.
PM   Вверх
KAlex1
Дата 9.11.2009, 18:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 40
Регистрация: 18.10.2009
Где: Ukraine, Zaporozh ye

Репутация: нет
Всего: нет



Кроме драйверов фильтов файловой системы (file system filter drivers), также существуют драйвера минифильтра 
(file system minifilter drivers). )
Я так понял, они проще в реализации, но возможно ли с их помощью запретить доступ к каталогу? Они ведь не предусматривают возврат такого полезного статуса как, например STATUS_ACCESS_DENIED. 
PM MAIL   Вверх
bra1ny
Дата 10.11.2009, 00:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 196
Регистрация: 26.12.2008

Репутация: 2
Всего: 3



В чем проблема в реализации драйвера фильтра фс ? Покажите код поможем.  
--------------------
Что вас манит сюдаИз заморзких широт?Там гораздо сытней и красивей.Или воля не та, или воздух не тот -Знать и вам не прожить без России.
PM   Вверх
KAlex1
Дата 10.11.2009, 00:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 40
Регистрация: 18.10.2009
Где: Ukraine, Zaporozh ye

Репутация: нет
Всего: нет



Код...Если бы) 
Я сейчас нахожусь на стадии выбора: реализовывать ли драйвер фильтра, или драйвер минифильтра. WDK говорит что минифильтр проще в реализации и лучше работает.  Но это ведь драйвер "минифильтра")
Вот я и хочу понять какие тут подводные камни, всязи с этим и возник вопрос: предоставит ли мне драйвер минифильтра  возможности необходимые для решения моего вопроса? То что драйвер фильтра способен мне помочь это понятно.

PM MAIL   Вверх
Alca
Дата 10.11.2009, 10:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3993
Регистрация: 14.6.2006

Репутация: 5
Всего: 50



Код

HANDLE hFile = NULL;

void LockFile(const AnsiString & asFilePath, bool bLockFlag)  {
    if (bLockFlag == true) {
        hFile = CreateFile(
              ("\\\\.\\" + asFilePath).c_str(),
              GENERIC_WRITE,
              0,
              NULL,
              OPEN_EXISTING,
              FILE_ATTRIBUTE_NORMAL,
              NULL
        );
    } else {
        CloseHandle (hFile);
    }
}


Это сообщение отредактировал(а) Alca - 10.11.2009, 10:23


--------------------
PM WWW ICQ Skype Jabber   Вверх
KAlex1
Дата 10.11.2009, 12:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 40
Регистрация: 18.10.2009
Где: Ukraine, Zaporozh ye

Репутация: нет
Всего: нет



The CreateFile function creates, opens, or truncates a file, COM port, device, service, or console.
Похоже что с директориями эта функция не работает, и ктому же если ее реализовать в резидентной программе, то эту программу можно будет легко прервать.
И как сказал bra1ny: это не даст вам той "власти" нежели  драйвер фильтр.
Поэтому я всеже буду ждать ответа на мой вопрос о драйверах минифильтра) 
PM MAIL   Вверх
SenkraD
Дата 10.11.2009, 12:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 933
Регистрация: 3.2.2006
Где: Украина::Киев

Репутация: 4
Всего: 23



KAlex1, а в сторону ACL (Access Controll Lists) не смотрел - SetFileSecurity


--------------------
 Имеющий язык - да не убоится спросить! 
user posted image
PM MAIL ICQ   Вверх
KAlex1
Дата 10.11.2009, 14:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 40
Регистрация: 18.10.2009
Где: Ukraine, Zaporozh ye

Репутация: нет
Всего: нет



только что посмотрел, и понял что я уже далеко зашел в рассмотрении драйверов фильтра, и уже добью наверно их). я так понял, через ACL назначаются привилегий доступа, а это мне не совсем подходит. 
Благодарю за подсказку.Хорошая идея. Оставлю ее как запасной вариант)
И всеже буду ждать ответа на мой вопрос о драйверах минифильтра) 
PM MAIL   Вверх
bra1ny
Дата 10.11.2009, 16:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 196
Регистрация: 26.12.2008

Репутация: 2
Всего: 3



по поводу фильтра фс , советую изучить исходники файлмона(на васме есть). Ну и если решитесь , то по любому столкнетесь  с фаст ио.
Вот Вам почитать.



Присоединённый файл ( Кол-во скачиваний: 36 )
Присоединённый файл  _338752575__FastIo.rar 34,61 Kb
--------------------
Что вас манит сюдаИз заморзких широт?Там гораздо сытней и красивей.Или воля не та, или воздух не тот -Знать и вам не прожить без России.
PM   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Системное программирование и WinAPI"
Fixin
GremlinProg
xvr
feodorv
  • Большое количество информации и примеров с использованием функций WinAPI можно найти в MSDN
  • Описание сообщений, уведомлений и примеров с использованием компонент WinAPI (BUTTON, EDIT, STATIC, и т.п.), можно найти в MSDN Control Library
  • Непосредственно, перед созданием новой темы, проверьте заголовок и удостоверьтесь, что он отражает суть обсуждения.
  • После заполнения поля "Название темы", обратите внимание на наличие и содержание панели "А здесь смотрели?", возможно Ваш вопрос уже был решен.
  • Приводите часть кода, в которой предположительно находится проблема или ошибка.
  • Если указываете код, пользуйтесь тегами [code][/code], или их кнопочными аналогами.
  • Если вопрос решен, воспользуйтесь соответствующей ссылкой, расположенной напротив названия темы.
  • Один топик - один вопрос!
  • Перед тем как создать тему - прочтите это .

На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы .


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема »


 




[ Время генерации скрипта: 0.0830 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.