硬盘逻辑锁重做系统能不能解开

2024-12-04 14:40:49
推荐回答(1个)
回答1:

我来帮你算了 给我找半天我的笔记本上的资料都快找干净了解开硬盘逻辑死锁的一种有效方法        一·序言        不知道你是否曾碰到过从软盘和硬盘都启动不了计算机的情形?一般计算机的硬 盘分区表被病毒感染后,若不能启动机子,通常从软盘可以启动。但在严重的情形下 ,不但从硬 盘不能启动机子,就是从软盘也不能启动。有的恶毒的病毒就能使硬盘被死锁。笔者一次在自己 机子上玩弄硬盘锁时,就被锁住过一次。结果在硬盘下选择DOS或WIN95模 式启动机子都死机,在 软盘下用DOS启动也死机;在COMS中将硬盘类型选择None,虽然可以从软盘启动,但启动后没有硬 盘,使用软盘上的FDISK命令,想重新分区或格式化都没门。 弄得我一筹莫展。        本来,硬盘被锁住时,可以采用3,程序用debug输入。        C>debug        -a100        100 CLI        101 XOR AX,AX        103 MOV DS,AX        105 MOV ES,AX        107 MOV SS,AX        109 MOV AX,7C00        10C MOV SP,AX        10E STI        10F MOV SI,AX        111 MOV DI,7E00        114 CLD        115 MOV CX,0200        118 REPNZ        119 MOVSB        11A JMP 0000:7E1F        11F MOV CX,0003        122 PUSH CX        123 MOV AX,0201;读启动软盘的引导扇区        126 MOV BX,7C00        129 MOV CX,4F01        12C MOV DX,0100        12F INT 13        131 POP CX        132 DEC CX        133 JNZ 0122        135 MOV AX,[004C];抢先获取INT 13H的位置        138 MOV [7E88],AX        13B MOV AX,[004E]        13E MOV [7E8A],AX        141 MOV AX,[0413]        144 DEC AX        145 MOV [0413],AX        148 MOV CL,06        14A SHL AX,CL        14C MOV ES,AX        14E XOR AX,AX        150 MOV DS,AX        152 MOV SI,7E6D;复制改写的INT 13H程序到高端内存        155 MOV DI,0000        158 MOV CX,0030        15B REPNZ        015C MOVSB        015D MOV AX,0000;将新INT 13H位置写入中断向量表        0160 MOV [004C],AX        0163 MOV AX,ES        0165 MOV [004E],AX        0168 JMP 0000:7C00        016D PUSHF;新INT 13H程序        016E CMP DX,0080;是否是硬盘        0172 JNZ 0176;不是硬盘则继续        0174 POPF        0175 IRET;是硬盘则直接返回        0176 CMP DX,+00;是否读软盘BOOT区?        0179 JNZ 0186        017B CMP CX,+01        017E JNZ 0186        0180 MOV CX,4F01;是则读79磁道1磁头1扇区        0183 MOV DX,0100        0186 POPF        0187 JMP 0000:0000;此处跳转去执行旧INT 13,                     ;旧INT 13H的位置由前面程序获得后写入。        N key将程序key        -a400        400 MOV CX,0003        403 PUSH CX        404 MOV AX,0201;将A盘引导程序读入内存1000H处        407 MOV BX,1000;为确保成功,首次采用重复读3次        40A MOV CX,0001        40D MOV DX,0000        410 INT 13        412 POP CX        413 DEC CX        414 JNZ 0403        416 MOV AX,0301;将已读入内存的软盘引导程序写入软盘        419 MOV BX,1000;最后一个磁道的首扇区        41C MOV CX,4F01        41F MOV DX,0100        422 INT 13        424 MOV AX,0301;将key中从16D到187部分。由于有此段程序存在, 在debug下也无法读硬盘,也就没法恢复硬盘分区表,因此机子启动后首先应修改这段 程序。现 在的机子基本内存通常都为640K,这样这段程序就位于内存中9FC0:0000处,在debug下,用 U9FC0:0显示这段程序,可以看到位于9FC0:001A处是一条跳转指令,该跳转指 令即转去执行最 原始的INT        13H。由于BIOS版本不一样,跳转指令指向的位置可能不一样,如笔者机子上是一 条JMP        F000:A5D4语句。这时在在debug下编写这样一语句:a9FC0:0 JMP        F000:A5D4。这样,对硬盘的禁写与禁读都不再起作用了,在debug下用INT        13H的2号子功能可以读出硬盘分区表,修改恢复后再用3号子功能将数据写回分区 表。退出debug,重新用正常DOS启动计算机,就可以了。        附带提一下,在正常DOS下,该软盘由于没有BOOT区,也就没有磁盘参数表,从而 不能使用,用DIR A:命令会出现General        failure reading drive A提示。不要理睬它,这并不影响它作特殊启动盘。        五·建议        为更好的保护你的硬盘,笔者建议你最好将你的硬盘分区表信息备份起来。备份 有两种方式,一种是以文件形式将硬盘每个逻辑盘的分区信息存储起来;另一种是将 分区信息备 份在硬盘隐藏扇区里。比如可以将0柱面0磁头1扇区备份在0柱面0磁头3扇区,将D盘开始柱面号0 磁头1扇区备份在该柱面0磁头3扇区,其它逻辑盘也如此。这种方法简单、 方便,也很可靠。用 NORTAN中的DISKEDI很容易操作和实现。有了备份分区表信息,就不怕破坏分区表的病毒了;再加 上我给你的程序,即使有人真锁住了你的硬盘,你也可以轻而易 举解开了。