lghtly
驱动牛犊
驱动牛犊
  • 注册日期2004-10-14
  • 最后登录2005-11-29
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1937回复:5

如何真正完全阻止对一个文件的修改,急!!!!谢谢!!!

楼主#
更多 发布于:2005-06-09 11:29
当我拦截了一个写文件的IRP包时,如何阻止对一个文件的修改?要做到既阻止写操作又不破坏活动
原来的文件,该如何改造IRP包?如何知道修改的内容?
有没有其它方法可以对文件进行保护?最好能详细些


我用FileMon进行监控, 发现不同应用程序修改文件的方式不同,如用Word、NotePad、写字板三个程序保存对同一个文件a.txt的修改时,它们采取的方式都不相同,那么修改硬盘上的文件的方式都有那些?根据我的实验,控制FastIoWrite和Write好象还是不行的

如何阻止对一个文件的修改,急!!!!谢谢!!!
qiangguo64
驱动牛犊
驱动牛犊
  • 注册日期2005-01-12
  • 最后登录2009-08-28
  • 粉丝0
  • 关注0
  • 积分144分
  • 威望15点
  • 贡献值1点
  • 好评度14点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2005-06-09 13:05
FileMapping

要么对以可写方式打开被保护的文件一律拒绝
zhangshengyu
驱动老牛
驱动老牛
  • 注册日期2003-10-03
  • 最后登录2016-07-26
  • 粉丝0
  • 关注0
  • 积分792分
  • 威望696点
  • 贡献值41点
  • 好评度499点
  • 原创分0分
  • 专家分0分
  • 社区居民
板凳#
发布于:2005-06-09 13:31
当我拦截了一个写文件的IRP包时,如何阻止对一个文件的修改?要做到既阻止写操作又不破坏活动
原来的文件,该如何改造IRP包?如何知道修改的内容?
有没有其它方法可以对文件进行保护?最好能详细些


我用FileMon进行监控, 发现不同应用程序修改文件的方式不同,如用Word、NotePad、写字板三个程序保存对同一个文件a.txt的修改时,它们采取的方式都不相同,那么修改硬盘上的文件的方式都有那些?根据我的实验,控制FastIoWrite和Write好象还是不行的

如何阻止对一个文件的修改,急!!!!谢谢!!!

既然是文件,那就把irp_mj_write 和irp_mj_set_information两条禁止了就可以了。
---内核开发合作或提供基础技术服务QQ:22863668 ---
fslife
驱动大牛
驱动大牛
  • 注册日期2004-06-07
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望49点
  • 贡献值0点
  • 好评度20点
  • 原创分0分
  • 专家分0分
地板#
发布于:2005-06-09 15:34
再过滤一下IRP_MJ_CREATE,根据Disposition来处理:
Disposition Information:
• FILE_SUPERSEDE
• FILE_OPEN
• FILE_CREATE
• FILE_OPEN_IF
• FILE_OVERWRITE
• FILE_OVERWRITE_IF
• FILE_MAXIMUM_DISPOSITION

如果不允许修改,那只允许FILE_OPEN,其它的都丢弃,具体,参考以下IrpMan.pdf里的介绍。
在交流中学习。。。
lghtly
驱动牛犊
驱动牛犊
  • 注册日期2004-10-14
  • 最后登录2005-11-29
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2005-06-12 20:46
谢谢各位的帮助,
bnufr
驱动牛犊
驱动牛犊
  • 注册日期2007-01-26
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分342分
  • 威望56点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2007-04-17 10:40
谢谢各位~!
游客

返回顶部