2016-11-16 3 views
0

Я знаю, что NTFS поддерживает ADS, что означает несколько потоков данных, в то время как каждое из них имеет другое имя. Тем не менее, я в настоящее время пытаюсь разобрать мой том, и конкретная запись MFT владеет 3 unnamed, уникальным (по размеру и количеству данных) потокам данных. Файл заполнен 256 МБ «~» (один символ), и все потоки данных были найдены в связанных записях 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.

Смежные вопросы