如何彻底删除文件? (200分)

  • 主题发起人 主题发起人 icic_icic
  • 开始时间 开始时间
1、打开机箱<br>2、拔出硬盘<br>3、爬到楼顶(8层以上)<br>4、往下扔(注意别砸到小朋友和花花草草)<br>
 
忘了附加条件:<br>1.不从物理上损坏硬盘,反对暴力!<br>3.用程序实现
 
能找到文件名并不奇怪,重要的是你的程序里反内容破坏掉了。
 
那就fdisk+format
 
为什么可以恢复?因为删除文件的时候只是把目录里面的第一个字节(对应于文件名第一个字节)<br>改为一个特殊字符,以后操作系统遇到此文件的目录项,就当他是‘不存在的’,<br>但是其他地方并没有改,我想这样做的目的是为了加快删除文件的速度,其实只要知道了<br>这个原理,谁都可能恢复删除的文件,我以前就用debug实验过,其实早在dos就有一个<br>undelete外部命令可一恢复,只是文件的第一个字节被特殊符号覆盖了,就需要用户指定<br>文件名的第一个字符。另外,如果是快速格式化的话,还有一个unformat可以恢复被格式花<br>过的盘,原理和前者相似。。。。。。最后,如果想彻底的删除此文件,绝对找不到,最好<br>将文件对应的数据区(也就是‘簇’)全部添上0,然后在全部添上1,如果不放心可以多搞<br>几次。。。。。。。。嘿嘿!此是文件的内容,是绝对解不出来的了(除非用最最高尖段的<br>科技手段。。。比如国家来做这个事)如果不想文件名被解出来,就在磁盘上的目录项中的<br>名字也用无用数据覆盖。。。。。(注意,如果文件名不符合8.3命名法,则有两处目录项<br>)好,如果需要代码的话,我愿意试试,但是最好先你自己思考,看能不能搞出来。。。。
 
另外,就象vmao兄说的那样,如果删除文件后,又对磁盘进行了写操作,<br>就很可能无法修复了,取决于原来的内容是否被覆盖了,不信你试试?<br>删除后,再象改路径拷几个文件,看看还能恢复吗???<br>如果能,只是运气好,偶然现象。
 
我再废话几句,关于dos型分区的磁盘结构,首先是512字节的引导扇区,然后是一式两份的<br>fat表,然后是根目录,子目录在根目录中也和文件一样,记录在根目录,子目录的子目录<br>记录在子目录中,具体可参考一些dos手册.....那么,建立一个文件有三个地方:fat表,<br>目录,文件内容所在的数据区。如果文件大于一个‘簇’,当fat表遭覆盖是难以恢复的。<br>(即使其他两项还是原来的样子) 如果是目录遭覆盖,也难以恢复。 &nbsp;如果是文件本身所<br>在的‘簇’被覆盖也是难以恢复的。 &nbsp;也就是说,只要三者有一个被破坏了,就难以恢复。<br>&nbsp; 先把查文件长度n,然后向他覆盖&gt;=n的无用数据,然后修改名字为一个字符(注意不要扩<br>展名),再删除文件。因为原来的文件名只有一个字符,被删除标记覆盖后,就没有了,<br>现在还能恢复吗?连文件名也找不到了吧? (如果覆盖&gt;n的数据效果更好)
 
直接写磁盘扇区,将文件所在扇区数据覆盖为随机数,有点难
 
&nbsp;xuhao1兄:用你的方法,实际最后做的是和我那方法一样的事情,都是把文件所在的簇<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (n个扇区)覆盖为无用数据的。
 
把硬盘先放到水里泡半个小时<br>再用锤用力砸。
 
我关注此题,希望有好的简单的解决办法。
 
其实这个是硬盘数据的恢复,如果你再对该硬盘做了一次写操作的话,那么他的恢复率为0,所以可以在删除了一个文件之后在对该硬盘进行一次写的操作就可以了。
 
多人接受答案了。
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部