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

[复制链接]
  • TA的每日心情
    奋斗
    2017-11-13 10:56
  • 签到天数: 7 天

    [LV.3]八品县丞

    1

    主题

    10

    回帖

    17

    积分

    [INTOHARD]工兵

    Rank: 1

    积分
    17
    发表于 2017-10-24 11:49:58 | 显示全部楼层 |阅读模式
    RT,在网上和数据恢复深度解析中出现两种说法,一是代表文件名的偏移;二是代表文件名属性体的大小。如果按照一的说法,偏移0x50为文件名长度,0x51为命名空间,那文件名的偏移不是固定在0x52了吗?为什么还要专门标注呢?而且在实例中出现不符合说法一的情况,这里的偏移4E并不是文件名的起始位置。还望各大神不吝赐教(1:
    NTFS-索引项1.PNG
  • TA的每日心情
    开心
    2023-7-31 23:16
  • 签到天数: 3033 天

    [LV.Master]三朝元老

    378

    主题

    2783

    回帖

    1万

    积分

    [INTOHARD]旅长

    Rank: 9Rank: 9Rank: 9

    积分
    17191
    QQ
    发表于 2017-10-24 14:36:02 | 显示全部楼层
    索引项中偏移0x0A~0x0B代表的含义是:文件名属性体的实际大小。以你的图为例,如下图:

    114843pininbo2nciicci2.png

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

    使用道具 举报

  • TA的每日心情
    奋斗
    2017-11-13 10:56
  • 签到天数: 7 天

    [LV.3]八品县丞

    1

    主题

    10

    回帖

    17

    积分

    [INTOHARD]工兵

    Rank: 1

    积分
    17
     楼主| 发表于 2017-10-26 13:41:20 | 显示全部楼层
    bsmao 发表于 2017-10-24 14:36
    索引项中偏移0x0A~0x0B代表的含义是:文件名属性体的实际大小。以你的图为例,如下图:

    多谢大神
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2017-11-13 10:56
  • 签到天数: 7 天

    [LV.3]八品县丞

    1

    主题

    10

    回帖

    17

    积分

    [INTOHARD]工兵

    Rank: 1

    积分
    17
     楼主| 发表于 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.这个索引项的意义是什么?
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2023-7-31 23:16
  • 签到天数: 3033 天

    [LV.Master]三朝元老

    378

    主题

    2783

    回帖

    1万

    积分

    [INTOHARD]旅长

    Rank: 9Rank: 9Rank: 9

    积分
    17191
    QQ
    发表于 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 时的属性。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2023-7-31 23:16
  • 签到天数: 3033 天

    [LV.Master]三朝元老

    378

    主题

    2783

    回帖

    1万

    积分

    [INTOHARD]旅长

    Rank: 9Rank: 9Rank: 9

    积分
    17191
    QQ
    发表于 2017-10-26 19:27:39 | 显示全部楼层
    本帖最后由 bsmao 于 2017-10-26 20:53 编辑

    发重复了,呵呵

    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2019-2-23 17:28
  • 签到天数: 220 天

    [LV.7]四品道员

    4

    主题

    498

    回帖

    857

    积分

    [INTOHARD]连长

    Rank: 4

    积分
    857
    发表于 2017-10-26 22:19:28 | 显示全部楼层
    十分感谢,受教了。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2017-11-13 10:56
  • 签到天数: 7 天

    [LV.3]八品县丞

    1

    主题

    10

    回帖

    17

    积分

    [INTOHARD]工兵

    Rank: 1

    积分
    17
     楼主| 发表于 2017-10-27 10:06:53 | 显示全部楼层
    bsmao 发表于 2017-10-26 19:27
    发重复了,呵呵

    谢啦[s:44]
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

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