被删除文件恢复原理

From:http://ask.koubei.com/question/1407120904402.html

打个通俗易懂的比方,文件在磁盘上的存储就像是一个链表,表头是文件的起始地址,整个文件并不一定是 连续的,而是一个节点一个节点的连接起来的。要访问某个文件时,只要找到表头就行了。删除文件时,其实只是把表头删除了,后面的数据并没有删除,直到下一 次进行写磁盘操作需要占用节点所在位置时,才会把相应的数据覆盖掉。数据恢复软件正是利用了这一点。所以,就算你误删了文件之后又进行了其他写磁盘操作, 只要没有覆盖掉那些数据,都是可以恢复的。想当年,马甲爵同学作案之后为了隐藏行踪,把自己的硬盘格式化了N次,但还是被警察叔叔用专业恢复工具找到了蛛 丝马迹,并最终确定了他的去向,将其抓获。

文件之所以能被恢复,须从文件在硬盘上的数据结构和文件的储存原理谈起。新买回的硬盘需分区、格式化后才能安装系统使用。一般要将硬盘分成主引导扇区、操作系统引导扇区、文件分配表(FAT)、目录区(DIR)和数据区(Data)五部分。
在文件删除与恢复中,起重要作用的是“文件分配表”的“目录区”,为安全起见,系统通常会存放两份相同的FAT;而目录区中的信息则定位了文件数据在磁盘中的具体保存位置——它记录了文件的起始单元(这是最重要的)、文件属性、文件大小等。
在定位文件时,操作系统会根据目录区中记录的起始单元,并结合文件分配表区知晓文件在磁盘中的具体位置和大小。
实际上,硬盘文件的数据区尽管占了绝大部分空间,但如果没有前面各部分,它实际上没有任何意义。

人 们平常所做的删除,只是让系统修改了文件分配表中的前两个代码(相当于作了“已删除”标记),同时将文件所占簇号在文件分配表中的记录清零,以释放该文件 所占空间。因此,文件被删除后硬盘剩余空间就增加了;而文件的真实内容仍保存在数据区,它须等写入新数据时才被新内容覆盖,在覆盖之前原数据是不会消失 的。恢复工具(如FinalData等)就是利用这个特性来实现对已删除文件的恢复。
对硬盘分区和格式化,其原理和文件删除是类似的,前者只改变了分区表信息,后者只修改了文件分配表,都没有将数据从数据区真正删除,所以才会有形形色色的硬盘数据恢复工具。
那么,如何让被删除的文件无法恢复呢?很多朋友说,将文件删除后重新写入新数据,反复多次后原始文件就可能找不回啦。但操作起来比较麻烦,而且不够保险。
因此,最好能借助一些专业的删除工具来处理,例如O&OSafeErase等,可以自动重写数据N次,让原始数据面貌全非

 

研究磁盘数据恢复的,可以参考 09\JIAN-H 第9章的9.1 JIAN-H.EXE 建立汉字库头文件 09\HZCALL 第9章的9.2 HZCALL.OBJ 显示汉字程序模块 09\NAME 第9章的9.3 NAME.OBJ 图形方式下处理输入字符 10\ARSE 第10章的10.1 ARSE.EXE 读扇区数据(汇编) 10\CRSE 第10章的10.2 CRSE.EXE 读扇区数据(C) 10\HCRSE 第10章的10.3 HCRSE.EXE 读扇区数据(C、汉显) 11\AWSE 第11章的11.1 AWSE.EXE 写扇区数据(汇编) 11\CWSE 第11章的11.2 CWSE.EXE 写扇区数据(C) 11\HCWSE 第11章的11.3 HCWSE.EXE 写扇区数据(C、汉显) 12\ALLSE 第12章的12.1 ALLSE.EXE 对扇区进行多种操作 12\HALLSE 第12章的12.2 HALLSE.EXE 对扇区进行多种操作(汉显) 13\READSF 第13章的13.1 READSF.EXE 读扇区备份文件 13\HREADSF 第13章的13.2 HREADSF.EXE 读扇区备份文件(汉显) 14\SEDIT 第14章的14.1 SEDIT.EXE 编辑扇区文件字节值 14\HSEDIT 第14章的14.2 HSEDIT.EXE 编辑扇区文件字节值(汉显) 15\SBLOCK 第15章的15.1 SBLOCK.EXE 扇区文件块拷贝 15\HSBLOCK 第15章的15.2 HSBLOCK.EXE 扇区文件块拷贝(汉显) 16\JIAN-H1 第16章的16.2.3 JIAN-H1.EXE 扩充汉字库头文件 16\HZCALL1 第16章的16.2.3 HZCALL1.OBJ 重新编译汉字显示程序模块 16\COMPSF 第16章的16.1 COMPSF.EXE 比较扇区文件 16\HCOMPSF 第16章的16.2 HCOMPSF.EXE 比较扇区文件(汉显) 17\0SE63 第17章的17.1 0SE63.EXE 显示0磁道扇区数据 17\H0SE63 第17章的17.2 H0SE63.EXE 显示0磁道扇区数据(汉显) 18\EARSE 第18章的18.2 EARSE.EXE 扩展读扇区数据(汇编) 19\EAWSE 第19章 EAWSE.EXE 扩展写扇区数据(汇编) 20\RSECTOR 第20章的20.1-20.3 RSECTOR.EXE C调用汇编扩展读 20\HRSECTOR 第20章的20.4 HRSECTOR.EXE C调用汇编扩展读(汉显) 21\WSECTOR 第21章的21.1-21.3 WSECTOR.EXE C调用汇编扩展写 21\HWSECTOR 第21章的21.4 HWSECTOR.EXE C调用汇编扩展写(汉显) 22\EALLSE 第22章的22.1 EALLSE.EXE 对扇区多种扩展操作 22\HEALLSE 第22章的22.2 HEALLSE.EXE 对扇区多种扩展操作(汉显) 23\JIAN-H2 第23章的23.2 JIAN-H2.EXE 扩充汉字库头文件 23\HZCALL2 第23章的23.2 HZCALL2.OBJ 重新编译汉字显示程序模块 23\BOOTF
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值