riceworm
驱动小牛
驱动小牛
  • 注册日期2004-10-27
  • 最后登录2008-10-22
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望7点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
阅读:1308回复:10

钻牛角尖

楼主#
更多 发布于:2005-04-07 13:53
我在用filemon监控某一目录时(D:\\test),当我从D:盘其他目录下移动(MOVE)一个文件到D:\\test时,只监控到一个I/O请求IRP_MJ_CREATE,请问怎样判断这个请求是由于MOVE文件产生的呢???(即判断文件的MOVE事件)
riceworm
驱动小牛
驱动小牛
  • 注册日期2004-10-27
  • 最后登录2008-10-22
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望7点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2005-04-08 09:04
钻牛角尖
riceworm
驱动小牛
驱动小牛
  • 注册日期2004-10-27
  • 最后登录2008-10-22
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望7点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2005-04-08 16:24
why?
tooflat
论坛版主
论坛版主
  • 注册日期2002-07-08
  • 最后登录2014-03-11
  • 粉丝2
  • 关注0
  • 积分1007分
  • 威望551点
  • 贡献值3点
  • 好评度476点
  • 原创分0分
  • 专家分0分
地板#
发布于:2005-04-08 16:41
IRP_MJ_SET_INFORMATION
qiaoroger
驱动牛犊
驱动牛犊
  • 注册日期2005-02-03
  • 最后登录2010-03-22
  • 粉丝0
  • 关注0
  • 积分111分
  • 威望92点
  • 贡献值1点
  • 好评度7点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2005-04-08 17:04
IRP_MJ_SET_INFORMATION


老大又解决了我一个问题,哈哈,还不用给分:D:D。

我看了下帮助,是不是根据IRP_MJ_SET_INFORMATION的
IrpSp->Parameters.SetFile.FileInformationClass 参数判断??
如果是FileRenameInformation那么根据Irp->AssociatedIrp.SystemBuffer 里的参数就可以判断了?
riceworm
驱动小牛
驱动小牛
  • 注册日期2004-10-27
  • 最后登录2008-10-22
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望7点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2005-04-08 17:12
直接重命名一个文件产生
IRP_MJ_SET_INFORMATION(FileRenameInformation)
移动一个文件也是产生
IRP_MJ_SET_INFORMATION(FileRenameInformation)

这该怎样区分呢???
qiaoroger
驱动牛犊
驱动牛犊
  • 注册日期2005-02-03
  • 最后登录2010-03-22
  • 粉丝0
  • 关注0
  • 积分111分
  • 威望92点
  • 贡献值1点
  • 好评度7点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2005-04-08 17:29
直接重命名一个文件产生
IRP_MJ_SET_INFORMATION(FileRenameInformation)
移动一个文件也是产生
IRP_MJ_SET_INFORMATION(FileRenameInformation)

这该怎样区分呢???


看FILE_RENAME_INFORMATION的帮助里面RootDirectory参数是NULL的时候是重命名吧?没仔细看。。。
riceworm
驱动小牛
驱动小牛
  • 注册日期2004-10-27
  • 最后登录2008-10-22
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望7点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2005-04-11 09:13
很奇怪啊!!!我在用filemon4.3监控目录D:\\test时,当我从D:\\target目录下移动(MOVE)一个文件到D:\\test时,对于D:\\test只监控到一个I/O请求IRP_MJ_CREATE,此外就没有任何操作事件了,真是奇怪啊!!!
tooflat
论坛版主
论坛版主
  • 注册日期2002-07-08
  • 最后登录2014-03-11
  • 粉丝2
  • 关注0
  • 积分1007分
  • 威望551点
  • 贡献值3点
  • 好评度476点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2005-04-11 09:34
可以参考一下OSR白皮书里面的Cracking rename operations,里面讲解的很详细
riceworm
驱动小牛
驱动小牛
  • 注册日期2004-10-27
  • 最后登录2008-10-22
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望7点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2005-04-11 09:54
这篇文章我看过了,这是rename的三种情况,通常走的是Fully Qualified Rename方式,请问move走的是那种方式呢?
还有就是上面我所说的对于目标文件夹为什么只有一个IRP_MJ_CREATE产生呢?
riceworm
驱动小牛
驱动小牛
  • 注册日期2004-10-27
  • 最后登录2008-10-22
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望7点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2005-04-11 10:25
非常感谢斑竹tooflat的提醒,再看一遍文章又有了新的收获啊:),非常非常感谢。
游客

返回顶部