Я пишу программу для удаления файла и всех связанных с ним атрибутов (в том числе 0x30 $ FILE_NAME, 0x80 $ DATA, 0x90 $ INDEX_ROOT и 0xA0 $ INDEX_ALLOCATION и т. Д.) В томе NTFS в Windows.
Теперь я могу найти позицию записи файла для любого файла.Я несколько раз перезаписываю запись файла, чтобы предотвратить восстановление, а затем возвращаю основную информацию, которая будет иметь запись файла (то есть заголовок стандартного атрибута первого атрибута «0x10 $ STANDARD_INFORMATION»).
Я использовал WriteFile () - записывает запись файла , и возвращаемое значение указывает на то, что функция выполнена успешно.После этого откройте диск, чтобы увидеть необработанные данные WinHex. Я вижу, что Запись файла на самом деле изменена .
Но проблема в том, что после удаления еще двух или трех файлов предыдущий файлЗапись файла вновь появилась , как будто я никогда ничего с ней не делал.
Я думаю, что это может быть механизм восстановления управления файлами Windows.Интересно, есть ли какой-нибудь метод для успешного изменения Файловой записи без ее восстановления Windows.
PS Я использовал DeleteFile () , чтобы позаботиться о дереве B + идругие вещи, прежде чем я изменю запись файла вручную.