我正在編寫一個程序以刪除文件和相關的所有屬性(包括0x30 $ FILE_NAME,0x80 $ DATA,0x90 $ INDEX_ROOT和0xA0 $ INDEX_ALLOCATION,等等)在Windows中的NTFS卷中。未能修改NTFS的主文件表(MFT)中的文件記錄
我現在可以找到文件記錄到任何文件的位置。爲了防止恢復,我會多次覆蓋文件記錄,然後放回文件記錄將具有的基本信息(即第一個屬性「0x10 $ STANDARD_INFORMATION」的標準屬性標題)。
我用WriteFile()到寫入文件記錄,並且返回的值表示函數成功。 之後,通過WinHex打開磁盤查看原始數據我可以看到文件記錄實際上是修改爲。
但問題是,當我刪除了其他兩個或三個文件,以前的文件的文件記錄再現,就好像我從來沒有做過任何它。
我想這可能是Windows文件管理的一些恢復機制。我想知道是否有任何方法可以在沒有Windows恢復的情況下成功修改文件記錄。
P.S.在我手動修改文件記錄之前,我使用了DeleteFile()來照顧B +樹和其他東西。