Восстановление информации своими руками


Листинг 1 структура файловой записи - часть 2


16-разрядное поле флагов, находящееся по смещению 16h байт от начала сектора, в подавляющем большинстве случаев принимает одно из трех следующих значений: 00h – данная файловая запись не используется или ассоциированный с ней файл/каталог удален, 01h – файловая запись используется и описывает файл, 02h – файловая запись используется и описывает каталог.

64-разрядное поле, находящееся по смещению 20h байт от начала сектора содержит индекс базовой файловой записи. Для первой файловой записи это поле всегда равно нулю, а для всех последующих, расширенных (extra) записей – индексу первой файловой записи. Расширенные файловые записи могут находится в любых частях MFT, не обязательно рядом с основной записью. А коль скоро так, необходим какой-то механизм, обеспечивающий быстрый поиск расширенных файловых записей, принадлежащих данному файлу (просматривать весь MFT целиком не предлагать). И этот механизм основан на ведении списков атрибутов $ATTRIBUTE_LIST. Список атрибутов представляет собой специальный атрибут, добавляемый к первой файловой записи и содержащий индексы расширенных записей. Формат списка атрибутов приведен в разделе "типы атрибутов".

Остальные поля заголовка файловой записи не столь важны и поэтому здесь не рассматриваются. При необходимости обращайтесь к документации "Linux-NTFS Project".

 

смещение

размер

ОС

описание

00h

4

любая

сигнатура (magic number) 'FILE'

04h

2

любая

смещение номера последовательности обновления (update sequence number)

06h

2

любая

размер в словах номера последовательности обновления и массива обновления (Update Sequence Number & Array), условно (S)

08h

8

любая

номер последовательности файла транзакций ($LogFile Sequence Number или сокращенно LSN)

10h

2

любая

номер последовательности (sequence number)

12h

2

любая

счетчик жестких ссылок (hard link)

14h

2

любая

смещение первого атрибута (attribute)

16h

2

любая

флаги (flags)

значение

описание

0x00

файловая запись не используется

0x01

файловая запись используется и описывает файл (file)

0x02

файловая запись используется и описывает каталог (directory)

0x04

только Бил Гейтс знает

0x08

только Бил Гейтс знает

18h

4

любая

реальный размер (real size) файловой записи

1Ch

4

любая

выделенный размер (allocated size) файловой записи

20h

8

любая

ссылка (file reference) на базовую файловую запись (base FILE record) или ноль, если данная файловая запись базовая

28h

2

любая

идентификатор следующего атрибута (next attribute ID)

2Ah

2

XP

для выравнивания

2Ch

4

XP

индекс данной файловой записи (number of this MFT record)

 

2

любая

номер последовательности обновления (update sequence number)

 

2S-2

любая

массив последовательности обновления (update sequence array)




Начало  Назад  Вперед