Запуск данных NTFS MFT

Я пытаюсь проанализировать прогон данных в записи MFT и сравниваю свои результаты с Active Disk Editor. Прогон данных выглядит следующим образом:

.... 42 0F 01 FD 83 90 D9 0C (здесь начинается второй атрибут)

Если я правильно понимаю: вот как это должно быть разобрано:

  • количество байтов для анализа количества кластеров: 2
  • количество байтов для анализа местоположения кластера: 4

  • Количество кластеров разбора: 0F 01 (с прямым порядком байтов) => 271

  • Разобрать расположение первого кластера: 0xD99083FD => 3 650 126 845
  • Ожидание 00 вместо 0C для обозначения конца кластера

Однако в редакторе активного диска:

  • расположение кластера: 9 470 973, что равно 0x 9083FD. ( D9 игнорируется). Оказывается, это место является правильным.
  • Если я попытаюсь изменить количество байтов, представляющих расположение кластера (4 в 42), произойдет следующее:

    • If I change it to 4 or 5, the cluster location remains the same (9470973)
    • Если я изменю его на 3, расположение кластера станет отрицательным.
    • Отсутствие изменения значения на D9 0C, по-видимому, не влияет на результат.

Может ли кто-нибудь сообщить мне, что я делаю неправильно?


person adv88    schedule 12.03.2019    source источник


Ответы (2)


В вашем комментарии есть небольшая проблема: перезаписывает последние два сектора в каждом используемом секторе, сектора должны быть байтами.

Это общая проблема для новичков в NTFS. Все записи (индекс/FR/RCRC) должны быть прочитаны после обработки USN.

person areslee    schedule 01.04.2019

После некоторых дополнительных исследований я случайно прочитал об исправлениях NTFS. Для тех, кто может столкнуться с той же проблемой в будущем, идея заключается в следующем:

  • Порядковый номер обновления (USN) — это 2-байтовый объект, который перезаписывает последние два байта в каждом используемом секторе. Это делается в целях проверки.

  • Массив последовательности обновлений (США) содержит массив перезаписанных 2-байтов в конце каждого сектора.

Читать структуру без учета USN и USA проблематично. Это может привести к перепутыванию имен файлов, запусков данных и т. д. Я нашел эту информацию на: https://www.taksati.org/ntfs-fix-ups/

Короче говоря, когда я учел эту разницу, первое расположение кластера стало таким:

0x009083FD

Поскольку информация о списке запуска данных стала следующей: 42 0F 01 FD 83 90 00 00.

person adv88    schedule 14.03.2019