首页
社区
课程
招聘
[求助]IRP_MJ_CLOSE的问题
发表于: 2014-1-6 16:26 6294

[求助]IRP_MJ_CLOSE的问题

2014-1-6 16:26
6294
各位前辈,大神,最近碰到一个情况,搞不明白,前来询问,还望大神们不吝赐教啊!废话不多说下面说问题:
      首先R0下面的文件过滤驱动,需要在IRP_MJ_CLOSE中处理些问题,同时会用MmFlushImageSection刷缓存写进文件里。现在的情况是对于比较小的文件,貌似IRP_MJ_CREAT 和IRP_MJ_CLOSE的个数是对应的,缓存也可以清理干净。但是文件比较大(其实也不算很大八九百K)的时候貌似 IRP_MJ_CLOSE下发的次数少了一次,也就是最后一次没有下发这个IRP。所以导致了缓存清理不干净。一直也得不到文件锁,可以理解为貌似文件被占用了!
    希望各位给些指点,比如有没有什么方法可以 解除占用释放FCB;或者其他的方法促使这个CLOSEIRP下发;或者有没有其他的思路给提示下吧  跪谢!!

[课程]FART 脱壳王!加量不加价!FART作者讲授!

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 63
活跃值: (17)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
2
IRP_MJ_CLOSE是会延迟发送的,因为fileObject会被有些内核组件缓存。
2014-1-9 10:42
0
雪    币: 63
活跃值: (25)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
3
在IRP_MJ_CLEANUP的时候做写磁盘操作比较合乎微软的规范
2014-1-9 10:47
0
雪    币: 65
活跃值: (112)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
4
close代表的是这个文件对象以及他的句柄都没了,cleanup代表所有句柄都没了,但不一定文件对象也没了
2014-1-9 11:18
0
雪    币: 1
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
恩,多谢各位前辈!问题解决了,在cleanup中做了处理,此贴结贴!再次感谢各位
2014-3-6 12:25
0
游客
登录 | 注册 方可回帖
返回
//