Мини-фильтр не блокирует изображения, открытые в «Фото Windows» - PullRequest
0 голосов
/ 01 мая 2018

Я кодировал мини-фильтр, который блокирует все изображения JPG с относительным успехом. За исключением случаев, когда файл открывается в «Фото Windows». Мини-фильтр зарегистрирован для всех MJ_CREATE, и в WinDbg я вижу, что мой код вызывается для блокировки изображений JPG при открытии Windows Photos. Тем не менее, изображение все еще успешно загружается.

PostOperatonCallback:

if (RtlCompareUnicodeString(&fileDetails->Extension, &jpgExt, TRUE) == 0)
{

    DbgPrint("Blocking JPG file...\n");
    FltCancelFileOpen(FltObjects->Instance, FltObjects->FileObject);

    Data->IoStatus.Status = STATUS_ACCESS_DENIED;
    Data->IoStatus.Information = 0;

    FltReleaseFileNameInformation(fileDetails);

    return FLT_POSTOP_FINISHED_PROCESSING;
}

Параметры запуска фильтра:

StartType = 0
Class = "ActivityMonitor"
Altitude= "370030"

Тестовая среда:

Изображения копируются перед загрузкой фильтра. Фильтр устанавливается, затем система перезагружается.

Проблема:

Изображения по-прежнему доступны для Windows Photos после перезагрузки системы. (Фильтр загружается при запуске, поэтому технически изображения должны быть заблокированы после перезагрузки).

Все остальные операции успешно заблокированы, например, (Копировать, Вставить, Открытие с другой программой, например, рисовать). Все новые изображения JPG, которые пытаются открыть или передать после загрузки, также успешно блокируются.

Мне интересно, что мне не хватает? Некоторые изображения загружаются так рано, что обходит FilterManager? Есть ли IRP, который я могу пропустить? Моя конечная цель на данный момент - просто заблокировать загрузку всех JPG (если возможно, включая миниатюру).

Огромное спасибо всем, кто нашел время, чтобы прочитать мой вопрос, и всем, кто может помочь.

Приветствия

Брайс Вудс

1 Ответ

0 голосов
/ 04 мая 2018

На самом деле оказалось, что Windows 10 кэширует изображения и их миниатюры и сохраняет их в файлах '.db'. Я начал блокировать эти файлы, и это решило мою проблему!

...