В больших каталогах все индексные элементы не помещаются в резидентном атрибуте $1М ОЕХ_КООТ, поэтому для их размещения необходим нерезидентный атрибут $1МОЕХ_АИ_ОСАТЮМ. Атрибут $1М0ЕХ_А1_ЮСАТЮМ заполняется индексными записями. Индексная запись имеет статический размер и представляет один узел отсортированного дерева. Размер индексной записи определяется в заголовке атрибута $1МОЕХ_КООТ и в загрузочном секторе; типичный размер равен 4096 байтам. Атрибут $1М0ЕХ_А1_ЮСАТЮМ обладает идентификатором типа 160 и не может существовать без атрибута $1МОЕХ_КООТ.

Каждая индексная запись начинается со структуры данных заголовка, за которой следует заголовок узла и список индексных элементов. Заголовок узла и индексные элементы представлены одинаковыми структурами данных, используемыми в атрибуте $1МОЕХ_1*ООТ. Первая индексная запись начинается с байта О атрибута. На рис. 13.6 показан атрибут $1М0ЕХ_А1_ЮСАТЮМ с двумя индексными записями.

Поля, из которых состоит заголовок индексной записи, перечислены в табл. 13.13.

Таблица 13.13. Структура данных заголовка индексной записи

Диапазон

Описание

Необходимость

0-3

Сигнатура («ШЭХ»)

Нет

4-5

Смещение массива с данными замены маркеров

Да

6-7

Количество элементов в массиве замены маркеров

Да

8-15

Номер ЬБЫ для $1_одРіІе

Нет

16-23

Номер УСЫ записи в полном индексном потоке

Да

244-

Заголовок узла (см. табл. 13.14)

Да

Рис. 13.6. Внутренняя структура атрибута $МОЕХ_А1_1_ОСАТЮЫ с заголовками записей, заголовками узлов и индексными элементами

Первые четыре поля практически идентичны полям записи МРТ, но отличаются сигнатурой. Маркеры и массивы замены описаны в начале главы.

Номер УСЫ в байтах 16-23 определяет местонахождение записи в дереве. Атрибут $1М0ЕХ_А1_1_0САТ10М заполнен индексными записями, которые могут следовать в произвольном порядке. Значение УСЫ в заголовке указывает местонахождение записи в буфере. Когда индексный элемент ссылается на свой дочерний узел, он использует адрес УСЫ из заголовка индексной записи узла.

Вот как выглядит содержимое атрибута $1М0ЕХ_А1_1_0САТ10М того лее каталога, для которого мы просматривали атрибут $1М0ЕХ_К00Т:

# каг ^ ntfsl.de! 7774-160 xxd

0000000: 494е 4458 2800 0900 4760 2103 0000 0000 1ШХ(...С'!.....

0000016: 0000 0000 0000 0000 2800 0000 fS0S 0000 ........(.......

[...]

В первой строке видна сигнатура «ШБХ», а в байтах 4-5 и 6-7 содержатся заменители маркеров. Байты 16-23 показывают, что индексная запись соответствует буферу УСЫ 0. Заголовок узла начинается с байта 24. Атрибут $1М0ЕХ_А1_1_0САТ1СЖ имеет длину 8192 байта, поэтому в нем хватает места еще для одной индексной записи, начинающейся с байта 4096:

[...]

0004096: 494е 4458 2800 0900 ed5d 2103 0000 0000 ШХ(....]!.....

0004112: 0400 0000 0000 0000 2800 0000 6807 0000 ........(...h...

0004128: e80f 0000 0000 0000 ЗЬОО 0500 6900 с401 ........:.. .1.. .

[...]

Байты 4112-4119 показывают, что это VCN 4 (каждый кластер в файловой системе состоит из 1024 байт). Мы еще вернемся к этому примеру после рассмотрения заголовков узлов и индексных элементов.

Атрибут $index_root | Криминалистический анализ файловых систем | Атрибут $в1тмар


Криминалистический анализ файловых систем



Новости за месяц

  • Июль
    2020
  • Пн
  • Вт
  • Ср
  • Чт
  • Пт
  • Сб
  • Вс