gpt4 book ai didi

windows - 修改NTFS主文件表(MFT)中的文件记录失败

转载 作者:可可西里 更新时间:2023-11-01 11:37:51 26 4
gpt4 key购买 nike

我正在编写一个程序来删除 Windows NTFS 卷中的文件和所有相关属性(包括 0x30 $FILE_NAME、0x80 $DATA、0x90 $INDEX_ROOT 和 0xA0 $INDEX_ALLOCATION 等)。

我现在可以找到任何文件的文件记录位置。我会多次覆盖文件记录以防止恢复,然后我放回文件记录的基本信息(即第一个属性“0x10 $STANDARD_INFORMATION”的标准属性头)。

我用了WriteFile() 写入文件记录,返回值表示函数成功。之后,用WinHex打开磁盘查看原始数据,可以看到File Record actually IS modified

但问题是,我又删除了两三个文件后,之前文件的文件记录又出现了,就好像我什么都没做一样。

我认为这可能是 Windows 文件管理的某种恢复机制。请问有没有什么方法可以在Windows不恢复的情况下成功修改文件记录。

P.S. 我用了DeleteFile()在我手动修改文件记录之前处理 B+ 树和其他东西。

最佳答案

你确定 MFT 记录被删除了吗?因为如果是,那么该文件将不会重新出现。

检查您的 MFT 记录位置计算(从 VCN 到实际 CN 和扇区号)。此外,还有一个 $MFTMirror,您应该检查 $MFTMirror 中是否存在 MFT 记录的副本(针对相关文件)...如果是,那么您甚至应该删除该记录。

如果您可以共享文件的 MFT 记录定位器代码(很可能就是问题所在)...我可以为您提供更多帮助。

关于windows - 修改NTFS主文件表(MFT)中的文件记录失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6673605/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com