原创)用winhex恢复删除的文件(NTFS文件系统)

 
  用winhex回复删除的文件(NTFS文件系统)
 
  个人认为用winhex恢复刚删除的一个或是几个文件winhex的效率比数据恢复软件还是比较高的,用winhex对底层数据进行分析并恢复数据。
 
  以我的电脑D盘的下载文件下的文件为例。
 

 
   接下来删除这个文件。shift+delete
 


 


 


 
  现在用winhex打开D盘
 


 
  首先从DBR找到文件记录开始的位置,我这里是C0000(十六进制)转换过来时786432号簇,每簇是8个扇区(786432*8=6291456扇区)
 

 
  跳转到$MFT第一个文件记录的位置,搜索drivethelife6_setup.exe文件名(注意文件名是以unicode字符存储的)。在6310826扇区找到目录项。
 

 
  通过对目录项分析下一个文件记录就是要找的文件drivethelife6_setup.exe的位置。
 

 
 
 

 
  接下来计算文件的位置了。
 
  第一个 32 8B 00 74 8A 20 开始位置(十六进制 20 8A 74)转换为十进制是2132596簇,占用(十六进制00 8B) 139个簇。转到2132596号簇,139*8=1112 向下偏移1112个扇区,然后复制到新文件
 

 
 


 

 

 

 
  第二个 32 1E 06 CF D6 FB 开始位置(十六进制 FB D6 CF 这个是负数 转换成二进制111110111101011011001111)然后逐位取反末尾家1转换为十进制是-272689用2132596+(-272689)=1859907簇,占用(十六进制06 1E) 1566个簇。到相应位置复制到新文件
 

 
  第三个 31 61 28 64 01 开始位置(十六进制 01 64 28)转换为十进制是91176簇,占用(十六进制61) 97个簇。用2132596+(-272689)+91176=1951083号簇,97*8=776 向下偏移776个扇区,然后复制到新文件
 

 
  第四个 32 E2 04 E5 CE E3 开始位置(十六进制 E3 CE E5 可以看出这里又是一个负数,转换成二进制 111000111100111011100101)然后逐位取反末尾家1转换为十进制是-1847579簇,占用(十六进制04 E2) 1250个簇。用2132596+(-272689)+91176+(-1847579)=103504号簇,1250*8=10000 向下偏移10000个扇区,然后复制到新文件。
 

 
  下图是恢复出来的四个碎片文件,要合并后才可以用
 

 
  下面合并文件
 

 
  合并完成的文件
 

 
  看文件是否可以运行。可以运行
 

 

 
  恢复结束
 
 

在线报名发布


姓名:
电话:
邮箱:
Q Q: (填写数值)
课程: