chenhao1988
驱动牛犊
驱动牛犊
  • 注册日期2009-05-08
  • 最后登录2010-08-17
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望71点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1777回复:5

Hook ZwOpenFile和ZwCreateFile的问题

楼主#
更多 发布于:2009-05-17 20:44
我写了段代码挂钩了ZwOpenFile和ZwCreateFile,来实现控制对文件的访问,其中ZwOpenFile中就加了一个if语句如下:
if(ObjectAttributes->ObjectName->Buffer&&wcsstr(ObjectAttributes->ObjectName->Buffer, L"1111.txt" ))
     {
      DbgPrint("ZwOpenFile ObjectAttributes->ObjectName=%ws",ObjectAttributes->ObjectName->Buffer);
      return STATUS_UNSUCCESSFUL;
     }
//调用RealZwOpenFile
在ZwCreateFile中也只有一个if语句:
if(ObjectAttributes->ObjectName->Buffer&&wcsstr(ObjectAttributes->ObjectName->Buffer, L"1111.txt" ))
    {
   DbgPrint("ZwCreateFile ACCESS_DENIED ObjectAttributes->ObjectName=%ws",ObjectAttributes->ObjectName->Buffer);
   return STATUS_UNSUCCESSFUL;
  }
//调用RealZwCreateFile
调试的时候双击打开一个1111.txt文件,发现有三次调用,分别是调用ZwOpenFile,ZwOpenFile,ZwCreateFile,我不明白是我的代码哪里写错了,还是Windows本来的调用顺序就是这样的?希望牛人帮帮我,谢谢!另外我发现在recent文件夹中多了1111.txt(2).lnk,1111.txt(3).lnk,为什么?
chenhao1988
驱动牛犊
驱动牛犊
  • 注册日期2009-05-08
  • 最后登录2010-08-17
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望71点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2009-05-18 16:30
牛人呢,帮小弟解决一下,非常感谢!!!!!!
emptyhands
驱动牛犊
驱动牛犊
  • 注册日期2009-03-19
  • 最后登录2009-06-11
  • 粉丝0
  • 关注0
  • 积分12分
  • 威望121点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2009-05-19 14:16
等着牛人来解惑。呵呵
chenhao1988
驱动牛犊
驱动牛犊
  • 注册日期2009-05-08
  • 最后登录2010-08-17
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望71点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2009-05-19 17:17
老牛啊,你们在哪???这个问题没有解决我的毕设就玩完了。。。
chenhao1988
驱动牛犊
驱动牛犊
  • 注册日期2009-05-08
  • 最后登录2010-08-17
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望71点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2009-05-20 14:35
等了这么多天了,难道真没人知道吗?又试着监控了一下系统调用,没有发现什么规律,迷惑中。。。
chenhao1988
驱动牛犊
驱动牛犊
  • 注册日期2009-05-08
  • 最后登录2010-08-17
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望71点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2009-05-23 08:44
没有人能帮助我吗?
游客

返回顶部