EasyRecovery 数据恢复原理 华夏黑客同盟论坛

来源:百度文库 编辑:神马文学网 时间:2024/04/28 22:50:48
如果你要往硬盘里面写入一些文件,这个文件首先写入文件列表,然后写入磁盘。并在列表中记录存储的位置。
当你要删除这个文件的时候,windows只是把文件列表中的内容删除,而真正的文件并没有删除。只不过是把这个文件存储的位置记录成空白区域,等待下次写入。
看到这里你应该明白了。
如果你还没对这个区域(笼统的说就是你还没对这个硬盘的这个分区)作写入操作时,这个文件还保留在硬盘中。恢复这个被删除的文件就成为可能了。
打个通俗易懂的比方,文件在磁盘上的存储就像是一个链表,表头是文件的起始地址,整个文件并不一定是连续的,而是一个节点一个节点的连接起来的。要访问某个文件时,只要找到表头就行了。删除文件时,其实只是把表头删除了,后面的数据并没有删除,直到下一次进行写磁盘操作需要占用节点所在位置时,才会把相应的数据覆盖掉。数据恢复软件正是利用了这一点。所以,就算你误删了文件之后又进行了其他写磁盘操作,只要没有覆盖掉那些数据,都是可以恢复的。想当年,马甲爵同学作案之后为了隐藏行踪,把自己的硬盘格式化了N次,但还是被警察叔叔用专业恢复工具找到了蛛丝马迹,并最终确定了他的去向,将其抓获。
文件之所以能被恢复,须从文件在硬盘上的数据结构和文件的储存原理谈起。新买回的硬盘需分区、格式化后才能安装系统使用。一般要将硬盘分成主引导扇区、操作系统引导扇区、文件分配表(FAT)、目录区(DIR)和数据区(Data)五部分。
在文件删除与恢复中,起重要作用的是“文件分配表”的“目录区”,为安全起见,系统通常会存放两份相同的FAT;而目录区中的信息则定位了文件数据在磁盘中的具体保存位置——它记录了文件的起始单元(这是最重要的)、文件属性、文件大小等。
在定位文件时,操作系统会根据目录区中记录的起始单元,并结合文件分配表区知晓文件在磁盘中的具体位置和大小。
实际上,硬盘文件的数据区尽管占了绝大部分空间,但如果没有前面各部分,它实际上没有任何意义。
人们平常所做的删除,只是让系统修改了文件分配表中的前两个代码(相当于作了“已删除”标记),同时将文件所占簇号在文件分配表中的记录清零,以释放该文件所占空间。因此,文件被删除后硬盘剩余空间就增加了;而文件的真实内容仍保存在数据区,它须等写入新数据时才被新内容覆盖,在覆盖之前原数据是不会消失的。恢复工具(如FinalData等)就是利用这个特性来实现对已删除文件的恢复。
对硬盘分区和格式化,其原理和文件删除是类似的,前者只改变了分区表信息,后者只修改了文件分配表,都没有将数据从数据区真正删除,所以才会有形形色色的硬盘数据恢复工具。