码迷,mamicode.com
首页 > 其他好文 > 详细

不知道为什么,我这里出了问题

时间:2014-11-10 06:23:19      阅读:192      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   io   os   sp   文件   div   on   

其实,道理上说,的确,创建一个文件,是要有打开文件的这个过程的,

但是不知道为什么,我这里根本拦截不到打开文件的这个过程。

举个例子,

前面初始化了Minifilter,然后注册了两个回调,进程创建回调和镜像加载回调

红色部分为进程创建回调,其实进程创建回调被触发的时候,第一个镜像就已经被加载起来了,

但是我不明白,为什么,第一个镜像加载回调会在进程创建回调后面触发

子进程PID为344,进程创建回调触发之后,直接触发的镜像加载回调,Minifilter根本没有拦截到Create这个exe文件的操作

紫色框部分为镜像加载回调

绿色框部分为minifilter的Create回调,上面的一行为 Pre ,下面一行为Post,

根本就没有拦截到 exe 的操作,我不明白,为什么我这里会这样。

我的测试环境是Windows XP sp3 x86 ,内核版本 NT5.1 WDK版本2600

我很想知道,这东西到底是根本没Create,还是怎样了,但是今天先看了一下 CreateProcess 源码,大致是

BasepMapFile 这个函数把它们映射到内存的,而这个函数里面调用了2个函数 NtOpenfile 和 NtCreateSection ,第一个函数就是 Create
(我没找到 IRP_MJ_OPEN 阿 , 0x00 是 IRP_MJ_CREATE)

所以我很纳闷,不过不管怎么说,就是这么回事,minifilter抓不到

bubuko.com,布布扣

不知道为什么,我这里出了问题

标签:style   blog   http   io   os   sp   文件   div   on   

原文地址:http://www.cnblogs.com/suanguade/p/4086247.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!