安基网 首页 电脑 电脑学堂 查看内容

U盘文档恢复出来打不开,通过案例看数据底层世界,手工分析恢复

2019-5-27 00:44| 投稿: xiaotiger |来自: 互联网


免责声明:本站系公益性非盈利IT技术普及网,本文由投稿者转载自互联网的公开文章,文末均已注明出处,其内容和图片版权归原网站或作者所有,文中所述不代表本站观点,若有无意侵权或转载不当之处请从网站右下角联系我们处理,谢谢合作!

摘要: U盘的文件如果被删除,或者U盘被格式化以后,很多时候用恢复软件恢复出来的office文件会打不开,其实只要文件存在我们就可以使用WINHEX通过手工分析底层数据结构进行恢复。这个是什么原因呢?由于u盘的文件系统一般是fat32的,这种文件系统在存储文件的时如果在u盘进行操作的次数多了就很容易产生碎片 ...

U盘的文件如果被删除,或者U盘被格式化以后,很多时候用恢复软件恢复出来的office文件会打不开,其实只要文件存在我们就可以使用WINHEX通过手工分析底层数据结构进行恢复。

这个是什么原因呢?由于u盘的文件系统一般是fat32的,这种文件系统在存储文件的时如果在u盘进行操作的次数多了就很容易产生碎片。

一旦u盘上存储的文件产生碎片以后,由于这个文件的的底层数据存储并不是连续存储的,那么如果用普通的恢复软件去恢复的时候,往往恢复出来的文件都是不太正常的。

比如这个案例中,文件删除之后,用数据恢复软件恢打开有问题

0

1

2

3

现在打开恢复完的文件看一下结果是看不懂的乱码

4

在找不到专业软件时,可以进行手工分析恢复

那么出现这种情况一般都是有碎片的文件,需要手工提取数据,这里就用一款十六进制编辑器winhex来手工提取,当然这个前提是要对各类文件系统有深入的了解。

5

这就是那个分区在十六进制显示的样子,先跳转到6291456号扇区

6

接下来把需要恢复的文件名转换成Unicode编码格式,因为NTFS分区格式是以Unicode编码格式来命名的,转换完之后点击菜单栏的Search--->Find Hex Values 会弹出如下图所示的窗口

7

把刚才转换的16进制数值写进去,向下搜索

8

光标停在了这个扇区,找到80属性,我用红色框框起来的就是我要恢复文件的簇流,就是根据这段簇流来恢复文件的,这个簇流不是连续的,有片段,这个就是平时所说的文件有碎片。

先算一下一个片段 起始位置:775124 簇大小:1

第二个片段 起始位置:16777253 簇大小:3 (第二个片段的起始位置是相对于第一个起始位置的)

第三个片段 起始位置:17552261 簇大小:41 (第三个片段的起始位置是相对于第二个起始位置的)

第四个片段 起始位置:17552345 簇大小:1 (第四个片段的起始位置是相对于第三个起始位置的)

一共有四个片段都计算完了,现在就需要提取每个片段的内容,先跳转到第一个片段的位置将内容复制到新文件,剩下的操作都一样

将每一个片段提取出来之后点击winhex菜单栏Tools--->File Tools--->Concatenate会弹出需要保存文件的路径及后缀

9

点击保存后会弹出一个窗口选择刚才提取出来的文件(注意,一定要按顺序附加)

10

四个碎片附加完成之后点击Done,附加完成,然后打开恢复的文件看一下

11

恢复完成,可以正常打开了



小编推荐:欲学习电脑技术、系统维护、网络管理、编程开发和安全攻防等高端IT技术,请 点击这里 注册账号,公开课频道价值万元IT培训教程免费学,让您少走弯路、事半功倍,好工作升职加薪!

本文出自:https://www.toutiao.com/a6694823920844931592/

免责声明:本站系公益性非盈利IT技术普及网,本文由投稿者转载自互联网的公开文章,文末均已注明出处,其内容和图片版权归原网站或作者所有,文中所述不代表本站观点,若有无意侵权或转载不当之处请从网站右下角联系我们处理,谢谢合作!


鲜花

握手

雷人

路过

鸡蛋

相关阅读

最新评论

 最新
返回顶部