首页
社区
课程
招聘
[求助]Pro rootkit 第一章中的/??/路径问题
发表于: 2013-12-9 16:24 4762

[求助]Pro rootkit 第一章中的/??/路径问题

2013-12-9 16:24
4762
请问各位大侠:Pro rootkit中的第一个例子中,ghost在读取配置文件config32的时候,路径的前缀为什么是\??\
这个前缀到底什么作用?我测试了,如果直接写绝对路径C:\config32,则ZwOpenFile打开失败。
在SCMLoader创建的服务里,ImagePath的路径前缀也是\??\,在源代码里没有写这个前缀名,但是创建的服务自动加了这个前缀,而且也不能修改,否则找不到文件。

那么这个\??\到底是什么情况??

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (9)
雪    币: 2664
活跃值: (3401)
能力值: ( LV13,RANK:1760 )
在线值:
发帖
回帖
粉丝
2
符号链接OK,微软是这么规定滴
2013-12-9 16:26
0
雪    币: 7
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
能解释的具体点吗?是不是内核里打开文件都需要加这个\??\前缀那?
2013-12-9 16:31
0
雪    币: 2664
活跃值: (3401)
能力值: ( LV13,RANK:1760 )
在线值:
发帖
回帖
粉丝
4
你看看MSDN中关于CreateFile第一个参数的解释或者参看windows驱动编程开发详解中关于这部分的说明就明白了...
2013-12-9 16:34
0
雪    币: 7
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
我在那看到的是\\?\,不是\??\,而且我也测试了\\?\,这个前缀可以打开系统里的文件,直接当有效路径使用就可以,但是\??\不行。而且在注册表里修改ImagePath的前缀为\\?\,是找不到文件的。

所以我不确定你说的\\?\ 是我说的\??\吗   ??????
2013-12-9 16:38
0
雪    币: 2664
活跃值: (3401)
能力值: ( LV13,RANK:1760 )
在线值:
发帖
回帖
粉丝
6
\??\是显示效果,你操作的时候用\\?\
2013-12-9 16:42
0
雪    币: 19
活跃值: (25)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
7
SymbolLink结构,描述bpRootDirectory中的磁盘对象类型链接,每个对象类型以下挂载的有名对象就用\??\访问。
记得DOS下好像是...?\
2013-12-9 17:03
0
雪    币: 2664
活跃值: (3401)
能力值: ( LV13,RANK:1760 )
在线值:
发帖
回帖
粉丝
8
楼主的头像让我(ˇˍˇ) 想~换德玛的头像
2013-12-9 17:11
0
雪    币: 7
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
说的不错,多谢!

在Windows执行体中,通过文件对象来代表文件,该文件对象是一种由对象管理器管理的执行体对象。例如:目录也是由文件对象代表的。

内核组件通过对象名来引用文件,即在文件的全路径前面加\DosDevices。(在Windows 2000及后续操作系统中,\??等同于\DosDevices)。例如,文件C:\WINDOWS\example.txt的对象名为\DosDevices\C:\WINDOWS\example.txt。你需要用对象名来打开文件以获取句柄。

原文地址:Windows内核驱动中操作文件
2013-12-9 17:28
0
雪    币: 14
活跃值: (83)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
Mark!
2013-12-9 19:48
0
游客
登录 | 注册 方可回帖
返回
//