Станислав писал(а):
в записях MFT есть котологи и файлы которые туда влезли, а те кто не влез разместили в других местах.
...
Записьи в MFT ещё не могу понять, начинаются с FILE0 размер 2 сектора записи, как дальше там записи
Тээкс. Нету там каталогов. Каталоги хранятся отдельно. Ты документацию по ссылке скачал? Распаковал? Попробовал почитать?
Каждая запись MFT действительно начинается с магического числа "FILE". 0 в конце - это просто так получилось, на самом деле там смещение на "Update sequence". Вот как выглядит заголовок записи:
Offset Size Description
0x00 4 Magic number 'FILE'
0x04 2 Offset to the update sequence
0x06 2 Size in words of Update Sequence Number & Array (S)
0x08 8 $LogFile Sequence Number (LSN)
0x10 2 Sequence number
0x12 2 Hard link count
0x14 2 Offset to the first Attribute
0x16 2 Flags
0x18 4 Real size of the FILE record
0x1C 4 Allocated size of the FILE record
0x20 8 File reference to the base FILE record
0x28 2 Next Attribute Id
0x2A 2 Align to 4 byte boundary
0x2C 4 Number of this MFT Record
2 Update Sequence Number (a)
2S-2 Update Sequence Array (a)
Самое важное, что здесь есть, это смещение на первый атрибут, по адресу 0x14. По этому смещению раскручиваешь цепочку атрибутов в данной записи.
Содержимое атрибутов может быть резидентным (это значит, что прямо в этой записи они и находятся) или нерезидентным (тогда атрибут хранит цепочку кластеров, т.н. "data runs" в которых хранятся данные). Содержимое файлов хранится в неименованном атрибуте типа $DATA. Действительно, если файл достаточно маленький, он может разместиться прямо в записи.