xuAmigo
驱动小牛
驱动小牛
  • 注册日期2004-11-11
  • 最后登录2006-01-12
  • 粉丝0
  • 关注0
  • 积分58分
  • 威望10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1224回复:6

sfilter可否拦截本地磁盘的请求

楼主#
更多 发布于:2005-04-25 14:00
我修改的Sfilter只能拦截U盘,软盘等的请求,如何使它也能拦截本地磁盘(如C:,D:等)的请求呢,请大虾们指教
zhjie374
驱动小牛
驱动小牛
  • 注册日期2004-10-27
  • 最后登录2012-01-17
  • 粉丝2
  • 关注1
  • 积分17分
  • 威望144点
  • 贡献值1点
  • 好评度21点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2005-04-25 15:15
楼主,有禁止U A:的代码?拿出来共享学习一下。

一般情况下sfilter都是针对本地的,你看拦截IRP操作的时候是不是作了相应的判断,你判断是本地还是U等即可。

代码放上来,看看!

xuAmigo
驱动小牛
驱动小牛
  • 注册日期2004-11-11
  • 最后登录2006-01-12
  • 粉丝0
  • 关注0
  • 积分58分
  • 威望10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2005-04-25 15:41
我调试了一下,发现无论本地磁盘或U盘等都能触发SfCreate,但为什么我添加的读写例程在访问本地时就跟踪不进去呢,我应该怎样处理
我禁用U盘主要是在sfilter上添加了读写例程,然后将对U盘的读写请求包过滤掉了,
zhjie374
驱动小牛
驱动小牛
  • 注册日期2004-10-27
  • 最后登录2012-01-17
  • 粉丝2
  • 关注1
  • 积分17分
  • 威望144点
  • 贡献值1点
  • 好评度21点
  • 原创分0分
  • 专家分0分
地板#
发布于:2005-04-25 16:26
但是从理论上说,U盘的文件系统是U插入以后才MOUNT进去的,而SFILTER是先起来的.也就是他不能过滤U盘文件系统的IRP啊?

所以想借你的代码来交流一下!
xuAmigo
驱动小牛
驱动小牛
  • 注册日期2004-11-11
  • 最后登录2006-01-12
  • 粉丝0
  • 关注0
  • 积分58分
  • 威望10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2005-04-25 17:02
很奇怪,我就下载了Sfilter,然后添加了读写例程,你怎么就拦不到呢,
zhjie374
驱动小牛
驱动小牛
  • 注册日期2004-10-27
  • 最后登录2012-01-17
  • 粉丝2
  • 关注1
  • 积分17分
  • 威望144点
  • 贡献值1点
  • 好评度21点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2005-04-25 18:09
你的拦截意思是什么?
是在DebugView中看到打印U盘下文件的文件名和路径??

那我也可以,关键是即使我把这个IRP结束了,对U也没有作用!
xuAmigo
驱动小牛
驱动小牛
  • 注册日期2004-11-11
  • 最后登录2006-01-12
  • 粉丝0
  • 关注0
  • 积分58分
  • 威望10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2005-04-26 09:09
你先判断设备的类型,
如if(DeviceObject->DeviceType == FILE_DEVICE_DISK)
    if(DeviceObject->Characteristics == FILE_REMOVABLE_MEDIA)
{
添加你的过滤代码;
}
游客

返回顶部