happycocol
驱动牛犊
驱动牛犊
  • 注册日期2008-10-22
  • 最后登录2012-03-04
  • 粉丝1
  • 关注1
  • 积分22分
  • 威望172点
  • 贡献值1点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1637回复:4

过滤word遇到的问题 请大侠指点指点

楼主#
更多 发布于:2008-11-23 22:06
问题描述:今天在使用WinDbg调试MyFilter文件过滤驱动时,发现没有改变原有文件(txt格式的文件)的内容时,IRP结构里的MdlAdress->ByteOffset的值为 0 ,MdlAdress->ByteCount也是相应文件的大小。反之则大于 0 。FileObject结构的FileName也是相应的文件名。
    但是,当换成是word文件时就发生了可怕的问题,FileObject结构的FileName不是相应的文件名。MdlAdress->ByteCount不是相应文件的大小。其值为512,感觉此值好像是一个扇区的大小。FileName的后缀名为 .tmp。
努力!!!努力!!!
eleqi
驱动小牛
驱动小牛
  • 注册日期2005-12-20
  • 最后登录2014-01-03
  • 粉丝4
  • 关注2
  • 积分172分
  • 威望1475点
  • 贡献值0点
  • 好评度115点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2008-11-25 01:05
拿filespy,filemon看WORD做了哪些事吧,好像没有哪里的文档说过MdlAdress->ByteCount是文件大小,我没见过
jununfly
驱动牛犊
驱动牛犊
  • 注册日期2008-10-17
  • 最后登录2010-06-01
  • 粉丝0
  • 关注0
  • 积分86分
  • 威望560点
  • 贡献值2点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2008-12-02 13:46
原来的文件会被删除,现在的文件是临时文件(对WORD文件来说)
eleqi
驱动小牛
驱动小牛
  • 注册日期2005-12-20
  • 最后登录2014-01-03
  • 粉丝4
  • 关注2
  • 积分172分
  • 威望1475点
  • 贡献值0点
  • 好评度115点
  • 原创分0分
  • 专家分0分
地板#
发布于:2008-12-02 23:18
只不过是正常保护机制,先保存至临时文件,成功后重命名而已。拿FILESPY看看全明白了,如果这些都不想动手那没什么好说的了。
happycocol
驱动牛犊
驱动牛犊
  • 注册日期2008-10-22
  • 最后登录2012-03-04
  • 粉丝1
  • 关注1
  • 积分22分
  • 威望172点
  • 贡献值1点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2009-01-26 16:58
谢谢各位大侠了哈
努力!!!努力!!!
游客

返回顶部