紫水晶编程技术论坛 - 努力打造成全国最好的编程论坛

 找回密码
 加入我们

QQ登录

只需一步,快速开始

搜索
查看: 8665|回复: 22

[讨论]ObQueryNameString在NT5系统上与众不同的套路

  [复制链接]

851

主题

3477

帖子

2

精华

管理员

此生无悔入华夏,  长居日耳曼尼亚。  

Rank: 125Rank: 125Rank: 125Rank: 125Rank: 125

积分
37093
发表于 2017-7-15 12:29:15 | 显示全部楼层 |阅读模式
大家都知道,ObQueryNameString这个函数非常糟糕,动辄返回失败,甚至导致蓝屏。在今年年初,我还发过一个帖子:《在XP上使用ObQueryNameString查询文件对象发现的大坑》

先来一段常见的查询对象的代码,在VISTA之后系统可以成功,但是在XP/03上失败:
  1. ULONG length = 0;
  2. POBJECT_NAME_INFORMATION buffer = NULL;
  3. NTSTATUS status = ObQueryNameString(pQueryObject,NULL,length,&length);
  4. if(length)
  5. {
  6.         buffer = ExAllocatePool(PagedPool, length);
  7.         if(buffer)
  8.         {
  9.                 RtlZeroMemory(buffer,length);
  10.                 status = ObQueryNameString(pQueryObject,buffer,length,&length);
  11.                 if(NT_SUCCESS(status))
  12.                         DbgPrint("%wZ\n",(PUNICODE_STRING)buffer);
  13.                 else
  14.                         DbgPrint("ObQueryNameString-failed: 0x%x\n", status);
  15.                 ExFreePool(buffer);
  16.         }
  17. }
  18. else
  19. {
  20.         DbgPrint("ObQueryNameString-return-zero-length: 0x%x\n", status);
  21. }
复制代码

这是因为,在NT5系统上使用这个函数,需要与众不同的套路。
游客,如果您要查看本帖隐藏内容请回复

76

主题

267

帖子

9

精华

贵宾会员

Rank: 2Rank: 2

积分
15599
发表于 2017-7-15 12:34:36 | 显示全部楼层
沙发

0

主题

111

帖子

0

精华

银牌会员

Rank: 3Rank: 3Rank: 3

积分
340
发表于 2017-7-15 12:42:56 | 显示全部楼层
伪前排,让我来看看这个套路是什么,谢谢楼主分享

1

主题

36

帖子

0

精华

铜牌会员

Rank: 2Rank: 2

积分
274
发表于 2017-7-15 12:43:23 来自手机 | 显示全部楼层
板凳?

1

主题

81

帖子

1

精华

铂金会员

Rank: 5

积分
1818
发表于 2017-7-15 12:49:57 | 显示全部楼层
学习一下.

4

主题

149

帖子

0

精华

金牌会员

Rank: 4Rank: 4Rank: 4Rank: 4

积分
1189
发表于 2017-7-15 12:51:17 | 显示全部楼层
自古套路得人心

2

主题

31

帖子

1

精华

金牌会员

Rank: 4Rank: 4Rank: 4Rank: 4

积分
1244
发表于 2017-7-15 12:54:28 | 显示全部楼层
不用这个函数很多年了

1

主题

57

帖子

1

精华

贵宾会员

Rank: 2Rank: 2

积分
2075
发表于 2017-7-15 13:10:52 | 显示全部楼层
看看套路

3

主题

78

帖子

0

精华

初来乍到

Rank: 1

积分
440
发表于 2017-7-15 14:06:19 | 显示全部楼层
似乎跟缓冲区长度有关?

0

主题

21

帖子

0

精华

铜牌会员

Rank: 2Rank: 2

积分
48
发表于 2017-7-16 02:27:28 | 显示全部楼层
谢谢楼主分享
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

手机版|Archiver|紫水晶工作室 ( 粤ICP备05020336号 )

GMT+8, 2024-3-29 00:19 , Processed in 0.027533 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表