系统:WinXP, WinAll 大小:2.7M
类型:应用其他 更新:2022-07-28 09:35
单文件版本,下载即用!
WinHex 是一款以通用的 16 进制编辑器为核心,专门用来对付计算机取证、数据恢复、低级数据处理、以及 IT 安全性、各种日常紧急情况的高级工具。可以用来检查和修复各种文件、恢复删除文件、硬盘损坏、数码相机卡损坏造成的数据丢失等,拥有强大的系统效用。
- 硬盘, 软盘, CD-ROM 和 DVD, ZIP, Smart Media, Compact Flash, 等磁盘编辑器...
- 支持 FAT, NTFS, Ext2/3, ReiserFS, Reiser4, UFS, CDFS, UDF 文件系统
- 支持对磁盘阵列 RAID 系统和动态磁盘的重组、分析和数据恢复
- 多种数据恢复技术
- 可分析 RAW 格式原始数据镜像文件中的完整目录结构,支持分段保存的镜像文件
备份数据
由于数据很重要,所以首先要进行备份,万一出现误操作,还可以把U盘恢复到最初的状态。这一步很重要,并且U盘容量不大,备份不会占用太大磁盘空间。进行扇区级别的磁盘数据备份有很多工具,如Ghost、WinHex和DiskExplorer,下面主要介绍WinHex。WinHex是一个16进制文件编辑工具,可以跳过操作系统的文件系统直接读取磁盘和U盘等设备,从而进行数据恢复。
使用WinHex的“Tools”菜单下面的“Open Disk”命令,打开物理U盘。
在WinHex中看到U盘的引导数据全是“FF”,分区表和文件系统完全丢失了。从“Edit”菜单中选择“Define Block”,选择起止为“Beginning of file”和“End of file”。
然后再从“Edit”菜单中选择“Copy Block”→“Into New File”,把整个U盘的数据写到一个文件中(例如“u.img”),这样就完成了U盘的备份。
自动恢复
完成备份后,笔者尝试用数据恢复工具Finaldata、EasyRecovery和Recover4All进行恢复,由于U盘容量很小,很快就搜索出很多文件,但是就是没有发现要找的那个重要文件,看来只能手工操作了。
手工修复
确定文件位置
询问朋友得知该文件是中英文混合的Word文档,大部分是中文,含有少量英文,因此笔者决定通过查找文件内容尝试恢复文件。
用WinHex打开前面保存的U盘镜像文件(在镜像文件上进行数据恢复的好处是访问速度比直接访问U盘快,而且还可以避免破坏U盘原有数据。)选择“Search”菜单中的“Find Text”命令,从镜像文件中直接搜索文中包含的英文字符串“control needed”。由于搜索到太多的字符串“control needed”,因此目前还无法对文件进行定位。
如果能记住部分中文内容,搜索中文可以避免找到太多的结果。Word文档中的中文用Unicode编码,因此打开记事本输入文章包含的中文字符“决策”,另存为Unicode编码的文件(test.txt)。
用WinHex打开文件“test.txt”,开始的“FFFE”代表字符编码的顺序,因此随后的“B351567B”就是“决策”的Unicode格式的16进制表示。
从WinHex的“Search”菜单中选择“Find Hex Values”命令,在U盘镜像文件中搜索“B351567B”。因为WinHex只能以内码的格式显示中文,Unicode格式的中文都显示为乱码,那么如何知道是否找到了正确的数据呢?从搜索到“B351567B”的地方开始选择一段数据,仍然是从“Edit”菜单中选择“Copy Block”→“Into New File”复制到一个新的文件中(noname.txt)。
打开记事本,选定刚才保存的文件“noname.txt”,然后将编码格式设置为“Unicode”格式后再打开就可以看到它的真实内容了,经朋友确认,这段文字就是要找的文件的部分内容。
定位文件头
要完整地恢复Word文档,仅找到文件部分内容是不够的,我们需要找到DOC文件的开头(文件头)。用WinHex打开任意一个已知的完好的Word文件,可以看到文件的起始标志字符串为“D0CF11E0”,显示为“邢.唷”。在FILExt网站(http://filext.com/)也可以查到DOC文档的特征标志为“D0CF11E0A1B11AE1”。
easy提示
纯文本格式的TXT文件不像Word文档那样有特征标志,但恢复时可以直接用WinHex搜索文件中包含的中文或者英文关键字,确定文件所处位置。
仍然是使用WinHex的“Find Hex Values”命令,搜索方向设置为“Up”,也就是从刚才找到的特征字符串“决策”的位置往前搜索Word文件的起始标志“D0CF11E0”。
找到Word文件起始位置后,选择“Edit”菜单中的“Define Block”,设定块开始的位置为标志字符串“D0CF11E0”开始的地方,根据文件的大小,设定一个估计的结束偏移量,可以尽量大一些,不要太小就可以了。从“Edit”菜单中选择“Copy Block”→“Into New File”把定义的块保存为一个新文件(new.doc)。
easy提示
如何计算块的大小?
WinHex中的一个偏移量代表一个字节(Byte),运行Windows自带的计算器,切换到十六进制模式,用结束地址减去开始地址就得到定义块的大小。
360000-355A00=A600 A600(十六进制)→42496(十进制)
用Word打开刚才恢复出来的“new.doc”文件,发现就是朋友丢失的那个文件,绝大部分内容都在,格式也正确。
从下载评估版的WinHex开始计算,整个恢复过程总共半个小时,仅仅使用WinHex和记事本程序就把丢失的数据恢复了,结果非常令人满意。
应用信息
支持( 0 ) 盖楼(回复)
支持( 0 ) 盖楼(回复)