您现在的位置是:首页 > 互联网 > 正文
winhex(比较详细的图文使用教程)
发布时间:2022-07-11 12:59:09编辑:来源:
大家好,小太来为大家解答以上问题。winhex,比较详细的图文使用教程这个很多人还不知道,现在让我们一起来看看吧!
我们来模仿分区表被病毒破坏的情况,把MBR全填零。首先,我们选择MBR所在的扇区。指向第一个字节,右键单击,并选择“块选择开始”
然后指向MBR的最后一个字节,右击并选择“块选择结束”
然后,我们在选择范围内单击鼠标右键,并选择“编辑”
所以有菜单。
然后我们选择“填充块选择”,会出现一个填充块选择对话框。
在“填入十六进制”输入框中输入“00”,然后点击“确定”
这样MBR的所有扇区都被我们填了“00”。
如果要取消选择,只要用鼠标拖动选择一个随机区域,原来的选择就会被取消。请注意,如果扇区数据被修改且未保存,它将变为另一种颜色。
扇区已经修改,还没有保存。如果你想让它生效,从文件菜单中选择保存扇区。
这时会出现提示。如果不想保存,请单击取消。如果要保存,请单击确定,然后单击是。
好了,就这样保存了,扇区被修改的数据又变黑了。
这样,我们就删除了分区表。此时必须重启才能生效。如果你打开我的电脑,你会发现三个分区(F,G,H)还在,里面的数据还可以正常使用。
现在,让我们关闭所有程序,重新启动电脑…
过了一会儿,电脑启动了。我们打开我的电脑,发现F,G和H分区不见了。
再次打开Winhex,发现MBR全为零。现在我们将开始手动恢复分区表。
首先,恢复引导代码,这是最简单的。用Winhex从另一个系统盘复制引导代码即可。我现在机器上不是挂着两个硬盘吗?一个迈拓2G,一个西数40G,西数40G是我的系统盘,从这个盘复制就行了。
点按磁盘编辑器按钮。
出现编辑磁盘对话框
选择“HD0WDHD0WDCWD400EB-00CPF0”并点击“确定”
这样,我们就打开了系统盘的分区表。请注意,现在我们已经打开了两个窗口。当前窗口是“硬盘0”,显示在标题栏中。另外,当你打开窗口菜单时,也可以看到当前窗口被打勾。如果你想切换回原来的窗口,点击“硬盘1”。
首先选择系统盘的引导代码。
然后在所选区域单击鼠标右键,选择编辑。
另一个菜单出来,然后我们选择“复制选择块”——“正常”
然后我们切换回硬盘1窗口,在零扇区的第一个字节单击鼠标右键,并选择“编辑”
然后选择“剪贴板数据”3354“写入…”
出现一个窗口提示,单击“确定”
这样,我们就从一个正常的系统盘上复制了引导代码。
接下来开始恢复分区表(总共64个字节,分为4个分区项,每个分区项占用16个字节,一般只使用前两个分区项)。首先,我们将恢复第一个分区条目(即用于描述驱动器C的条目)。
首先,在第一个字节(扇区0倒数第五行,倒数第二个字节)填入分区引导标志。因为c盘是活动分区,所以填80。
然后第2、3、4字节(该分区的起始头号、扇区号、柱面号)填入:010100。
第5个字节是分区类型符号,因为原c盘是Fat32格式,所以填:0B。那么,如果你不知道c盘是什么格式呢?你说问客户,但是他不知道怎么办?别担心,我会在后面讨论恢复DBR时教你如何区分分区格式。
第6、7、8个字节是这个分区的结束头号、扇区号、柱面号。你怎么知道的?不用担心,现在所有的磁盘都是LBA寻址,而不是C/H/S(还有柱面、磁头、扇区),所以这个地方你填什么都无所谓,但是我要告诉你,有一个通用的填充方法,那就是:FEFFFF。
第9,10,11,12个字节,这个分区之前使用的扇区数,也就是MBR占用的扇区数,不是63?可以,但是你要把63变成十六进制数,倒着填。还记得怎么用计算器吗?如果把63转换成十六进制数,就是3F,在不足四个字节前加零,就是0000003F,然后数字从右到左依次是3F000000。
第13、14、15、16字节是本分区的总扇区数,也就是C盘的大小,这就要通过稍微一点点计算来得到了。因为C盘是从第63个扇区开始,而C盘后面紧接着的是EBR,所以用EBR所在的第一个扇区数减去63就是C盘的大小。那么如何才能找到EBR所在的第一个扇区呢?我们前面说过,EBR的结构和MBR是一样的,所以,EBR的结束标志也一定是55AA,那么,只要我们找到这个结束标志,再看看这个扇区是不是EBR不就行了?
单击“搜索”——“查找十六进制数值……”,然后出来一个对话框
在文本框中输入“55AA”,搜索框中选“全部”,然后选中“条件”,把偏移量设置为“512=510”。
再单击“确定”。画面如下:
首先找到第一个“55AA”,我们看到,个扇区在第63个扇区上,并不是我们要找的EBR,再按F3继续查找
又找到好几个扇区,都不是,那么下面这个扇区是不是?
前面我们说过,EBR的结构和MBR的结构是一样的,所以在倒数第五行倒数第二个字节应该是0001,并且前446个字节应该是0,显然这也不是EBR,继续按F3查找……终于找到了真正的EBR,在1435392扇区。
小技巧:现在的硬盘都比较大,要逐个扇区的查找55AA确实太慢了,那么有没有办法快点呢?有,那就是先问问客户C盘大概有多大,大多数客户还是知道的,比如他说C盘大概有10个G,那么你就不要从头开始找了,因为那实在太慢了。10个G大概是2000万个扇区,那么你可以用转到扇区命令直接到1900万扇区,从那个地方再开始找不就省事多了。
用1435392减去63,得到1435329,再转为16进制,就是15E6C1,将他倒转过来就是C1E61500,这就是C盘的大小。这样,第一个分区表项填写完毕,我们保存一下,再接着填写第二个分区表项。
第二个分区表第1个字节:因为是非活动分区,所以写00 第2、3、4字节,填写010100(通用的) 第5字节:因为是扩展分区,所以填写0F 第6、7、8字节:填写FEFFFF(通用) 第9、10、11、12字节是本分区之前已用了的扇区数,应该就是C盘大小加63,也就是1435392,前面刚计算出来的,转为十六进制数再反过来就是00E71500
第13、14、15、16字节是本分区的总扇区数,也就是扩展分区的总扇区数,也就是用整个硬盘的大小减去C盘的大小再减去63,即4124736-1435329-63=2689344,转为十六进制就是290940,反过来就是40092900。
这样,第二个分区表项就填写完了。
不要忘了把最后的结束标志55AA填上,这样,MBR就全恢复完了,最后,保存,再重新启动……
启动完毕,迫不及待的打开我的电脑,发现三个分区全部又回来了,并且里面的数据完好无损。
再右击“我的电脑”,选“管理”
出现一个对话框,选“磁盘管理”,在右边可以看到磁盘一的三个分区(Fat32、Fat16、Ntfs)全部都回来了,至此,手工恢复分区表顺利完成。
手工恢复数据恢复成功率比较高,而且比较有趣味和挑战性,能找回许多傻瓜似的软件所找不回来的文件,但是要求工程师一定要有耐性,而且一定要保持清醒,清楚自己正在操作什么,操作完了会有什么后果,能不能退回到上一步状态。特别是对一些破坏性操作,一定要考虑周到,只要条件允许,就一定要在操作之前进行备份,否则会造成“血”的教训,切记!!! 下面我们会说到手工恢复DBR、FAT(此教程被收录在付费教程中),这些比手工恢复分区表还要复杂,更需要大量的计算。再说完了使用Winhex手工恢复数据之后,我们会说到一些数据恢复软件,结合数据恢复软件会使数据恢复成功率大大提高,但有一些软件在扫描过程中会对原盘破坏数据,在使用中一定要谨慎!!!而且同一个软件,一个新手用和一个老手用数据恢复成功率绝对是不一样的,这些软件我们会免费赠送,绝对不会让你学习了资料却找不到软件的。
FAT文件系统下的手工数据恢复案例
关键词:数据恢复,数据恢复资料,数据恢复技术
本文针对FAT分区。使用工具:winhex(非数据恢复专用)
磁盘的具体存储原理,这里我解释一下:
1、剩余扇区是什么:剩余扇区有分区内的剩余扇区和整个磁盘的剩余扇区。
先说分区内的扇区:描述磁盘容量的单位是扇区,分区内部又是采用簇来管理的。通常情况下,扇区的容量是512b,簇的单位容量大于等于扇区的容量。以具体事例来讲,一个7gb的fat32分区,其簇的大小是4k,相当于8个扇区,而分区内的存储单位是4k,分区的扇区总数如果不是8的倍数,那余下来的扇区便是剩余扇区了。
整个磁盘的剩余扇区与上述原理相似,不同的是,每个分区的结束必须以254头,63扇为结束(也应该是老的磁盘管理模式留下的弊端吧!虽然分区内是以线性逻辑扇区为首要参数的)也就是说,如果磁盘的总容量正好分不净一个柱面的容量(1*254*63*512b=8193024b),那么,剩下的容量便是整个磁盘的剩余扇区了,其最大也就是大约7.8m。这也是通常情况下,分区的最小容量是7.8m,分区容量是8193024b倍数的原因。(简图并未画出整个磁盘的剩余扇区,大家理解吧!)
2、对于fat32的保留扇区的数目,一般来说是32个,但也不肯定是,有时候可能会是38个或其他数目,当然也可以在dbr中的bpb(biosparameterblock)参数表中更改,后面要讲到在数据恢复中了解他的重要性。(dbr的参数说明到数据恢复网找找)
3、在小容量的磁盘分区中也存在fat16的分区格式,原理吗?和软盘的存储原理相,见数据恢复网“反黑行动之数据恢复”。
下面我们进入实战:
第一种情况,分区被格式化。如果格式化以后,当然可以用现成的数据恢复软件来恢复,但软件毕竟是软件,并不能应对多变的复杂的情况。而手工不同,如果对磁盘结构了解,是可以最大程度的恢复的。我们抛开数据恢复软件来看和通过手工来恢复被格式化的磁盘分区。
对于fat格式的分区(包括fat16),format命令会重建dbr扇区,清空两个fat表,清空分区的第一个簇(存放原根目录)。不管是快速格式化还是完全格式化(快速格式化和完全格式化的区别在于他们是否对所涉及到的磁盘扇区进行检测扫描,清除上面的数据事都要做得)。对于dbr,分区只要正确格式化就会生成正确的dbr,故而重点是fat表和原根目录(如果原根目录大于一个簇,这仅仅是第一个簇,为了方便,以后就以原根目录称)的问题。如果你格式花前备份了此分区的fat表和根目录。那么,只要将dbr初始化,恢复fat表和根目录即可完全恢复数据。不过,既然是被格式化,那一定没有fat表和根目录的备份(废话!!!)。继续:
先说根目录,跟目录的第一扇一但清空,别无法找回了。所以,格式化前存储在根目录的文件就会因其在第一扇存储的文件特征描述表丢失而很难找回了,除非你知道文件中包含的特征字符串,根据其在整个分区内查找,又确定文件的大小,而恰好要恢复的文件又是在磁盘内连续存储的。
再说fat表,fat表的丢失对交叉存储的文件来说是几乎毁灭的灾难。原则上如果丢失,就只能恢复从文件第一簇开始的连续几簇了。但一般如要恢复的文件较小或分区并未经过频繁的文件删增的话,还是有希望的。
手动填写fat表是不现实的,我们只好先让原来的目录结构重现,再想办法。windows的磁盘文件格式是tree型的,格式化只是将tree的根折,在根折断以后,其实就象生成了多颗tree(想想数据结构)。如果我们要恢复的文件全部位于一个子目录当中。那好了,我们只要将这颗子树的树根放入原tree的根位置上,即可生成一颗新树。推介使用winhex,下面以winhex为例具体而言,首先,若磁盘未格式化或格式化格式不太正确,先格式化,以生成可参照的dbr和fat表。接着我们在分区中寻找相关的字符串来确定此子树的'根'位置。,如记得原目录中有sjhfnet.txt的文件(选择其他目录没有或很少有此文件名的文件),可在整个分区内查找'sjhfnettxt',再根据相关特征确定。这时候注意一下,我们需要目录中提供的'.'目录来推测原分区的一些特性,主要是dbr中的bpb参数,如保留扇区的数目。(一般是不不会错的,但如果有那怕一个扇区的出入,整个分区中目录的映射将不能套用,还是看看吧!),是不是要问,'.'目录是什么?学过dos的人都知道,目录'.'表当前所在目录,'..'表上级目录,在32个子节的目录项中,包含有和其他目录项相同的特征,我们关心目录的位置(在原分区格式的第几个簇中),他应该是等于他所在的簇号的!也就是
看一下偏移量为15h14h1bh1ah的数值是否等于现在簇号。在winhex中格式化后的磁盘可清楚的列出当前簇的簇号,可比较一下(可能需要16进制与10进制的转换)。
相同不说了,如果不相同,也应该相差不多。计算一下相差的簇的数目,然后在本分区dbr扇区的0eh~0fh作相应增减,是保留扇区的数目回到原来的数目。重起一下计算机,是新的dbr生效,清空现fat表(根目录簇可以不清空,因后边讲到会覆盖的)。文件目录项的映射与实际地址便正确的结合了。(不明白吗?想想原理,努力消化一下)
接着将找到的簇复制----〉定位到现在的根目录----〉写入。
打开“资源管理器“,浏览,出来了吗?
慢!还没完,现在的目录结构是出来了,但还不能访问,因为fat表所记录的簇还是空闲的。怎么办?手动写,算一下,可能写完得30年吧!呵呵!哪。。。。,其实,如果要恢复的文件大小都在1簇范围内,可在win98下运行磁盘扫描程序,在出现修复的提示时选相应的选象修复即可(别选“删除涉及到的文件”选项,另外,win2000下不行,扫描程序会直接删除文件的)。这样,大小在1簇范围的文件别完全恢复了(包括文件)。那如何在这种情况下恢复大于1个簇的文件呢?一是你可以写一个小的程序来实现涉及到的簇的连续。如果你不会,那么也不难,得一个一个文件的来。打开winhex,使用它的目录模板跳转到文件的存储区,从当前簇复制大小为文件大小的一块连续数据,写入新文件中(记得写在其他分区中),即可!当然,如果簇数较少,可直接在fat1中改动。
另外,这样恢复的文件也不一定正确。要看当初文件的存储是否连续了?如果恢复后的文件不能用,那。。。。听天由命吧!!!(要么你在磁盘中在查找,分析,自己把它连接起来。不过,工作量吗?。。。)
这样恢复的是以前一个子目录的数据。如果有多个目录的数据要恢复,可用同样的方法替换根目录(第一个数据簇),也可以采用手动建立根目录的方法,不过,别在资源管理器中进行,手动在winhex中做吧!还有,要是恢复的目录中有多个簇,再用同样的方法,查找,作为根目录。
这是分区格式为fat32的情况,如fat16则不需考虑保留扇区的数目情况,fat16无保留扇区。
这是有目录项的情况。
再来说一下在无目录项参照的情况:
以下默认为欲恢复文件是存储在FAT32文件格式当中的文件。
假如你的磁盘已经被xxx破坏的一塌糊涂。或者已经经过了N位高手二次处理"加工"过了,什么工具软件都用过了!结果仍然没有看到你需要的数据的影子。或者你要恢复的数据本来就很少(若干源代码,或是若干论文,若干小的数据库,或是确认在数据丢失前正好做了磁盘碎片整理),不值得采用我上面采用的方法。你可以采用在磁盘内通过查找的方法,总结来找回数据(不要笑,有技巧的,况且,也许这是唯一的方法!)
可以通过磁盘文件的存储特征和文件固有的类型特征来考虑。看过《反黑行动之数据恢复》(风般的男人著)应该可以知道,文件在磁盘内至少是以扇区为单位的,也就是说,每个文件在磁盘内实际存储的开始,一定是某扇区的开始。这是其一,其二是每种类型的文件都有其特定的文件标志,可根据文件的特定标志(通常还是在文件的开头)与其在磁盘的位置来圈定。
如果是文本文件,可通过在磁盘内查找特征字串的方法来找到。不过,稍有知识的人是都知道的,不说了。(还是使用winhex吧!硬盘速度可以的话,应该查找1G的空间不超过1分钟)
我们来通过具体的例子看一看已加密或无明显特征字串的情况(这是最通常的情况)。以一Office文档的恢复为例。
Office文档的实际构成总是以
“00000000D0CF11E0A1B11AE10000000000000000邢.唷??.......”
开头,以下列二进制特征为尾:
---------------------------------------------------------------------------------
00148940FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
00148950FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
00148960FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
00148970FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
00148980FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
00148990FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
001489A0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
001489B0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
001489C0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
001489D0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
001489E0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
001489F0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
00148A000100FEFF030A0000FFFFFFFF06090200..?....????....
00148A1000000000C00000000000004618000000....?.....F....
00148A204D6963726F736F667420576F72642044MicrosoftWordD
00148A306F63756D656E74000A0000004D53576Focument.....MSWo
00148A407264446F630010000000576F72642E44rdDoc.....Word.D
00148A506F63756D656E742E3800F439B2710000ocument.8.?瞦..
---------------------------------------------------------------------------------
(这是在winhex中显示的情况,此部分内容是最后扇区的中间部分的内容#
既然文件头尾标志已确定,即可在磁盘中搜索了。可搜索所有的“D0CF11E0A1B11AE1”,保存其位置。在搜索特定的尾标志,保存其位置。观看在winhex“位置管理器”中的所保存位置。删除位置不是以"000H","002H","004H","006H","008H"结尾的文件头标志(因为扇区容量512B=200HB)。删除不合位置特征的尾标志(通过对200H取余的结果看)。再删除多出来的头或尾标志。(应该成对出现)
此例以Word2000文档为例。通常情况下,word文档的大小不可能太大。在winhex的位置管理器当中,所有的位置是以地址来排序的。所以,看一下成对的头尾标志其偏移是否合逻辑。如不合,删了!
那么,剩下来的便是最有可能的了。剩下的,不用说了吧!将每一对头尾地址之间的数据保存即可。(成不成功看命吧!)
这是以Office文件为例说明。其实大多数文件都有特征标志,可参看相关资料或自己研究。对于没有特定尾标志的文件,它的结构也有特征,结合头标志和结构看吧!(不过可能稍难点!)还有,恢复的文件当中可能有你删除了的文件,没有办法。只好一视同仁了。不过一般情况下,已删除文件的开头是最先被系统的其他文件覆盖的,可能也能降低工作量吧!
本文到此结束,希望对大家有所帮助。
标签:
猜你喜欢
最新文章
- DeepSeek公告:线上服务遭大规模恶意攻击,暂限非+86手机号注册
- IGN揭秘《刺客信条:影》新实机演示:主角形象深入人心!
- 焕新登场:全新起亚K4紧凑型车图解赏析
- 重庆:2025年将持续推进163项城中村改造项目
- 蔚来乐道春节期间暂停车机升级,2月6日恢复推送服务
- 超有牌面!国产游戏《明末:渊虚之羽》登上英国《EDGE》杂志封面,漫画风女侠惊艳亮相
- 币界网晚间行情速递:BTC比特币报价$103,391.48,日内微跌1.04%
- 暗区突围:全面转载新手必备攻略
- 未来人生:个人满级天赋展示与深度评价(五)
- 探索功夫英雄的奇妙世界:玩法特色与剧情概览
- 最后一波福利!速来领取《黑神话:悟空》限定红包封面!
- 《暗黑4》Steam史无前例大促:标准版仅售191.4元,速来抢购!
- 广东:2027年目标全面构建绿色低碳循环经济体系
- 金价飙升,直逼840元大关!黄金店铺春节延期休假,蛇金饰品与足金手机贴受热捧!
- 《宝可梦卡牌P》新扩展包时空激战1月30日震撼发布,帝牙卢卡荣耀参战
- 截至今晨7点,全国172个公路路段受雨雪寒潮侵袭影响
- 币界网晚间行情速递:DOT波卡币攀升至6.446美元/枚,日内涨幅达2.01%
- 《龙腾世纪4》销量惨淡致EA股价暴跌21.25%!市场反应强烈
- 比亚迪海豹汽车OTA升级:全新引入城市领航功能等重磅更新
- 特朗普透露或于30日天内决断TikTok命运
- 10亿基金助力,中部城市赣州抢占人形机器人产业先机
- 《蛋仔派对》服务器崩溃引发玩家不满,官方深夜致歉并修复问题
- Stellantis重启美国贝尔维迪尔工厂,千余员工将重返岗位
- 一鸣食品全资子公司增资扩建:1.32亿打造4500头规模繁育基地