血乌鸦 发表于 2017-10-24 11:49:58

NTFS-索引项中偏移0x0A~0x0B代表的含义

RT,在网上和数据恢复深度解析中出现两种说法,一是代表文件名的偏移;二是代表文件名属性体的大小。如果按照一的说法,偏移0x50为文件名长度,0x51为命名空间,那文件名的偏移不是固定在0x52了吗?为什么还要专门标注呢?而且在实例中出现不符合说法一的情况,这里的偏移4E并不是文件名的起始位置。还望各大神不吝赐教(1:

bsmao 发表于 2017-10-24 14:36:02

索引项中偏移0x0A~0x0B代表的含义是:文件名属性体的实际大小。以你的图为例,如下图:



图中,偏移0x0A~0x0B的文件名属性大小是4E00H(小头序),也就是78个字节。实际中从文件名属性起始位置到结束位置的长度也是78字节。

血乌鸦 发表于 2017-10-26 13:41:20

bsmao 发表于 2017-10-24 14:36
索引项中偏移0x0A~0x0B代表的含义是:文件名属性体的实际大小。以你的图为例,如下图:




多谢大神

血乌鸦 发表于 2017-10-26 13:53:08

bsmao 发表于 2017-10-24 14:36
索引项中偏移0x0A~0x0B代表的含义是:文件名属性体的实际大小。以你的图为例,如下图:




好不容易逮到一个大神,还有一个问题也是关于NTFS索引相关的在NTFS的索引缓冲区的结束是否一定有一个长度为10的空索引项作为结尾?在索引项的0C~0D处为索引标志,值为1时表示包含子节点,为2时表示这是最后一个项。但是这个值如果为3是什么含义呢?在一个镜像里看到在一个索引缓冲区里结束位置是一个长度为18的索引项,索引标志为03,父目录参考号的位置为04,其余都为0.这个索引项的意义是什么?

bsmao 发表于 2017-10-26 19:27:18

血乌鸦 发表于 2017-10-26 13:53
好不容易逮到一个大神,还有一个问题也是关于NTFS索引相关的在NTFS的索引缓冲区的结束是否一定有一个长度 ...

首先说明我不是什么大神。再回答你的问题:

1.NTFS的索引缓冲区是以一个长度为10H(这里要加上H,说明是16进制数),并且它的偏移0x0C - 0x0D的值包含02H标志的空索引项作为结尾的(我个人理解)。

2.NTFS的索引项0x0C - 0x0D值如果为3是什么含义呢?其实这就是个窗户纸,一捅就破:01H + 02H = 03H ,呵呵,说明它既有 01H 时的属性,又有 02H 时的属性。

bsmao 发表于 2017-10-26 19:27:39

本帖最后由 bsmao 于 2017-10-26 20:53 编辑

发重复了,呵呵

华光倾城 发表于 2017-10-26 22:19:28

十分感谢,受教了。

血乌鸦 发表于 2017-10-27 10:06:53

bsmao 发表于 2017-10-26 19:27
发重复了,呵呵

谢啦
页: [1]
查看完整版本: NTFS-索引项中偏移0x0A~0x0B代表的含义