games
驱动牛犊
驱动牛犊
  • 注册日期2001-08-01
  • 最后登录2005-03-08
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1516回复:5

2000下读某些类型文件怎么没看见IRP_MJ_READ请求

楼主#
更多 发布于:2002-05-05 17:38
本人准备使用filemon在2000下实现对文件读写操作内容进行加解密操作(即修改操作)。
我想所有上层应用程序的读写操作过程读都应该包含IRP_MJ_READ,IRP_MJ_WRITE,FAST_IO_READ,FAST_IO_WRITE等类型IRP之一。
使用filemon监视某个目录下文读操作,当打开一个txt/doc/ppt等文件时并没有发现IRP_MJ_READ请求包经过和对FAST_IO_READ例程的调用;但nt下却不是这样,而且通过VC以二进制方式打开txt文件是也能捕获到IRP_MJ_READ请求并能查看到所读文件内容。
请高手指点:
1、2000下,使用filemon是否能截获文件系统所有的读请求并对请求返回结果进行修改
2、如果不行是否有可替代的办法

很急!!

非常感谢
macy
禁止发言
禁止发言
  • 注册日期2001-12-19
  • 最后登录2018-06-02
  • 粉丝0
  • 关注0
  • 积分6383分
  • 威望48270点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
  • 社区居民
沙发#
发布于:2002-05-05 20:36
用户被禁言,该主题自动屏蔽!
zdhe
驱动太牛
驱动太牛
  • 注册日期2001-12-26
  • 最后登录2018-06-02
  • 粉丝0
  • 关注0
  • 积分72362分
  • 威望362260点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
  • 社区居民
板凳#
发布于:2002-05-06 01:57
比较有趣.
FILEMON事实上能够抓到所有的FILE IO. 但是看起来会很费解.


文件访问大约有3种方式.

1.标准的同步操作,异步文件读写.
2. FILE MAPPING (RING 0 SECTIONOBJECT)方式,NOTEPAD, PE格式的可执行文件启动等等....
3. MS OFFICE, IE的那种比较奇怪的方式.

1.你是都能看到的.
2.看起来只能直接看到一部分. 其实都能看到, 但是因为基于系统的PAGE FAULT工作, 你会看到大量不直接关联的大量PAGEING IO 
3.能够看到一部分.PPT我没有留心过, 象WORD那样的东西基于中间文件工作, 全部完成之后才 rename或者COPY成你指定的文件.所以看起来你只能看到一部分.

1,3能否成功, 看你的功力了, 对于2,比较微妙.我没什么自信.


du_lin
驱动小牛
驱动小牛
  • 注册日期2002-01-26
  • 最后登录2005-08-22
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-05-08 12:41
office 打开文件是file id形式的,用一个id号打开,filemon是过滤不了的
zdhe
驱动太牛
驱动太牛
  • 注册日期2001-12-26
  • 最后登录2018-06-02
  • 粉丝0
  • 关注0
  • 积分72362分
  • 威望362260点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
  • 社区居民
地下室#
发布于:2002-05-08 20:58
du_lin说的不错. 注意过这个东西的, 怎么写贴子的时候就忘了.
(我在RING3上看到的就是COPYFILE被莫名其妙的被CALL了若干次.)
但总应该有处理方法的, 有时间查查看.
有人已经有什么好主意了么?



[编辑 -  5/8/02 作者: zdhe]
games
驱动牛犊
驱动牛犊
  • 注册日期2001-08-01
  • 最后登录2005-03-08
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2002-05-09 12:12
非常感谢大家的回复!

通过hook ReadFile、WriteFile等API来实现,不知可行性如何?
游客

返回顶部