Написать парсер файловой системы NTFS. Мне нужно последовательно читать каталоги и отображать информацию о содержимом выбранного каталога, то есть нужно только прочитать запись MFT с информацией о файлах и подкаталогах. Вопрос: как это организовать? Есть ли в записи MFT список ссылок на другие файлы и подкаталоги записей MFT?
Организация каталогов в NTFS
Ответы (1)
Некоторые файловые записи в MFT являются каталогами, они описаны здесь. Записи для каталогов имеют специальный атрибут, который содержит индексы других файлов в MFT. По замыслу список индексов хранится в специальной древовидной структуре, называемой B*-деревом (основанной на структуре данных дерева B+). Атрибут INDEX_ROOT — это корневой узел дерева. Дерево можно проанализировать с помощью атрибута INDEX_ALLOCATION записи файла, который содержит остальные узлы. Записи индекса, найденные в обоих этих атрибутах, указывают на записи файлов в MFT, которые представляют файлы, содержащиеся в этом каталоге.
person
Sebastian-Laurenţiu Plesciuc
schedule
03.03.2014