所以我从0000开始经过表格。我看到了006E,它将我发送到0060行E列。我看到00A2将我发送到00A0行第2行。我看到00EA将我发送到00E0行A行。我看到FFF0表示集群的结束。这是错误的,因为表格中还有更多的集群吗?我是不是真的错了?
答案 0 :(得分:1)
我发现00AA(以FFFF块结束),递归(从00B4开始)和错误的地址0049意外结束文件。
更多的文件块包含交叉数据。也许这是某种FAT特征,然后我不能像异常一样暗示这一点
答案 1 :(得分:1)
这并不是一个特别现实的FAT表现。在现实世界中,每个条目长度为两个字节的事实意味着您需要将簇数乘以2以找到它们在表中的实际位置;这显然不可行,因为大约一半的群集链接将指向FAT之外,如图所示。如果您应该将数字解释为位置偏移而不是实际的簇数,那么它们必须都是偶数 - 00DA处的奇数0049将无效。
如果不查看磁盘的目录,就无法真正评估FAT,无法知道每个文件的实际启动位置。 0062 0062不是文件的开头;请注意,0056处有0000的链接,00D2处有0056的链接,因此00D2可能是有效的文件开始。
指向FFFF未使用群集的链接确实是一个问题 - 我至少看到其中一个。指向同一群集的两个链接或形成循环的链接也值得一试。