日期:2014-05-17  浏览次数:20752 次

对NTFS系统MFT不能成功修改
我现在想自己编程实现删除文件内容,以及文件在MFT中存储的所有属性(包括30H文件名属性、80H数据属性、90H和A0H的Index_Root和Index_Allocation属性等等)的功能。

NTFS文件系统中每个文件都有一个File Record,我现在想自己编程删除其中所存的属性,并通过几次覆写把File Record也清除掉,最后只留下跟所存的数据文件的信息无关的10H的$STANDARD_INFORMATION中的Standard Attribute Header部分。

可是现在遇到了一个问题,在找到某一个文件的File Record并覆写了之后,可以正常把数据清除掉,用WinHex去磁盘相应位置查看,发现数据的确被删除了,可是再用同样的方法删了第二个和第三个文件之后,发现原来第一个文件的File Record的数据又完整地、原封不动地回来了。

我觉得这可能是Windows操作系统对文件系统的恢复机制吧?可是我能怎么把数据清除并不让它再回来呢?
------解决方案--------------------
同问啊,帮顶楼主
找到答案了一定要通知我

------解决方案--------------------
MFT,很专业的话题。。。完全不懂
------解决方案--------------------
我也遇到类似问题了 。。求高手解答啊~~
------解决方案--------------------
楼主还没找到答案,帮顶
------解决方案--------------------
期待楼主找到答案与我等分享
------解决方案--------------------
请问楼主是如何实现直接操作磁盘中的数据的呢?现在才初学,不是很懂!用CreatFile"\\\\.\\physicaldisk0" 可以吗,不过这不是不符合CreatFile的参数传递嘛,怎么办到的?