В настоящее время я пытаюсь программно проанализировать MFT моего жесткого диска из его необработанных данных, чтобы перечислить все файлы с указанным расширением c (за очень короткое время).
I ' Я следую этому руководству, чтобы руководствоваться мной: Взгляд программистов на извлечение необработанных данных файловой системы .
Я успешно открыл \\.\PhysicalDrive0
с помощью CreateFileA
, и я обнаружил первый сектор мой Windows раздел, где я нашел BPB
.
Моя проблема в том, что я не могу правильно найти MFT
.
Как вы можете видеть выше (необработанные данные первого сектора моего Windows раздела) , номер логического кластера MFT равен 0x56a6
.
Затем я вычислил число секторов на кластеры, которое составляет 0x20 (0x20 * 512 = 0x4000 bytes)
.
. Таким образом, логически MFT имеет смещение 0x4000 * 0x56a6
, равное 0x15a98000
.
И когда я искать это смещение и получить первые 512 байт. Я не вижу ожидаемых данных, которые должны начните с FILE
(я просто вижу несколько случайных байтов).
Я также пытался искать не первый сектор раздела, а один из жесткого диска, и он тоже не работает (я думаю, это нормально).
Я предполагаю, что что-то упустил, но я не знаю, что.
Я надеюсь, что я достаточно ясно, если вам нужно больше деталей и информации, я предоставлю их.
Спасибо.