Восстановление данных. Практическое руководство
Шрифт:
Атрибут списка атрибутов (прямо каламбур) используется в тех случаях, когда все атрибуты файла не умещаются в базовой файловой записи, и файловая система вынуждена располагать их в расширенных файловых записях. Индексы расширенных файловых записей содержатся в атрибуте списка атрибутов, помещаемом в базовую файловую запись.
При каких обстоятельствах атрибуты не умещаются в одной файловой записи? Это может произойти в следующих случаях:
□ файл содержит много альтернативных имен или жестких ссылок;
□ файл сильно фрагментирован;
□ файл содержит очень сложный дескриптор безопасности;
□ файл имеет очень много потоков данных (т.е. атрибутов типа
Структура атрибута списка атрибутов приведена в табл. 6.8.
Таблица 6.8. Структура атрибута
Смещение | Размер | Описание |
---|---|---|
– - | Стандартный атрибутный заголовок (standard attribute header) | |
00h | 4 | Тип (type)
|
04h | 2 | Длина записи (record length) |
06h | 1 | Длина имени (name length), или ноль, если нет, условно — N |
07h | 1 | Смещение имени (offset to name), или ноль если нет |
08h | 8 | Начальный виртуальный кластер (starting VCN) |
10h | 8 | Ссылка на базовую/расширенную файловую запись |
18h | 2 | Идентификатор атрибута (attribute ID) |
1Ah | 2 N | Если N>0 , то имя в формате UNICODE |
Атрибут полного имени файла хранит имя файла в соответствующем пространстве имен. Таких атрибутов у файла может быть и несколько (например, имя Win32 и имя MS-DOS). Здесь же хранятся и жесткие ссылки (hard link), если они есть.
Структура атрибута полного имени приведена в табл. 6.9.
Таблица 6.9. Структура атрибута
Смещение | Размер | Описание |
---|---|---|
– - | Стандартный атрибутный заголовок (standard attribute header) | |
00h | 8 | Ссылка (file reference) на материнский каталог |
08h | 8 | C — время создания (creation) файла |
10h | 8 | A — время последнего изменения (altered) файла |
18h | 8 | M — время последнего изменения файловой записи (MFT changed) |
20h | 8 | R — время последнего чтения (read) файла |
28h | 8 | Выделенный размер (allocated size) файла |
30h | 8 | Реальный размер (real size) файла |
38h | 4 | Флаг (см. табл. 6.7) |
3Ch | 4 | Используется HPFS |
40h | 1 | Длина имени в символах — L |
41h | 1 | Пространство имен файла (filename namespace) |
42h | 2L | Имя файла в формате UNICODE без завершающего нуля |