27 / 27 / 10
Регистрация: 10.04.2013
Сообщений: 91

Защита файлов на носителях

24.03.2014, 10:54. Показов 1424. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Приветствую всех.
Стоит задача (довольно тривиальная на мой взгляд, однако) по защите файлов на носителях. Суть такова: необходимо перехватить обращения (чтение, копирование, удаление) к файлу на носителе с последующим предложением ввести пароль. Если он неправильный, операция прерывается.

Гугл своими результатами не порадовал. Поэтому решил пойти обходным путем: на конкретном носителе получил список всех файлов, в цикле вызвал функцию CreateFile с параметром OPEN_EXISTING. Теперь доступ к файлам заблокирован, далее смысл таков: нужно получить хэндл для вызова CloseHandle того файла, к которому надо обратиться.

Собственно вопрос: есть ли способ получить этот самых хэндл открытого файла, зная его имя. Или может есть другой способ.
Также буду признателен за помощь по поводу перехвата обращений. (знаю, что на форуме уже есть подобные темы, но это все не то)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
24.03.2014, 10:54
Ответы с готовыми решениями:

Как можно заблокировать изменение файлов на флеш-носителях?
Как можно заблокировать изминение файлов на флеш-носителях??? ЗЫ файловая система NTFS и ос Windows XP

Нужен ли сервис заказов скачивания файлов и их получения на физических носителях?
Ситуация следующая: Есть web-сервер на котором можно оставлять ссылки на необходимые для вас файлы(mp3,фильмы,книги и все что угодно),...

Защита файлов
Вечер добрый! Предыстория: есть несколько файлов. они заархивированы под паролем(каждый файл в своем архиве). Пользователю дана...

14
17 / 17 / 5
Регистрация: 09.03.2013
Сообщений: 65
24.03.2014, 14:22
Можно попробовать перехватить CreateFile
http://habrahabr.ru/post/90377/
2
Ушел с форума
Эксперт С++
 Аватар для Убежденный
16481 / 7444 / 1187
Регистрация: 02.05.2013
Сообщений: 11,616
Записей в блоге: 1
24.03.2014, 21:56
Цитата Сообщение от gelior Посмотреть сообщение
Суть такова: необходимо перехватить обращения (чтение, копирование, удаление) к файлу на носителе с последующим предложением ввести пароль. Если он неправильный, операция прерывается.
Я бы не сказал, что эта задача тривиальная.
Ну да, можно написать фильтр файловой системы, "подружить" его с
флэшками и все будет работать. Но там по ходу возникнет такое
количество нюансов, что...

Цитата Сообщение от gelior Посмотреть сообщение
на конкретном носителе получил список всех файлов, в цикле вызвал функцию CreateFile с параметром OPEN_EXISTING.
Угу, я уже вижу себе какой-нибудь USB-диск на терабайт, с
которым вы будете пытаться так химичить и который останется
залоченным до перезагрузки...

Цитата Сообщение от gelior Посмотреть сообщение
Собственно вопрос: есть ли способ получить этот самых хэндл открытого файла, зная его имя. Или может есть другой способ.
Можно получить список всех хэндлов процесса, а затем
извлекать информацию по каждому хэндлу. Делается это все
через файловые API (не без помощи Native API).
В Sysinternals есть утилита Handle, которая делает нечто подобное.

Цитата Сообщение от gelior Посмотреть сообщение
Также буду признателен за помощь по поводу перехвата обращений.
Файловый фильтр (драйвер), minifilter или legacy.
Все остальное - баловство.
1
27 / 27 / 10
Регистрация: 10.04.2013
Сообщений: 91
25.03.2014, 09:58  [ТС]
Цитата Сообщение от Убежденный Посмотреть сообщение
Я бы не сказал, что эта задача тривиальная.
на самом деле это только один из пунктов задачи, и он, согласен с вами, не простой
Цитата Сообщение от Убежденный Посмотреть сообщение
USB-диск на терабайт
только флешки, не более
Цитата Сообщение от Убежденный Посмотреть сообщение
который останется
залоченным до перезагрузки...
так и должно быть.
за советы спасибо.
0
Ушел с форума
Эксперт С++
 Аватар для Убежденный
16481 / 7444 / 1187
Регистрация: 02.05.2013
Сообщений: 11,616
Записей в блоге: 1
25.03.2014, 11:57
Цитата Сообщение от gelior Посмотреть сообщение
только флешки, не более
А Вы попробуйте программно отличить USB-флэшку от USB-диска.
Тоже непростая задачка
0
27 / 27 / 10
Регистрация: 10.04.2013
Сообщений: 91
25.03.2014, 13:36  [ТС]
Цитата Сообщение от Убежденный Посмотреть сообщение
А Вы попробуйте программно отличить USB-флэшку от USB-диска.
уже реализовано
0
Ушел с форума
Эксперт С++
 Аватар для Убежденный
16481 / 7444 / 1187
Регистрация: 02.05.2013
Сообщений: 11,616
Записей в блоге: 1
25.03.2014, 13:48
Цитата Сообщение от gelior Посмотреть сообщение
уже реализовано
А можно чуть подробнее ?
А то я видел кучу разных алгоритмов, которые некоторые диски
все равно "видели" как флэшки.
0
27 / 27 / 10
Регистрация: 10.04.2013
Сообщений: 91
25.03.2014, 15:47  [ТС]
Убежденный,
помощь мне оказал этот пост
не стал разбираться как все работает, времени не было. но результат: ни один подключенный диск не был распознан.
1
29 / 29 / 16
Регистрация: 06.03.2013
Сообщений: 159
25.03.2014, 17:35
тоже много думал по этому вопросу. ведь тут важно насколько компетентен пользователь. у меня его познания были далеки от продвинутого пользователя и масштаб распространения был не велик, поэтому я просто каждую программу привязывал к флешке по ее серийнику. дешево и сердито.
0
19 / 14 / 2
Регистрация: 08.11.2009
Сообщений: 79
25.03.2014, 17:49
можно прикупить библиотеку http://madshi.net/ , обзавестись цифровой подписью (для 64битных систем) и перехватить нужные функции.
0
 Аватар для Izual
143 / 122 / 21
Регистрация: 13.11.2012
Сообщений: 1,564
25.03.2014, 18:42
Цитата Сообщение от Убежденный Посмотреть сообщение
отличить USB-флэшку от USB-диска
Просто задать условие, типа "если размер < 10 гигов" =)
0
27 / 27 / 10
Регистрация: 10.04.2013
Сообщений: 91
25.03.2014, 20:49  [ТС]
Цитата Сообщение от Izual Посмотреть сообщение
Просто задать условие, типа "если размер < 10 гигов" =)
тоже как вариант
0
 Аватар для Izual
143 / 122 / 21
Регистрация: 13.11.2012
Сообщений: 1,564
26.03.2014, 00:45
Цитата Сообщение от gelior Посмотреть сообщение
тоже как вариант
Нет, кстати как раз таки и не вариант. Суть проблемы в том, что если слишком большое кол-во файлов - то будет ошибка, а размер ни о чём не говорит. У меня на флэшке в гиг было ~500 файлов, и это далеко не предел. Ведь картинки или txt файлы занимают сущий пустяк, и даже в гиге может поместиться больше 1000. А это и есть проблема. Значит условие нужно ставить после проверки на кол-во файлов. Т.е. вам по первой моей ссылке идти и немного модифициоровать пример, чтоб считал именно файлы - без папок.
0
27 / 27 / 10
Регистрация: 10.04.2013
Сообщений: 91
26.03.2014, 11:19  [ТС]
Цитата Сообщение от Izual Посмотреть сообщение
вам по первой моей ссылке идти
ссылочку можно? а то что-то не нашел
0
 Аватар для Izual
143 / 122 / 21
Регистрация: 13.11.2012
Сообщений: 1,564
26.03.2014, 12:10
Цитата Сообщение от gelior Посмотреть сообщение
ссылочку можно?
Точно) Не у вас значит постил. =)
Поиск папок с помощью FindFirstFile\FindNextFile
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
26.03.2014, 12:10
Помогаю со студенческими работами здесь

Защита файлов
Я хочу в Delphi Borland 7 организовать функцию зашиты фалов к примеру HOSTS ( как например антивирус Dr.Web ) Что-бы файлы нельзя было...

Защита файлов
Приветствую! С каждым годом все больше работ сделанные мною выливаются в сеть в различные ресурсы. От этого с каждым годом все меньше...

Защита файлов?
В операционной системе Windows XP есть скрытая папка dllcache объёмом более 400 МБ. Она содержит системные файлы. Если вы случайно...

Защита файлов
В общем сделал админку для сайта, проверяю авторизован ли пользователь вот так: if(isset($_SESSION)) { //тут код } в админке...

Защита файлов
Есть программа, которая поверх всех окон, она не дает остальным программам работать, пока пароль не ведешь Вот тока две проблемы можно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

Новые блоги и статьи
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2. Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru