当前位置:主页 > 技术专题 > 硬盘技术 >

    ibm硬盘如何解锁(放电)

    2010-08-16 11:54 作者:admin 来源:admin 浏览次数:

    计算机在引导DOS系统时将会搜索所有逻辑盘的顺序,当DOS被引导时,首先要去找主引导扇区的分区表信息,位于硬盘的零头零柱面的第一个扇区的OBEH地址开始的地方,当分区信息开始的地方为80H时表示是主引导分区,其他的为扩展分区,主引导分区被定义为逻辑盘C盘,然后查找扩展分区的逻辑盘,被定义为D盘,以此类推找到E,F,G.....“逻辑锁”就是在此下手,修改了正常的主引导分区记录将扩展分区的第一个逻辑盘指向自己,DOS在启动时查找到第一个逻辑盘后,查找下个逻辑盘总是找到是自己,这样一来就形成了死循环,这就是使用软驱,光驱,双硬盘都不能正常启动的原因。实际上这“逻辑锁”只是利用了DOS在启动时的一个小小缺陷,便令不少高手都束手无策。知道了“逻辑锁”的“上锁”原理,要解锁也就比较容易了。以前我看到有位朋友采用“热拔插”硬盘电源的方法来处理:就是在当系统启动时,先不给被锁的硬盘插上电源线,等待启动完成后再给硬盘“热插”上电源线,这时如果硬盘没有烧坏的话,系统就可以控制硬盘了。当然这是一种非常危险的方法,大家不要轻易尝试,下面介绍两种比较简单和安全的处理方法。
    --------------------------------------------------------------------------------
    方法一:修改DOS启动文件

    首先准备一张DOS6.22的系统盘,带上debug、pctools5.0、fdisk等工具。然后在一台正常的机器上,使用你熟悉的二进制编辑工具(debug、pctools5.0,或者windows下的ultraedit都行)修改软盘上的IO.SYS文件(修改前记住改该文件的属性为正常),具体是在这个文件里面搜索第一个“55aa”字符串,找到以后修改为任何其他数值即可。用这张修改过的系统软盘你就可以顺利地带着被锁的硬盘启动了。不过这时由于该硬盘正常的分区表已经被黑客程序给恶意修改了,你无法用FDISK来删除和修改分区,而且仍无法用正常的启动盘启动系统,这时你可以用DEBUG来手工恢复。使用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(重置硬盘引导扇区的引导程序),再重新启动电脑就行了。

    怎么样?用这种方法处理够简单的吧?而且这种方法还有一个好处就是可以保住盘上的数据!如果你不需要保数据的话,还有更加简单的处理方法:

    方法二:巧设BIOS,用DM解锁

    大家知道DM软件是不依赖于主板BIOS的硬盘识别安装软件,(所以在不能识别大硬盘的老主板上也可用DM来安装使用大容量硬盘)。就算在BIOS中将硬盘设为“NONE”,DM也可识别并处理硬盘。

    首先你要找到和硬盘配套的DM软件(找JS要或去网上荡),然后把DM拷到一张系统盘上。接上被锁硬盘,开机,按住DEL键,进CMOS设置,将所有IDE硬盘设为NONE(这是关键所在!),保存设置,重启动,这时系统即可 “带锁”启动。启动后运行DM,你会发现DM可以绕过BIOS,识别出硬盘,选中该硬盘,分区格式化,就OK了。这么简单?不过这种方法的弱点是硬盘上的数据将全部丢失。

    再来说说怎么制作硬盘逻辑锁

    以Quantum SE 3.2G硬盘,C盘2.1G,D盘1.1G 为例

    先将本硬盘的主引导程序(即0磁头0柱面1扇区的内容)备份到软盘中,这里是保存在软盘0磁头0柱面2扇区中,以便万一做不成功时,进行恢复

    C:\\DOS>DEBUG

    -a 100

    mov ax,201

    mov bx,200

    mov cx,1

    mov dx,80

    int 13 ;读硬盘0磁头0柱面1扇区的内容到ES:200处

    mov ax,301

    mov bx,200

    mov cx,2

    mov dx, 0

    int 13 ;写ES:200处内容到软盘0磁头0柱面2扇区

    int 3



    -g=100

    ;然后制作一张“启动盘1” :

    -a 200

    mov ax,201

    mov bx,2000

    mov cx,2

    mov dx,0

    int 13 ;读软盘0磁头0柱面2扇区的内容到ES:2000处

    jb 200

    mov ax,301

    mov bx,2000

    mov cx,1

    mov dx,80

    int 13

    jmp ffff:0000



    -w 200 0 0 1 ;执行此命令之前插入上述软盘,将这一段起引导作用的程序写到软盘的0磁头0柱面1扇区,使之成为一张特殊的“启动盘1”。

    以上为准备工作


    现在开始制作

    我们先看一看硬盘分区表的信息(下述为实例,读者在**作中,显示的段地址不一定是1186):

    C:\\DOS>DEBUG

    -a100

    1186:0100 mov ax,201

    1186:0103 mov bx,200

    1186:0106 mov cx,1

    1186:0109 mov dx,80

    1186:010C int 13

    1186:010E int 3

    1186:010F ↙

    -g=100


    -d 3b0 L 50

    1186:03B0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 80 01

    起始磁头号

    起始柱面号(01的高2位并上00)

    1186:03C0 01 00 06 7F BF 07 3F 00-00 00 C1 FB 3F 00 00 00

    结束磁头号、扇区号、柱面号(格式同前)

    起始扇区号(01的低6位)

    1186:03D0 81 08 05 7F FF 0C 00 FC-3F 00 80 1D 20 00 00 00

    1186:03E0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00

    1186:03F0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 55 AA


    -e 3c2

    02 ; 将分区类型 06 改为 02,即XENIX,该字节含义如下:

    0-无效分区

    1-DOS 12位FAT

    2-XENIX

    4-DOS 16位FAT 分区容量<32M

    5-扩展DOS分区

    6-DOS 16位FAT 分区容量>32M

    -e3d0

    01 00 ;将D区的起始扇区号和柱面号改为与C区相同的起始扇区号和柱面号,形成循环链表

    -a 100

    1186:0100 mov ax,301

    1186:0103 ↙


    -g=100

    ;将改后的内容写入硬盘主引导扇区

    -a 100

    1186:0100 mov ax,201

    1186:0103 ↙


    -g=100

    ;再次读出硬盘主引导扇区内容

    -d 3b0 L 50


    1186:03B0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 80 01

    1186:03C0 01 00 02 7F BF 07 3F 00-00 00 C1 FB 3F 00 00 00

    1186:03D0 01 00 05 7F FF 0C 00 FC-3F 00 80 1D 20 00 00 00

    1186:03E0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00

    1186:03F0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 55 AA


    ;显示表明以上分区表内容已改好

    -q

    ;退出DEBUG,重新启动系统,一切OK!Haha,软盘、硬盘都不能启动系统了!

    症状说明:

    1.只修改C盘的分区类型,即将分区类型06改为02后,硬盘不能启动,A盘可以启动。

    2.只做循环链表,Win95/98不能启动,但DOS 6.22可正常启动,启动后将有相同容量、相同数据的24个逻辑驱动器(从C盘到Z盘),启动时提示如下错误信息:

    Warning:Logical drives past Z exist and will be ignored

    笔者在多年前就做过循环分区链表,它对DOS 6.22 的启动可以说无效,但对付DOS 6.22 的FDISK命令很管用,一运行就“死机”(同 Win95/98 启动一样,因循环检查分区链表而呈死机状)。

    3.以上两条都修改后,C盘、A盘的DOS 6.22 都不能启动,但可用 A 盘的DOS 3.3启动,启动后可以运行FDISK命令,也可用DEBUG等工具修改分区表(无需顾及C盘容量是否超过33M)。

    由此可见,硬盘逻辑锁只针对DOS高版本有效,对DOS 3.3根本不起作用,循环链表对Win95/98 的DOS 即已经有效.
     

联系方式 | 收费标准 | 上门服务 | 公司简介 | 汇款账户

回天时代有限公司

杭州公司: 杭州市文三路388号钱江科技大厦10楼1016室

华东总部:上海市徐汇区漕溪北路41号汇嘉大厦12楼E室(太平洋一期12楼)

咨询热线:400-889-1122(全国),0512-66099871(苏州),021-58358765(上海),0571-88218821(杭州) 24小时热线:13524645444,案:浙ICP备06024533号