Книга: Восстановление данных. Практическое руководство
Пакет FILE_DISPOSITION_INFORMATION
Пакет FILE_DISPOSITION_INFORMATION
IPR_MJ_SET_INFORMATION
/FILE_DISPOSITION_INFORMATION
— это пакеты, посылаемые драйверу при удалении файла (имейте это в виду при дезассемблировании). Чтобы уметь восстанавливать удаленные файлы, необходимо отчетливо представлять, что происходит в процессе удаления файла с раздела NTFS. Последовательность выполняемых при этом действий приведена ниже.
1. Корректируется файл /$MFT:$BITMAP
, каждый бит которого определяет "занятость" соответствующей файловой записи (FILE Record) в MFT (значение 0 говорит о том, что запись не используется).
2. Корректируется файл /$BITMAP
, каждый бит которого определяет "занятость" соответствующего кластера (значение 0 говорит о том, что кластер не используется).
3. Файловые записи, соответствующие файлу, помечаются как удаленные (поле FLAG
, находящееся по смещению 16h
от начала файловой записи, сбрасывается в ноль).
4. Ссылка на файл удаляется из двоичного дерева индексов. Технические подробности этого процесса здесь не рассматриваются, поскольку восстановить таблицу индексов вручную сможет только гуру. Кроме того, в таком восстановлении нет необходимости. Ведь в NTFS индексы играют вспомогательную роль, и гораздо проще переиндексировать каталог заново, чем восстанавливать сбалансированное двоичное дерево (B*tree).
5. Обновляется атрибут $STANDARD_INFORMATION
каталога, в котором хранится удаляемый файл (время последнего доступа и т.д.).
6. В файле /$LogFile
обновляется поле Sequence Number
(изменения, происходящие в журнале транзакций, здесь не рассматриваются).
7. Поля Update Sequence Number
следующих файловых записей увеличиваются на единицу: сам удаляемый файл, текущий каталог, /$MFT
, /$MFT:$BITMAP
, /$BITMAP
, /$BOOT
, /$TRACKING.LOG
.
Каталоги удаляются практически так же, как и файлы. В этом нет ничего удивительного, так как с точки зрения файловой системы каталог тоже представляет файл особого вида, содержащий внутри себя двоичное дерево индексов (B*tree).
Ни в том, ни в другом случае физического удаления файла не происходит, и он может быть легко восстановлен. Легкое и быстрое восстановление возможно до тех пор, пока не будет затерта файловая запись (FILE Record), принадлежащая этому файлу и хранящая его резидентное тело или список отрезков (run-list) нерезидентного содержимого. Утрата файловой записи крайне неприятна, поскольку в этом случае файл придется собирать по кластерам. При этом стоит заметить, что чем сильнее был фрагментирован удаленный файл, тем сложнее будет эта задача. К счастью, в отличие от FAT, NTFS не затирает первого символа имени файла, что значительно упрощает восстановление.
- Shared Cache file
- 5. С осторожностью собирайте «полный пакет»
- Безопасность внешних таблиц. Параметр EXTERNAL FILE DIRECTORY
- 14. Лекция: Пакет java.util
- Chapter 13. rc.firewall file
- Information request
- 4.3.3. Makefile Targets
- Пакеты: оценка
- Часть III Пакет Microsoft Office
- Управление rpm-пакетами: нынче не то, что давеча
- Что это за файл – pagefile.sys?
- Для чего нужны папки Windows, Documents and Settings, Program Files и Temp?