sxbyl
驱动牛犊
驱动牛犊
  • 注册日期2001-04-29
  • 最后登录2003-01-13
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:850回复:2

关于98下隐藏文件的一个问题,请大家指点一下

楼主#
更多 发布于:2002-12-23 11:05
我要实现在98下隐藏文件,参考了FileMon
我的想法是这样,当hook到IFSFN_SEARCH、IFSFN_FINDOPEN或IFSFN_FINDNEXT操作时,比较被操作的文件名和被隐藏的文件名,如果是同一个文件,则hook函数不返回本次操作结果,而是返回再次调用FindNext的结果。
但我在具体实现时碰到一些问题,就是IFSFN_FINDNEXT返回的那个_WIN32_FIND_DATA结构中没有路径信息,我没法在这里判断搜索到的文件是不是被隐藏的文件。用FileMon的方法,在FindOpen时将路径和句柄关联起来,放到哈希表里,FindNext是去查询哈希表,也只能解决一部分问题,如果钩子函数是在文件搜索期间被挂接的,那么哈希表里就不会有Find句柄的信息。我看FileMon的FilemonGetFullPath在哈希表里查不到时,调用了下一层驱动来获取完整路径信息,我照猫画虎,想使用同样的方法,但我的PrevHook总给我返回8号错误,说内存不足,这是怎么搞的?我的98是在虚拟机下执行的,开了128M内存,不可能真的内存不足的。代码基本和FileMon的一样,但总是返回8号错误,郁闷!我虽然怀疑是不是哪个地方的参数没有初始化(比如我提供的缓冲区大小),但FileMon也没作任何初始化啊,奇怪~  
还有,我发现.ifs_hndl->hf_misc->hm_func那八个回调函数地址在IFSFN_FINDOPEN 时是无效的,这是怎么回事?我感觉不太应该啊。

我第一次接触驱动编程,很菜,大家一定要帮忙啊!谢谢了!
sxbyl
驱动牛犊
驱动牛犊
  • 注册日期2001-04-29
  • 最后登录2003-01-13
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-12-24 16:12
……
hnsyz
驱动牛犊
驱动牛犊
  • 注册日期2001-12-31
  • 最后登录2010-04-20
  • 粉丝1
  • 关注0
  • 积分108分
  • 威望259点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-12-24 22:25
学习~~~!
学习,交流
游客

返回顶部