Восстановление данных. Практическое руководство
Шрифт:
04h
08h
00h
09h
N
0Ah
18h
0Ch
00h
0001h
4000h
8000h
0Eh
10h
L
14h
2N+18h
16h
17h
00h
18h
UNICODE
2N+18h
Таблица 6.5. Структура нерезидентного атрибута
Смещение | Размер (байт) | Значение | Описание |
---|---|---|---|
00h | 4 | Тип атрибута (например, 0x20 , 0x80 ) | |
04h | 4 | Длина атрибута, включая этот заголовок | |
08h | 1 | 01h | Флаг нерезидентности (non-resident flag) |
09h | 1 | N | Длина имени атрибута (ноль, если атрибут безымянный) |
0Ah | 2 | 40h | Смещение имени (ноль, если атрибут безымянный) |
0Ch | 2 | Флаги | |
Значение | Описание | ||
0001h | Сжатый атрибут (compressed) | ||
4000h | Зашифрованный атрибут (encrypted) | ||
8000h | Разреженный атрибут (sparse) | ||
0Eh | 2 | Идентификатор атрибута (attribute ID) | |
10h | 8 | Начальный виртуальный кластер (starting VCN) | |
18h | 8 | Конечный виртуальный кластер (last VCN) | |
20h | 2 | 2N+40h | Смещение списка отрезков (data runs) |
22h | 2 | Размер блока сжатия (compression unit size), округленный до 4 байт в большую сторону | |
24h | 4 | 00h | Используется для выравнивания |
28h | 8 | Выделенный размер (allocated size), округленный до размера кластера | |
30h | 8 | Реальный размер (real size) | |
38h | 8 | Инициализированный размер потока (initialized data size of the stream) | |
40h | 2N | UNICODE | Имя атрибута (если есть) |
2N+40h | … | Список отрезков (data runs) |
Типы
NTFS поддерживает большее количество предопределенных типов атрибутов, перечисленных в табл. 6.6. Тип атрибута определяет его назначение и формат представления тела. Полное описание всех атрибутов заняло бы не одну главу, а целую книгу, поэтому здесь приводятся лишь наиболее "ходовые" из них, а за информацией об остальных обращайтесь к документации Linux-NTFS Project.
Таблица 6.6. Основные типы атрибутов
Значение | ОС | Условное обозначение | Описание |
---|---|---|---|
010h | Любая | $STANDARD_INFORMATION | Стандартная информация о файле (время, права доступа) |
020h | Любая | $ATTRIBUTE_LIST | Список атрибутов |
030h | Любая | $FILE_NAME | Полное имя файла |
040h | Windows NT | $VOLUME_VERSION | Версия тома |
040h | Windows 2000 | $OBJECT_ID | Глобально уникальный идентификатор (GUID) и прочие ID |
050h | Любая | $SECURITY_DESCRIPTOR | Дескриптор безопасности и списки прав доступа (ACL) |
060h | Любая | $VOLUME_NAME | Имя тома |
070h | Любая | $VOLUME_INFORMATION | Информация о томе |
080h | Любая | $DATA | Основные данные файла |
090h | Любая | $INDEX_ROOT | Корень индексов |
0A0h | Любая | $INDEX_ALLOCATION | Ветви (sub-nodes) индекса |
0B0h | Любая | $BITMAP | Карта свободного пространства |
0C0h | Windows NT | $SYMBOLIC_LINK | Символическая ссылка |
0C0h | Windows 2000 | $REPARSE_POINT | Для сторонних производителей |
0D0h | Любая | $EA_INFORMATION | Расширенные атрибуты для HPFS |
0E0h | Любая | $EA | Расширенные атрибуты для HPFS |
0F0h | Windows NT | $PROPERTY_SET | Устарело и ныне не используется |
100h | Windows 2000 | $LOGGED_UTILITY_STREAM | Используется шифрующей файловой системой (EFS) |
$STANDARD_INFORMATION
Атрибут стандартной информации описывает время создания/изменения/последнего доступа к файлу и права доступа, а также некоторую другую вспомогательную информацию (например, квоты). Структура атрибута стандартной информации кратко описана в табл. 6.7.
Таблица 6.7. Структура атрибута
$STANDARD_INFORMATION