2016-11-16 149 views
0

我知道NTFS支持ADS,這意味着多個數據流,而每個數據流都有不同的名稱。但是,我目前正在嘗試解析我的音量,並且特定的MFT記錄擁有3 未命名的,唯一的(大小和數據運行方式不同)數據流。 該文件填充了256mb的「〜」(單個字符),並且所有的數據流都在相關的MFT記錄中找到,這些記錄收集了屬性列表屬性。在一個正常的「流程」中,我將解析所需流的數據運行,並從所需的偏移量中讀取所需的長度。我應該如何處理這種情況? (==讀取文件內容)

回答

1

每個備用數據流(ADS)應該有一個唯一的名稱。這是正確的,你有幾個屬性類型$DATA,但它應該有不同的名稱。例如。如果某個文件multiple.txt具有ADS名稱overhere它應該具有以下$DATA屬性。從here樣品:

Type: $DATA (128-1) Name: $Data  Resident size: 15 
Type: $DATA (128-5) Name: overhere Resident size: 26 

的128-1全稱是multiple.txt和128-5的全名是multiple.txt:overhere

其他不知名的屬性通常是:

Type: $STANDARD_INFORMATION (16-0) Name: N/A Resident size: 72 
Type: $FILE_NAME (48-2)    Name: N/A Resident size: 90 
Type: $OBJECT_ID (64-3)    Name: N/A Resident size: 16 

嘗試istat Sleuthkit工具爲您的MFT記錄:

istat -f ntfs <SourceName> <ID> 

隨着other tools from collection你將能夠複製這些數據流的內容。

這是一個開源代碼,因此您可以查看NTFS實現的詳細信息,並調查從$DATA檢索的數據的方式。

相關問題