微筛选器无法阻止'Windows Photos'打开的图像
Mini-filter fails to block images opened by 'Windows Photos'
我编写了一个迷你过滤器,可以相对成功地阻止所有JPG图像。 除非文件被"Windows照片"打开。微筛选器已注册到所有MJ_CREATE,在WinDbg中,我可以看到我的代码在Windows照片打开时被调用以阻止JPG图像。但是,图像仍会成功加载。
后歌剧回调:
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 照片仍可访问图像。(过滤器在启动时加载,因此从技术上讲,映像应在重新启动后被阻止(。
所有其他操作都被成功阻止,例如(复制,粘贴,使用另一个程序(如油漆(打开(。任何尝试在启动后打开或传输的新 JPG 图像也会成功阻止。
我想知道我错过了什么?某些图像是否加载得太早以至于绕过了过滤器管理器?我可能缺少 IRP 吗?我现在的最终目标只是阻止加载所有JPG(如果可能的话,包括缩略图(。
非常感谢所有花时间阅读我的问题的人以及任何可以提供帮助的人。
干杯
布莱斯伍兹
实际上,Windows 10缓存图像及其缩略图并将其存储在".db"文件中。我开始阻止这些文件,它解决了我的问题!
相关文章:
- C++,OpenCV,尝试显示图像时"OpenCV(4.3.0) Error: Assertion failed (size.width>0 && size.height>0)"此错误
- 如何使用OpenCV将RBG图像转换为HSV,并将H、S和V值保存为C++中的3个独立图像
- OpenCV EqualizeHist()从彩色图像创建黑白图像
- 将"打开的CV图像"中的"颜色"转换为整数格式
- 平均图像时图像损坏
- 在C++中使用GDAL可以将图像的像素坐标转换为lat,long吗
- 如何将图像传输到c++(dll)中的缓冲区,然后在c#的缓冲区中读/写
- Vulkan验证层不断在VkQueuePresentKHR()上抛出图像布局错误
- 使用FFMPEG将RGB图像序列保存到.mp4时出现问题
- 将RGB图像保存为PPM格式
- 将图像添加到资源文件夹UWP C++
- 彩色图像的卤化物处理平均值
- C++射线示踪剂ppm表示没有足够的数据来显示图像
- 重新定位图像时如何前进到下一个内存块
- 如何使用按钮更新GTK3图像以使用C++从相机捕获图片
- 为什么 BMP 图像上的 imwrite 会卡住/不返回?
- Gstreamer:每 5 秒使用多文件墨水保存图像/jpeg
- 如何使用CImg打开图像?
- 微筛选器无法阻止'Windows Photos'打开的图像
- 使用 "Photos metro application" 显示图像