Организация каталогов в NTFS

Написать парсер файловой системы NTFS. Мне нужно последовательно читать каталоги и отображать информацию о содержимом выбранного каталога, то есть нужно только прочитать запись MFT с информацией о файлах и подкаталогах. Вопрос: как это организовать? Есть ли в записи MFT список ссылок на другие файлы и подкаталоги записей MFT?


person Павел Воевода    schedule 21.02.2014    source источник


Ответы (1)


Некоторые файловые записи в MFT являются каталогами, они описаны здесь. Записи для каталогов имеют специальный атрибут, который содержит индексы других файлов в MFT. По замыслу список индексов хранится в специальной древовидной структуре, называемой B*-деревом (основанной на структуре данных дерева B+). Атрибут INDEX_ROOT — это корневой узел дерева. Дерево можно проанализировать с помощью атрибута INDEX_ALLOCATION записи файла, который содержит остальные узлы. Записи индекса, найденные в обоих этих атрибутах, указывают на записи файлов в MFT, которые представляют файлы, содержащиеся в этом каталоге.

person Sebastian-Laurenţiu Plesciuc    schedule 03.03.2014