NTFS MFT датарун - PullRequest
       56

NTFS MFT датарун

1 голос
/ 12 марта 2019

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

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

Если я правильно понял: вот как это надо анализировать:

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

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

  • Разобрать местоположение первого кластера: 0x D99083FD => 3650126455
  • Ожидается, что 00 вместо 0C отметит конец кластера

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

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

    • Если я изменю его на 4 или 5, местоположение кластера останется прежним (9470973)
    • Если я изменю его на 3, расположение кластера станет отрицательным
    • Изменение значения на D9 0C, похоже, не влияет на результат

Может кто-нибудь дать мне знать, что я делаю не так?

Ответы [ 2 ]

1 голос
/ 01 апреля 2019

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

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

0 голосов
/ 14 марта 2019

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

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

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

Чтение структуры без учета USN и США проблематично.Он может испортить имена файлов, прогоны данных и т. Д. Я столкнулся с этой информацией: https://www.taksati.org/ntfs-fix-ups/

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

0x009083FD

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

...