Файловая система NTFS: атрибуты

Слайд 2

В предыдущих сериях…

ВСЕ ДАННЫЕ – ФАЙЛЫ → все данные в NTFS представлены

В предыдущих сериях… ВСЕ ДАННЫЕ – ФАЙЛЫ → все данные в NTFS
в виде файлов (даже служебная информация)
MFT – ядро файловой системы. Состоит из файловых записей (File Records) по 1024 байта (точно определяется в NTFS boot record)

Слайд 5

В предыдущих сериях… Метафайлы:

В предыдущих сериях… Метафайлы:

Слайд 6

В предыдущих сериях…

АТРИБУТЫ ЗАПИСЕЙ MFT
Атрибуты хранят основную информацию о файле.
Могут быть резидентными

В предыдущих сериях… АТРИБУТЫ ЗАПИСЕЙ MFT Атрибуты хранят основную информацию о файле.
и нерезидентными

Слайд 7

Стандартные типы атрибутов

Стандартные типы атрибутов

Слайд 9

$Standart_Information

Атрибут содержит 4 временные метки:
ВРЕМЯ СОЗДАНИЯ – время, в которое был создан

$Standart_Information Атрибут содержит 4 временные метки: ВРЕМЯ СОЗДАНИЯ – время, в которое
файл
ВРЕМЯ ПОСЛЕДНЕЙ МОДИФИКАЦИИ – время последнего изменения атрибутов $DATA или $INDEX
ВРЕМЯ МОДИФИКАЦИИ – время изменения любого файла метаданных, связанных с исследуемым файлом
ВРЕМЯ ПОСЛЕДНЕГО ОБРАЩЕНИЯ – время последнего обращения к содержимому (чтение) файла (атрибута $DATA)

Слайд 10

Структура атрибута $SI

Структура атрибута $SI

Слайд 11

Атрибут $FILE_NAME

Атрибут $FILE_NAME

Слайд 13

Идентичные поля времени в двух атрибутах? Зачем?

Идентичные поля времени в двух атрибутах? Зачем?

Слайд 14

При создании файла все сведения в структуре FILE_NAME копируются из предыдущей структуры

При создании файла все сведения в структуре FILE_NAME копируются из предыдущей структуры
STANDARD_INFORMATION → все атрибуты времени в структуре FILE_NAME совпадают с аналогичными из структуры STANDARD_INFORMATION.
НО!
Данные в структуре $FILE_NAME создаются в момент создания файла и представляют собой копию даты создания и изменяются при переименовании, локальном перемещении, перемещении между файловыми системами, копировании и удалении файла. Следовательно, сведения в этой структуре не могут превосходить временные атрибуты из структуры $STANDARD_INFORMATION. Но это актуально именно для времени создания и изменения файла.
Время последнего доступа к файлу и атрибут MFT modified могут измениться только в структуре $STANDARD_INFORMATION. Поэтому время последнего доступа к файлу следует определять по структуре $STANDARD_INFORMATION

Слайд 15

Что не нужно делать, если вы за вами уже выехали?

Не забывать, что

Что не нужно делать, если вы за вами уже выехали? Не забывать,
менять временные метки в атрибуте $FILE_NAME по сути не имеет смысла
Даже если их и заменить одновременно в атрибутах $SI и $FN, то это тоже ни чем не поможет
Время последнего доступа к файлу и атрибут MFT modified могут измениться только в структуре $STANDARD_INFORMATION, что значит, что в $FN аналогичные поля лучше не менять.
Для времени создания и изменения файла метки в $FN не могут быть «больше» чем метки в $SI, а если еще и знать, что даже эти 2 метки не меняются после создания файла в $SI, то между ними должна быть разбежка.
Записывать во временные метки значения «меньшие» чем метки создания файловой системы для записи $MFT
В общем, играйтесь со временем правильно

Слайд 16

Атрибут $DATA

Атрибут $DATA