macy
禁止发言
禁止发言
  • 注册日期2001-12-19
  • 最后登录2018-06-02
  • 粉丝0
  • 关注0
  • 积分6383分
  • 威望48270点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
  • 社区居民
阅读:1341回复:8

想保护文件夹,如何做?

楼主#
更多 发布于:2002-02-20 17:04
用户被禁言,该主题自动屏蔽!
Supermi
驱动牛犊
驱动牛犊
  • 注册日期2001-10-20
  • 最后登录2014-06-13
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-02-23 01:44
你只要卡死几个关键的IRP:IRP_MJ_DIRECTORY_CONTROL,IRP_MJ_WRITE,IRP_MJ_READ,IRP_MJ_CREATE,就足够了,直接在你的filter device中的Dispatch程例中进行截获. 并对于IRP_MJ_WRITE,IRP_MJ_READ,调用IoCompleteRequest来返回,但对于IRP_MJ_DIRECTORY_CONTROL就的先用IoSetCompletionRoutine设置你的完成函数(这里起名为IoCompleteRoutine),下传这个IRP,然后在你的IoCompleteRoutine()程例中截获返回的IRP,修改返回的Buffer,就OK。当然这些只是一些提示,具体的问题,还很多.到时候我们在探讨嘛。
    希望对你有帮助。
    另外,我想借此机会,希望 版主(\"Lu\"大侠) 以及专家级的大师不要吝啬你们的专业技术,能真正给我们一些专业的回答,我看这个网站是相当好的,但这上面对提问人真正有用的提示太少,如果是要诚心诚意的帮人,就不要打擦边球(不要说一些对别人回答又没作用有伤人自尊的话),更不要为了骗分就去\"凑字数\",最好是有技术就说技术。国外对这些技术的交流是十分切中要害的,这要对于大家的提高都很大。不要忘了,我们大家都有一个目的,就是提高民族软件的实力呀。
robin12
驱动牛犊
驱动牛犊
  • 注册日期2002-02-11
  • 最后登录2014-03-27
  • 粉丝0
  • 关注0
  • 积分11分
  • 威望63点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-02-23 10:01
supermi is right!! but
对于IRP_MJ_WRITE,IRP_MJ_READ进行截获有必要
Supermi
驱动牛犊
驱动牛犊
  • 注册日期2001-10-20
  • 最后登录2014-06-13
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-02-23 17:29
你说得对,但如果有人直接调用该文件夹中的文件,就不容易防住了
。也就是说,如果不卡住读写,要是有人已经知道,或通过试探也可以取得文件内容 :)
guoj
驱动小牛
驱动小牛
  • 注册日期2001-04-02
  • 最后登录2014-02-14
  • 粉丝3
  • 关注0
  • 积分15分
  • 威望55点
  • 贡献值0点
  • 好评度19点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-02-26 14:40
我想用 文件钩子 应该能解决此问题吧。我这有从网上搜的FileMon的源代码,其中用到了此钩子,知对你是否有用.下载地址是http://www.sysinternals.com.你可以去看看。
guoj
kavas
驱动牛犊
驱动牛犊
  • 注册日期2001-12-28
  • 最后登录2004-03-17
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2002-03-06 15:23
我看过 Filemon,它也是利用文件过滤驱动程序来实现文件和文件夹等访问监控的。我觉得使用拦截IRP包的技术,应该较好!!!
驱动,驱动,一驱就动。 我怎么就是驱不动它呢? 窝火!!
Tom_lyd
驱动大牛
驱动大牛
  • 注册日期2001-09-02
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2002-03-06 17:28
我现在也正在做相关的项目。我的想法是做一个Filter Driver,挂接在FSD的上方,并拦拱IRP_MJ_WRITE,IRP_MJ_READ等和文件I/O相关的IRP。我目前参考的是FileMon的源代码。以后还望能多多交流。不过我好象在DDK中没有找到楼上的兄弟说的IRP_MJ_DIRECTORY_CONTROL?
Tom_lyd
kavas
驱动牛犊
驱动牛犊
  • 注册日期2001-12-28
  • 最后登录2004-03-17
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2002-03-12 22:09
#define IRP_MJ_DIRECTORY_CONTROL        0x0c

这是 win200/DDK.H中的定义。

[编辑 -  3/12/02 作者: kavas]
驱动,驱动,一驱就动。 我怎么就是驱不动它呢? 窝火!!
playguy
驱动牛犊
驱动牛犊
  • 注册日期2002-04-04
  • 最后登录2005-08-24
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2003-02-24 10:32
可以去这里看一看,有完整的解决方案,绝对实用:
http://www.aslike.net
游客

返回顶部