birdtomaster
驱动牛犊
驱动牛犊
  • 注册日期2003-10-03
  • 最后登录2008-09-07
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
阅读:2085回复:14

filemon拦截指定文件读写的处理,请高手指点迷津

楼主#
更多 发布于:2004-07-17 13:47
我想改动filemon源代码实现过滤对给定文件的读或者写。
通过观察filemon的输出信息,不论是对文件进行什么操作,都先有IRP_MJ_CREATE,在其中加拦截代码我想具有可行性,看过本站的一些帖子,有说在IRP_MJ_CREATE中进行处理,加如下代码:
Irp->IoStatus.Status = STATUS_INVALID_DEVICE_REQUEST;
   Irp->IoStatus.Information = 0;
   IoCompleteRequest( Irp,IO_NO_INCREMENT);
   return STATUS_INVALID_DEVICE_REQUEST; 的确可以拦截,但是所有的读写操作都拦截了,如果我需要只让读不让写怎么办?在IRP_MJ_WRITE里面加如这些代码经试验不行,会出现大量不能去除的错误提示。
问:
  1、如果在IRP_MJ_CREATE中进行处理中进行处理,因为读写都先有这个,如何知道该IRP_MJ_CREATE是读还是写的时候产生的?
  2、如果分别在IRP_MJ_READ和IRP_MJ_WRITE中处理,照上面加代码好像不行,应该怎样处理?返回什么值?
   :) :(

最新喜欢:

dj_ukyodj_uky...
birdtomaster
驱动牛犊
驱动牛犊
  • 注册日期2003-10-03
  • 最后登录2008-09-07
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-08-06 23:55
经过一番瞎折腾,还是不行,还是有问题:

1、excel只读就不能打开
2、access数据库过滤除MSACCESS外的其它所有操作,打开和关闭以及保存时都有 延缓写入错误,无法为D:文件保存数据。。。但是数据时保存了的,很烦人的错误提醒。取消规则后正常
请DX指点指点啊 ,word不让查询信息就可以了:,为什么数据库有这个mad:

[编辑 -  8/11/04 by  birdtomaster]
ldljlzw
驱动中牛
驱动中牛
  • 注册日期2002-03-16
  • 最后登录2014-01-02
  • 粉丝1
  • 关注0
  • 积分1021分
  • 威望372点
  • 贡献值0点
  • 好评度187点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-08-05 17:31
用我的siimon.sys吧,已经实现了你要的功能.


给大家看看你的代码吧!!!
yearnyan
驱动牛犊
驱动牛犊
  • 注册日期2004-06-17
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分40分
  • 威望5点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-08-04 11:24
   兄弟能不能给我一个,我自己在瞎搞,刚开始
是重启 ,现在可惨了,每天开机要启三次,才能
进去,前两次是预启动,现在吓的都不敢试了.
 
  俺的小妹:yearnyean@hotmail.com
djhunter
驱动牛犊
驱动牛犊
  • 注册日期2004-07-20
  • 最后登录2004-09-01
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-08-03 15:03
我也想要一份 谢了
djhunter@eyou.com
freecutelei
驱动牛犊
驱动牛犊
  • 注册日期2003-11-12
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2004-08-03 10:06
还有这好事?
我也要
freecutelei@tom.com
birdtomaster
驱动牛犊
驱动牛犊
  • 注册日期2003-10-03
  • 最后登录2008-09-07
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2004-08-02 17:17
用我的siimon.sys吧,已经实现了你要的功能.

从哪里可以获得你的siimon.sys的代码,能发给我一份否?zhmxggg@126.com,多谢了
waqis
驱动牛犊
驱动牛犊
  • 注册日期2003-06-03
  • 最后登录2017-08-21
  • 粉丝0
  • 关注0
  • 积分15分
  • 威望2点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
  • 社区居民
7楼#
发布于:2004-08-02 08:57
用我的siimon.sys吧,已经实现了你要的功能.
birdtomaster
驱动牛犊
驱动牛犊
  • 注册日期2003-10-03
  • 最后登录2008-09-07
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2004-08-01 18:49
完了完了,拦截倒是可以,为何改变过滤规则不拦截后,word文件不能打开,说文件被锁定???
lifeship
驱动小牛
驱动小牛
  • 注册日期2002-10-18
  • 最后登录2005-07-19
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2004-07-27 00:04
所有文件的写入都会到这个入口,一些通过fastio写入的将在后来的某个时候有laszy writer系统线程延迟写入,
杯汝前来,  老子今朝,  放荡形骸!  甚长年抱渴,  咽如焦釜,  于今喜醉,  气似奔雷!  慢说刘伶,  古今达者,  醉后何妨死便埋! 
birdtomaster
驱动牛犊
驱动牛犊
  • 注册日期2003-10-03
  • 最后登录2008-09-07
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2004-07-23 11:57
准确说是2问可以拦截,1问还不行,网上有位兄弟的代码我拿去试出了问题,但是思路很好这样就可以都在CREATE中拦截了,可能是我自己的问题,以后再试,是这个帖子的回复:
 IRP_MJ_WRITE的问题,请各位DX赐教,不胜感激!!!!!!!!
birdtomaster
驱动牛犊
驱动牛犊
  • 注册日期2003-10-03
  • 最后登录2008-09-07
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2004-07-23 11:51
详细说说你是如何做的????


就是在多个有关的IRP_MJ_...中都加入了第一问的4个语句,word也可以实现拦截读或者写,读在CREATE中就过滤,只拦截写在多处设置过滤+条件,但是写没有在CREATE中,就是有CREATE但是没有以后,不知会否出错,我试过长期运行,超短期使没有问题的
wowocock
VIP专家组
VIP专家组
  • 注册日期2002-04-08
  • 最后登录2016-01-09
  • 粉丝16
  • 关注2
  • 积分601分
  • 威望1651点
  • 贡献值1点
  • 好评度1227点
  • 原创分1分
  • 专家分0分
12楼#
发布于:2004-07-19 08:56
详细说说你是如何做的????
花开了,然后又会凋零,星星是璀璨的,可那光芒也会消失。在这样 一瞬间,人降生了,笑者,哭着,战斗,伤害,喜悦,悲伤憎恶,爱。一切都只是刹那间的邂逅,而最后都要归入死亡的永眠
birdtomaster
驱动牛犊
驱动牛犊
  • 注册日期2003-10-03
  • 最后登录2008-09-07
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2004-07-17 19:10
已经解决此问题,是设置判断标志后没有在下次判断时改回来,并在非read和write的其它fuction中也加了代码,不知对不对,只是现在word文档不行
birdtomaster
驱动牛犊
驱动牛犊
  • 注册日期2003-10-03
  • 最后登录2008-09-07
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
14楼#
发布于:2004-07-17 17:11
在IRP_MJ_WRITE里面加入这些代码大量不能去除的错误提示为:windows延缓写入错误:windows无法为D:文件(还有其它的文件,D:文件其实是D:盘)保存所有数据。。。。是不是应该返回其它值?还是因为先的create有什么要写入缓冲,但是怎么是D:呢,请各位老大帮帮忙
游客

返回顶部