永久删除硬盘驱动器中的文件

时间:2011-05-02 18:36:23

标签: c assembly filesystems hard-drive delete-file

我想知道如何编写程序来永久删除硬盘中的文件。我知道我的程序在删除系统的数据链接方面至少需要与“rm”具有相同的功能,但我也对如何(完全)取消磁盘上的数据感兴趣。

我很确定 C 和汇编会提供这种低级功能,但我不确定如何开始尝试访问磁盘的某些部分,或者追踪到的位置磁盘上文件的不同片段。

我知道这可能看起来像是一个大项目,因为我对文件系统缺乏了解,但我只是想学习。我知道我需要了解更多关于硬盘驱动器以及我特别想要使用的驱动器类型。但是,您可以提供任何帮助/链接。

2 个答案:

答案 0 :(得分:1)

我认为你想要的是使用像scrub这样的程序。唯一的问题是,对于许多文件系统来说,它不起作用。

想出一个通用的解决方案可能是不可能的。

答案 1 :(得分:0)

如果打开文件,获取文件大小然后将n个空字节写入要删除的文件(其中n是字节数),则没关系。

之后只需删除该文件即可。所有数据都将丢失,如果有人恢复文件节点,他只能看到一堆零。

说:我确信这里的一些人会告诉你,你必须用零(或其他一些模式)擦除文件至少10到15次才能真正删除所有内容的痕迹。永远擦除文件一次。

这是一个都市传奇。不要相信他们。没有人,甚至CSI电视连续剧中的人也无法恢复曾经擦过一次的文件。