如何通过读取$ MFT文件记录来提取任何文件的大小?

时间:2015-05-13 13:23:14

标签: ntfs-mft

我需要通过读取该特定文件的MFT记录来获取文件大小。请告诉我我可以在光盘上找到文件大小和文件位置的偏移量。

1 个答案:

答案 0 :(得分:1)

无固定偏移量,MFT中的文件可以包含多个数据流(1个未命名和多个命名)。您需要在文件记录标题之后解析属性,直到您读取 DATA属性(属性类型 0x80 )。

文件的默认数据流,即打开文件时看到的内容来自未命名的数据流。其他应用程序可能使用文件中包含的命名数据流。

数据属性内容的大小是文件的实际大小。请记住,数据属性可以是常驻或非驻留。这意味着如果文件的内容只有几个字节并且它适合文件记录,那么它将是驻留的,内容将在属性头之后。否则,如果内容不适合文件记录,可以包含该文件的适当数量的集群,数据attrbiute将变为非驻留,并且一组数据运行条目将描述磁盘上的内容文件是。