Чтение MFT в NTFS

Бродя по сети в поисках объяснений того, как читать/писать MFT, я нашел следующий раздел:(http://www.installsetupconfig.com/win32programming/1996%20AppE_apnilife.pdf)

Если для параметра NtfsProtectSystemFiles задано значение FALSE, можно открыть специальные файлы. Есть, однако, некоторые недостатки, связанные с попыткой сделать это: поскольку многие из специальных файлов открываются особым образом при монтировании тома, они не готовы обрабатывать запросы IRP_MJ_READ, возникающие в результате вызова ZwReadFile, и система происходит сбой, если такой запрос получен. Эти специальные файлы можно прочитать, сопоставив специальный файл с ZwCreateSection и ZwMapViewOfSection, а затем прочитав сопоставленные данные. Еще одна проблема заключается в том, что некоторые из специальных файлов не подготовлены для обработки запроса IRP_MJ_CLEANUP, который генерируется при закрытии последнего дескриптора файлового объекта, и при получении такого запроса происходит сбой системы. Единственный вариант — продублировать дескриптор открытия специального файла в процесс, который никогда не завершится (например, системный процесс).

  1. Что значит «они не готовы обрабатывать запросы IRP_MJ_READ» какая подготовка нужна? Что такое IRP_MJ_READ?
  2. «Отображение специального файла с помощью ZwCreateSection и ZwMapViewOfSection и последующее чтение сопоставленных данных». Как это решает проблему?
  3. Что означает «файлы не готовы к обработке запроса IRP_MJ_CLEANUP, который генерируется при закрытии последнего дескриптора файлового объекта», опять же, что это за подготовка? Что такое IRP_MJ_CLEANUP?
  4. «Дублировать дескриптор открытия специального файла в процесс, который никогда не завершится». Как это решает проблему?

person choppy    schedule 25.07.2012    source источник


Ответы (1)


Это старые данные (от 1996 года). И более чем немного неправильно. С тех пор мир изменился.

Вы можете попробовать открыть \$MFT, чтобы прочитать MFT, но получение правильных битов доступа может быть проблематичным. Вы также можете написать их, но это действительно игра с огнем. Файловая система не ожидает, что ее структуры данных будут изменены без ее участия.

Гораздо лучше открыть раздел в необработанном виде и напрямую пройтись по структурам диска.

person MJZ    schedule 26.07.2012
comment
На самом деле это будет книга Неббетта примерно 2000 года. Хотя она все еще старая. - person 0xC0000022L; 01.08.2015