减小字体
增大字体
作者:佚名 来源:本站整理 发布时间:2011-04-17 16:39:27
方法一:
本人前些时候和我的一个死党把一块被,黑客程序破坏的硬盘给修复好了!累积了一点经验,不敢独自分享,特地拿出来和大家一起享受DIY的乐趣,事情是从网络的炸弹开始的!
我的朋友在网上被人炸了!被人炸了以后硬盘一直无法启动.后来他把硬盘拿到我这里,让我想想办法。我先用软盘启动时软驱灯亮了一会儿就没有反应了,然后试过了光驱启动,挂双硬盘,也没有任何作用,真奇怪!于是便找来我的死党,一起来研究这块硬盘,由于在CMOS里面可以找到硬盘,所以可以断定硬盘没有损坏,但是为何就无法启动呢? 后我们猜想可能是黑客程序在硬盘里面放了什么逻辑炸弹(先在这里卖个关子,下面再讲原理^_^),我和死党想了许多的办法,有两个方法应该可以解决:一个就是低级格式化,但是这样的话就违背我们DIY的精神当然我们是不会用的,还有一个方法就是我重点讲的啦!那就是对硬盘进行热拔插,那是一个让每一个DIY的小鸟和菜鸟们都闻风丧胆的事。于是我们在加电热拔插之前应该先做好了一切的准备,并尽可能想一下会出现的问题,把硬盘的电源线先给拔松了一点,防止在热拔插时拔不出来,那就遭了,不过也不能太松不然会找不到硬盘的,找一张软盘启动盘,并插到软驱里,加电开机,看着熟悉的画面,心里有说不出的激动,可是激动归激动手可不要抖,不然硬盘烧掉就惨了,(那就会欲哭无泪,到那时也没有人会来同情你的),到了 精彩的时候了,眼睛牢牢盯住你的显示器,软驱灯亮之前(就是要在DOS自举之前并且装入硬盘驱动后,)按下键盘上的“PAUSE”!再把硬盘上的电源线的给拔掉,然后就恢复暂定,一直到DOS启动完成出现DOS提示符的时候,这时你再把电源线给插到硬盘上去,这时如果硬盘没坏的话,就会发现已经可以用磁盘分区工具FDISK命令来查看硬盘的分区表了,不过没有这么简单,里面的分区表已经被黑客程序给恶意修改了,只能查看不能修改也不能删除而且一团糟,用普通的办法还是不能解决的,此时只有靠我的死党“黑晶”用他 拿手的DEBUG来手工恢复了!不过只能修复C盘也就是主引导分区,因为扩展分区已经修改了。好了大家终于可以松口气了,刚才由于太紧张手心全是汗。恢复了以后,硬盘就可以用FDISK把主引导分区的其它空间分成扩展分区与逻辑盘了。一切OK!硬盘一直用到现到现在也没有坏!终于大功告成!
看到现在大家一定想知道这个硬盘为什么不能用普通的办法启动的原因吧!!听我老鸟慢慢讲来:那是因为计算机在引导DOS系统时将会搜索逻辑盘(就是你所谓的C:D:E:…啦!!)的顺序,当DOS被引导时,她会去找主引导扇区的分区表信息,她位于硬盘的零头零柱面的第一个扇区的OBEH地址开始的地方,当分区信息开始的地方为80H时表示是主引导分区,其他的为扩展分区,主引导分区被定义为逻辑盘C盘,然后查找扩展分区的逻辑盘,被定义为D盘,以此类推找到E,F,G…..而我们在热拔插硬盘软驱启动DOS之后用DEBUG读入主引导分区记录发现扩展分区的第一个逻辑盘指向自己,这就是正常无法启动的原因,DOS在查找第一个逻辑盘后,查找下个逻辑盘总是找到是自己,这样一来就形成了死循环,所以使软驱,光驱,双硬盘都不能启动,现在明白了吗?不过这种办法只是供各位参考研究在没有办法的时候并且过了保修期的时候才可以使用呀!(编辑推荐:还是用低格的办法比较安全了,不过这两位朋友的DIY精神是值得我们学习的。)不然硬盘烧了可别来怪我哟!(那可是 终必杀呀!)菜鸟切记!切记!
使用DEBUG手工修复硬盘步骤如下:
a:\debug
-a
-xxxx:100 mov ax,0201读一个扇区的内容
-xxxx:103 mov bx,500设置一个缓存地址
-xxxx:106 mov cx,0001设置第一个硬盘的硬盘指针
-xxxx:109 mov dx,0080读零磁头
-xxxx:10c int 13
硬盘中断
-xxxx:10e int 20
-xxxx:0110退出程序返回到指示符
-g运行
-d500查看运行后500地址的内容
这时候会发现地址6be开始的内容是硬盘分区的信息,发现此硬盘的扩展分区指向自己,这就使DOS或WINDOWS启动时查找硬盘逻辑盘进去死循环,知道了原因就好办了,在DEBUG指示符下用E命令修改内存数据具体如下:
E6BE
xx.0 xx.0 xx.0……………………………………..
…………………..55 AA (55 AA表示硬盘有效的标记,不要修改)
(xx0表示把以前的数据“xx”改成0)
再用硬盘中断13把修改好的数据写入硬盘就可以啦!
如下:A:\debug
a 100表示修改100地址的汇编指令
-xxxx:100 mov ax,0301写硬盘一个扇区
-xxxx:这里直接按回车
-g运行
-q退出
然后运行FDISK/MBR(重置硬盘引导扇区的引导程序),再重新启动电脑就行了!(圣堂天使黑晶)
方法二
这两天在站上看到一篇文章“硬盘历险记”,作者是圣堂天使、黑晶,讲述他们勇闯禁区,“胆大妄为”、采用“热插拔”的方法解决身中逻辑炸弹的硬盘的事。其敢于冒险、创新尝试的精神令我心折。然而我还是认为,那种方法的危险不亚于排除地雷或者是定时炸弹,一不小心就会让硬盘一命呜呼,不是一般水平的DIYER能够轻易尝试的。非艺高胆大、眼明手快者不可为。即便如此,还是要在万般无奈、别无他法的情况下才死马当活马医,以图绝处生机。我虽然自认可以算是老鸟,却也没有那样的好身手采用那样的办法“排雷”。
其实大概在四五年前我就遇到类似的“逻辑炸弹”的问题,据说还是某著名防病毒厂家加入到他们产品中来防止盗版的。后来在bbs上讨论分析过,很多人提出了自己的结论和解决办法。我看过后很受启发,刚好手头也有两三台“中弹”的机子,于是经过一番研究试验,找到了比较安全稳妥的办法。决不需要热插拔,也不需要其他特殊工具,更不用低格, 大的可能代价只是一张软盘――我想,比起一块硬盘的代价,应该容易承担得多了吧!两位作者固然勇气可嘉,身手不凡,其实他们原本没有必要冒那么大得风险的。好了,不卖关子,以下待我一一道来:
1.准备一张系统盘, 好是dos6.x的,还带上debug、fdisk等工具(不难弄到吧?)
2.在一台正常的机器上,先去掉系统盘上io.sys文件的全部属性,然后使用你熟悉的任何二进制编辑工具(debug就可以,古老的pctools5.0也行,或者windows下的ultraedit更好)在这个文件里面搜索字窜55aa,找到以后修改为任何其他数值(如66bb),保存退出后恢复该文件的原来属性。
3.好了,用这张改造后的系统软盘就可以顺利地带着中弹的硬盘启动了,当然,现在还不能使用c、d之类的逻辑盘,但是fdisk应该可以使用了,重新分区吧!!如果fdisk还是不能使用,那么就需要使用debug修改硬盘主引导扇区的标志了(就是圣、黑两位的文章里提到的做法)。
其实,就算确实要使用“热插拔”法解决逻辑炸弹,圣黑两位的做法还是有改进的余地。也就是说,应该可以改用“冷拔热插”法,这样能够减少一半的风险。具体是在软盘启动先给硬盘插上数据线而不插电源线,等待启动完成后再给硬盘“热插”上电源线,此时从理论上,以及按照我的经验推断,应该可以使用分区软件了。但是本人仍然没有胆量去实际尝试这样的一个“热插”,仅仅是推测而已,不知圣黑两位或其他网友是否敢于一试。未经证实之言,仅供参考。)。
至于那张改动后的软盘就看着办吧:是按照原来的做法改回去呢,还是干脆重新格掉继续使用?要不就原样留下作为你“安全排雷”的经历的纪念吧,哈哈!!(zega)
方法三
近日在站上接连看到两篇文章“硬盘历险记”和“排雷新法”,分别讲述作者如何解决身中逻辑炸弹的硬盘的事。第一篇文章的作者圣堂天使、黑晶独辟蹊径,采用带电插拔的方法,构思新颖,豪气干云,为我平生所未见,深表叹服。“排雷新法”作者zega使用的是一种纯软件解决方案,修改系统文件io.sys以达到带“病”启动的目的,方法虽好,但debug、fdisk、pctools、ultraedit的综合使用太麻烦,让一般的使用者望而却步。
笔者一年前也遇到过这一问题,一开始以为是硬盘“牺牲”了,遂新购一盘。使用半月后,一日上网时突然死机。重启,自检正常,启动系统……,一分钟没动静,又“牺牲”啦,天啊!冷静之后仔细想想,不可能两块硬盘都坏吧,要不然Seagate也太失败了(两块硬盘都是Seagate的)。再想到都是上网死机后出现的故障,难道是中“招”了?软盘也不能启动,可恶!
怎么办?经过几天的折腾,终于找到一种简单、方便、可靠的解决方法。
所需的东西很简单,兼容机(大多数的国内品牌机也可)一台,DM软件(买硬盘的时候送或上网down)。下面开始喽:
第一步,把DM拷到好的硬盘上(如果有的话,没有的就用软盘好了)。
第二步,接上坏硬盘,开机,进CMOS,除好硬盘外,其他的IDE设为NONE(关键所在),保存,启动。
第三步,进入DOS,运行DM,选中坏硬盘,分区格式化,OK后启动。
第四步,进CMOS,识别硬盘或设为AUTO,保存后启动。
好了,简单吧,对习惯使用DM分区格式化硬盘的网友来说,简直是小菜一叠。
需要说明的是,象IBM、HP这类原装电脑一般不能用这种方法,因为第二步不能完成,也就无法启动系统。
该方法的原理是DM不依赖于BIOS设置的硬盘识别安装方式,相信网友们都知道在不能识别大硬盘的早期系统上是如何安装大容量硬盘的吧。