0 / 0 / 0
Регистрация: 24.03.2017
Сообщений: 5
|
|
1 | |
Мини-фильтр для скрытия файлов29.04.2019, 02:40. Показов 3277. Ответов 9
Метки нет (Все метки)
Добрый день!
Мне необходимо написать фильтр для скрытия файлов в фс NTFS. Хочется сделать это в формате minifilter, но я ранее не имела дела с написанием драйверов. Почитав документацию, более-менее разобралась со структурой мини-фильтра, но что конкретно мне нужно сделать для того чтобы скрыть файл остается для меня загадкой. Может быть кто-то писал что-то подобное и может подсказать как это сделать? Буду благодарна за информативные ответы!
0
|
29.04.2019, 02:40 | |
Ответы с готовыми решениями:
9
Программа для скрытия файлов Программа под Windows для корректировки лог-файлов от офисной мини-АТС MSWord - графический фильтр для CGM-файлов Как задать фильтр для вывода файлов? |
Эксперт Hardware
|
|
29.04.2019, 07:53 | 2 |
так вам нужно скрыть файл, или запретить к нему доступ?
для первого случая нужно чекать атрибуты файла, а для второго - можно сразу возвращать управление из фильтра, не передавая запрос по-цепочке дальше, драйверу файловой системы (или драйверу диска). По-умолчанию цепочка (стек) ведь там такой: (1)юзерский IOCTL -> (2)др.FS -> (3)др.DSK Вы можете повесить свой фильтр на любой уровень, и соответственно подходы будут разные. Добавлено через 3 минуты почитать можно... Minifilter. Запрет на запись в файл Драйвер фильтр USB Общение между приложением и драйвером Minifilter + memory mapped I/O Фильтр USB устройств Добавлено через 3 минуты ещё кое-что.. MSDN - Драйверы минифильтров файловой системы RSDN - Уязвимости в драйверах режима ядра для Windows
0
|
0 / 0 / 0
Регистрация: 24.03.2017
Сообщений: 5
|
|
29.04.2019, 10:20 [ТС] | 3 |
Мне нужно именно скрыть файл, т.е. его не должно быть видно в папке.
И подразумевалось сделать это именно как мини-фильтр, т.е. он занимает промежуточное место между (1) и (2), если я правильно все поняла. И достаточно ли будет просто менять флаг FILE_ATTRIBUTE_HIDDEN чтобы файл был скрыт? Потому что после поиска информации об этом мне показалось, что это несколько сложнее, чем просто поменять флаг.
0
|
0 / 0 / 0
Регистрация: 24.03.2017
Сообщений: 5
|
||||||
29.04.2019, 11:12 [ТС] | 5 | |||||
Мини-фильтр фильтрует запросы в/в на основе IRP, для каждой из которых пишется процедура обратного вызова.
Ме нужно просто перехватить нужную операцию и для нее в процедуре обратного вызова изменить атрибуты конкретного файла? Если так, то тогда какие именно операции перехватывать? IRP_MJ_DIRECTORY_CONTROL? Может быть я вообще неправильно все это понимаю.. Скажите мне, если это так
0
|
0 / 0 / 0
Регистрация: 24.03.2017
Сообщений: 5
|
|
29.04.2019, 22:59 [ТС] | 7 |
При открытии файла..
А если мне необходимо скрыть файл по его названию, ну, например, у меня есть пользовательское приложение, связанное с драйвером, в котором пользователь выбирает файлы, которые он хочет скрыть? Потому что на самом деле подразумевалось так: есть пользовательское приложение, связанное с фильтром, в котором пользователь выбирает файлы для скрытия, фильтр выполняет работу по скрытию файла и отправляет результаты обратно в пользовательское приложение. Здесь уже совершенно другой подход необходимо использовать?
0
|
Эксперт Hardware
|
||||||
30.04.2019, 10:17 | 8 | |||||
это конечно хорошо, только в ядре нет функций напрямую меняющей атрибуты (типа юзермодной
SetFileAttributes ), поэтому нужно использовать ZwCreateFile() и передавать в её параметрах "Hide" (сreate не только создаёт, но и открывает файл).Хотя вроде есть ещё NtSetEaFile() , так-что можно попробовать перехватить запрос "IRP_MJ_SET_EA" (Extended Attributes), ..но может я и ошибаюсь, и имеются другие варианты - нужно практиковать это дело.Добавлено через 19 минут оказывается для смены атрибутов файла в ядре, можно использовать связку:
0
|
0 / 0 / 0
Регистрация: 24.03.2017
Сообщений: 5
|
|
30.04.2019, 10:33 [ТС] | 9 |
Я еще находила информацию, что файлы можно скрыть посредством перехвата функций API, насколько это сейчас актуально? Потому что вся информация, найденная мной была ~10 летней давности и может быть сейчас это использовать уже нет смысла.
0
|
Эксперт Hardware
|
|
30.04.2019, 11:58 | 10 |
перехват апи на ядерном уровне займёт у вас большую часть фильтра,
поэтому в данном случае (думаю) это нерентабельно.
0
|
30.04.2019, 11:58 | |
30.04.2019, 11:58 | |
Помогаю со студенческими работами здесь
10
GetOpenFileName - установить фильтр для текстовых файлов и картинок Как можно установить фильтр файлов для элемента HtmlInputFile? Удаление exe файлов (как удалить Naomi 3.2.90,фильтр для интернета?) Макрос для скрытия столбца Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Опции темы | |
|
Новые блоги и статьи | |||||
Использование связки C# и PHP в корпоративной разработке и микросервисной архитектуре
InfoMaster 16.01.2025
Введение в интеграцию C# и PHP
В современной корпоративной разработке все чаще возникает потребность в создании гибких и масштабируемых решений, способных эффективно решать широкий спектр. . .
|
Как использовать Kerio дома для управления сетью и пользователями
InfoMaster 16.01.2025
Использование технологий для улучшения повседневной жизни стало неотъемлемой частью современного быта. Одной из таких технологий является Kerio — мощный инструмент для управления сетью и. . .
|
Есть ли будущее у DVD и Blu-ray?
InfoMaster 16.01.2025
В эпоху стремительного развития цифровых технологий и повсеместного распространения потоковых сервисов вопрос о будущем физических носителей информации становится все более актуальным. Особенно остро. . .
|
Как проводить научные вычисления на Python
InfoMaster 15.01.2025
Python стал одним из наиболее востребованных языков программирования в области научных вычислений благодаря своей простоте, гибкости и обширной экосистеме специализированных библиотек. Научные. . .
|
Создание игры типа Minecraft на PyGame/Python: пошаговое руководство
InfoMaster 15.01.2025
В данном руководстве мы рассмотрим процесс создания игры в стиле Minecraft с использованием библиотеки PyGame на языке программирования Python. Этот проект идеально подходит как для начинающих. . .
|
Как создать свою первую игру в стиле Doom на Unreal Engine
InfoMaster 15.01.2025
Разработка шутера от первого лица в стиле классического Doom представляет собой увлекательное путешествие в мир игрового программирования, где сочетаются творческий подход и технические навыки. . . .
|
Параллельное программирование: основные технологии и принципы
InfoMaster 15.01.2025
Введение в параллельное программирование
Параллельное программирование представляет собой фундаментальный подход к разработке программного обеспечения, который позволяет одновременно выполнять. . .
|
Как написать микросервис на C# с Kafka, MediatR, Redis и GitLab CI/CD
InfoMaster 15.01.2025
В современной разработке программного обеспечения микросервисная архитектура стала стандартом де-факто для создания масштабируемых и гибких приложений. Этот подход позволяет разделить сложную систему. . .
|
Что такое CQRS и как это реализовать на C# с MediatR
InfoMaster 15.01.2025
Концепция CQRS и её роль в современной разработке
В современном мире разработки программного обеспечения архитектурные паттерны играют ключевую роль в создании масштабируемых и поддерживаемых. . .
|
Как настроить CI/CD с Azure DevOps
InfoMaster 15.01.2025
CI/ CD, или непрерывная интеграция и непрерывное развертывание, представляет собой современный подход к разработке программного обеспечения, который позволяет автоматизировать и оптимизировать процесс. . .
|
Как настроить CI/CD с помощью Jenkins
InfoMaster 15.01.2025
Введение в CI/ CD и Jenkins
В современной разработке программного обеспечения непрерывная интеграция (CI) и непрерывная доставка (CD) стали неотъемлемыми элементами процесса создания качественных. . .
|
Как написать микросервис на Go/Golang с Kafka, REST и GitHub CI/CD
InfoMaster 14.01.2025
Определение микросервиса, преимущества использования Go/ Golang
Микросервис – это архитектурный подход к разработке программного обеспечения, при котором приложение состоит из небольших, независимо. . .
|