2014-09-03 53 views
1

我一直致力於從MFT檢索文件信息。我看到MFT記錄有關於標準信息,文件名,數據和其他一些屬性的信息。我試着解析MFT記錄以獲取它包含的所有細節。我能夠獲取所有文件的文件名,數據(包括備用數據流的數據),但我無法獲取指定備用數據流的文件名。爲了測試目的,我創建了一個包含兩個包含數據的備用流的文件。當我解析對應於該文件的MFT記錄時,我無法識別備用流名稱。這是否意味着備用流名稱不存儲在MFT中?那麼一些實用程序如stream.exe如何識別替代流名稱?備用數據流名稱的MFT信息

回答

1

如果您自己解析屬性,則可以在其公共標題中找到屬性名稱的偏移量。如果我沒有弄錯(我發現它爲here),那麼在該屬性的偏移0x0A的頭部中有一個WORD值。偏移指向屬性的名稱。所述屬性首標大小 +的長度的屬性名稱 +的長度的數據的(數據運行如果沒有駐留,實際數據以其他方式)應當與存儲在公共報頭字段中的屬性長度(偏移0x04 )。

如果您使用的是Windows API,則可以使用文件FindFirstStreamW函數獲取它的流。它通常會返回一個包含流名稱的WIN32_FIND_STREAM_DATA結構。