Информация MFT для альтернативных имен потоков данных

622
user3226732

Я работал над получением информации о файле из MFT. Я вижу, что запись MFT имеет информацию относительно стандартной информации, имен файлов, данных и некоторых других атрибутов. Я попытался проанализировать запись MFT, чтобы получить все детали, которые она содержит. Я могу получить имя файла, данные (включая данные для альтернативных потоков) для всех файлов, но мне не удалось получить имена файлов для названных альтернативных потоков данных. Для тестирования я создал файл с двумя именованными альтернативными потоками, содержащими данные. Когда я проанализировал MFT-запись, соответствующую файлу, я не смог определить альтернативные имена потоков. Означает ли это, что имена альтернативных потоков не хранятся в MFT? Тогда как некоторые утилиты, такие как stream.exe, идентифицируют имена альтернативных потоков?

1
Я думаю, что этот вопрос лучше подходит для [Переполнение стека] (http://stackoverflow.com/). Цитата MSDN: «Поток данных по умолчанию не имеет имени. Потоки данных можно перечислить с помощью [FindFirstStreamW] (http://msdn.microsoft.com/en-us/library/windows/desktop/aa364424 (v = vs.85 ) .aspx) и функции [FindNextStreamW] (http://msdn.microsoft.com/en-us/library/windows/desktop/aa364430 (v = vs.85) .aspx). " ([Источник] (http://msdn.microsoft.com/en-us/library/windows/desktop/aa364404%28v=vs.85%29.aspx)) and31415 9 лет назад 0
@ and31415d Эти функции нельзя применять к файлам образов дисков без монтирования. Эти функции не соответствуют моим потребностям, и поэтому я пытаюсь использовать MFT. user3226732 9 лет назад 0
Если вы имели в виду эту [Streams] (http://technet.microsoft.com/en-us/sysinternals/bb897440.aspx) утилиту, ее [более старая версия] (http://web.archive.org/web/ 20051124041028 / http: //www.sysinternals.com/Utilities/Streams.html) включал исходный код. Программа не запрашивает MFT напрямую и вызывает [NtQueryInformationFile] (http://msdn.microsoft.com/en-us/library/windows/hardware/ff556646%28v=vs.85%29.aspx) функция вместо Возможно, вы захотите взглянуть на существующие проекты, такие как [analysisMFT] (https://github.com/dkovar/analyzeMFT) и [NTFS-3G] (http://bit.ly/1ofARi3). and31415 9 лет назад 0

1 ответ на вопрос

0
Erik Iker

Нет атрибутов имени файла, связанных с альтернативным потоком данных. Вот почему альтернативный поток данных также иногда называют именованным потоком данных. Для обычно ожидаемого единственного потока данных для файла, такого как ваш текстовый документ, вам не нужно имя для потока, потому что другие атрибуты $ MFT содержат эти детали. Поскольку альтернативный поток данных «соединяется» с этим файлом как второй поток данных, он не может иметь эти атрибуты, поэтому имя потока является первым разделом этого потока.

http://blogs.technet.com/b/askcore/archive/2013/03/24/alternate-data-streams-in-ntfs.aspx

Похожие вопросы