www.138139.cn

返回总目录 上一页 目录页 下一页

2·程序的装载


     在进行下面工作前,先用DOS格式化一张启动的系统盘,并保证没有坏扇区,最好进行启动测试,确保其可以启动机子。由于现在机子上大多只有3寸软驱,因此选 择1.44M的3.5寸软盘。然后用debug

  key.com将程序key.com调入内存偏移地址为100H,同时在400H处写入一段装载程序。即: 址163164.cn 微信1631640 QQ3149886

  C>debug key.com

  -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.com程序写入软盘0磁道0磁头1扇区

  427 MOV BX,0100

  42A MOV CX,0001

  42D MOV DX,0000

  430 INT 13

  432 INT 3

  为保证万无一失,最好将软盘这两个扇区的内容重新读出来看一看,以保证写成功了。做好这一切,保险的还是进行一次测试,即用该软盘启动一次机子,看能否成 功,若成功启动,你就可以用循环分区表法锁住硬盘,看从正常DOS下能否启动,然后再用此软盘启动机子试试,看看功效如何? 址163164.cn 微信1631640 QQ3149886

  从该软盘启动后,不认硬盘,并且在高端内存驻留了新INT

  13H程序,该段程序实际上是key.com中从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很容易操作和实现。有了备份分区表信息,就不怕破坏分区表的病毒了;再加上我给你的程序,即使有人真锁住了你的硬盘,你也可以轻而易 举解开了。

址163164.cn 微信1631640 QQ3149886

返回总目录 上一页 目录页 下一页