2

我正在为 NTFS 文件系统编写解析器。我有一个关于 INDX 记录的问题。我已经浏览了 stackoverflow 问题“NTFS 硬盘上 $I30 的 INDX 条目无效”以及其中提供的链接。请参考下图。

索引记录

在解析INDX记录时,当我们遇到字节序列 00 00 00 00 00 00 00 00 10 00 00 00 02 00 00 00 文档时,表明应该将其视为索引条目列表的最后一个条目。但是,正如您所见,在此之后还有更多条目,Windows 资源管理器会显示所有条目。我无法在 ;last 条目之后继续解析,因为后续条目的结构与 INDX 条目记录的规定结构不匹配,如下所示。请建议我是否在这里遗漏任何内容以及如何解决。

索引条目结构

4

1 回答 1

0

偏移量中的所有字节0x960都不相关;它们是从 B 树的先前状态遗留下来的,NTFS 不会浪费时间将其归零。所有文件仍然显示在目录列表中这一事实仅仅意味着它们位于不同的索引块中,而不是这个。

显然,从 offset 开始的字节0x960不能是索引条目。 0x01d3f97e8238ad31不是有效的文件参考;文件名不在0x52条目中的偏移量;等等

您会看到曾经存在的条目片段。

于 2018-08-08T02:34:44.560 回答