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


Атрибуты (attribute) - часть 2


Два 64-разрядных поля, расположенные по смещению 10h и 18h байт от начала атрибутного заголовка задают первый (starting VCN) и последний (last VCN) номер виртуального кластера, принадлежащего телу нерезидентного атрибута. Виртуальные кластеры представляют собой логические номера кластеров, не зависящие от своего физического расположения на диске. В подавляющем большинстве случав, номер первого кластера тела нерезидентного атрибута равен нулю, а последний – количеству кластеров занятых телом атрибута, уменьшенном на единицу. 16-разрядное поле, расположенное по смещению 20h от начала атрибутного заголовка, содержит указатель на массив Data Runs, расположенный внутри этого заголовка и описывающий логический порядок размещения нерезидентного тела атрибута на диске (подробнее см. "списки отрезков").

Каждый атрибут имеет свой собственный идентификатор (attribute ID), уникальный для данной файловой записи и хранящийся в 16-разрядном поле, расположенном по смещению 0Eh от начала атрибутного заголовка.

Если атрибут имеет имя (attribute Name), то 16-разрядное поле, расположенное по смещению 0Ah байт от атрибутного заголовка, содержит указатель на него. Для безымянных атрибутов оно равно нулю (а большинство атрибутов безымянны!). Имя атрибута хранится в атрибутном заголовке в формате UNICODE, а его длина определяется 8-разрядным полем, расположенным по смещению 09h байт от начала атрибутного заголовка.

Если тело атрибута сжато, зашифровано или разряжено, 16-разряное поле флагов, расположенное по смещению 0Ch байт от начала атрибутного заголовка не равно нулю.

Остальные поля не играют сколь ни будь существенной роли и потому здесь не рассматриваются.

 

смещение

размер

значение

описание

00h

4

 

тип (type) атрибута (например,. 0x10, 0x60, 0xB0)

04h

4

 

длина атрибута, включая этот заголовок

08h

1

00h

нерезидентный флаг (non-resident flag)

09h

1

N

длина имени атрибута (ноль если атрибут безымянный)

0Ah

2

18h

смещение имени (ноль если атрибут безымянный)

0Ch

2

00h

флаги

значение

описание

0001h

сжатый атрибут (compressed)

4000h

зашифрованный атрибут (encrypted)

8000h

разряженный атрибут (sparse)

0Eh

2

 

идентификатор атрибута (attribute ID)

10h

4

L

длина тела атрибута, без заголовка

14h

2

2N+18h

смещение тела атрибута

16h

1

 

индексный флаг

17h

1

00h

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

18h

2N

UNICODE

имя атрибута (если есть)

2N+18h

L

 

тело атрибута




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



Книжный магазин