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