由ADM加锁的硬盘不用密码解开 成运 1997-01-01   我所用的微机用ADM把硬盘分成了两个区(C盘与D盘),其中C盘为只读盘,D盘设为可读写盘。   通常,要解除ADM对硬盘的加锁(由只读改变为可读写),须知道加锁时设置的密码或用软盘启动机器。一次我在上机时,发现机器的主引导区感染了病毒,必须及时清除。可当时我手头既无启动盘也不知道开锁密码,只好用对付病毒的方法分析了机器里面的一些系统信息,终于找到了一种简单的开锁方法,顺利清除了主引导区内的病毒,而且又给C盘加了锁,现将操作步骤介绍如下:   一、编开锁小程序并运行   启动机器进入debug命令,执行如下操作:   -a?   xxxx:0100 xor ax,ax?   xxxx:0102 mov ds,ax?   xxxx:0104 mov ax,[07b4]?   xxxx:0107 mov [0d4c],ax?   xxxx:010a mov ax,[07b6]?   xxxx:010a mov [004e],ax?   xxxx:0110 int 20濯?   xxxx:0112?   -g?   -q?   若内存里有引导型病毒,上述程序的运行可使内存里的病毒程序失去活力。   二、清除主引导区病毒   用FDISK/MBR命令即可。   三、重新对C盘加锁   热启动一次机器即可。   该方法所依据的原理是:ADM是通过截获INT 13H来实现对硬盘写保护的,而INT 13H中断向量最初是由BIOS设置的,机器引导DOS时,DOS接管INT 13H中断,为其增加了DMA超界错、ECC纠正数据错的两项错误妥善处理功能,以及对高密度软盘换盘的检测功能。DOS接管INT 13H中断时把原由BIOS设置的中断向量固定存放于0000:07b4开始的四个字节中(DOS 3.3、DOS 5.0、DOS 6.x等均如此),因此,我们可以简单地用原BIOS设置的INT 13H中断向量去覆盖由ADM设置的INT 13H中断向量,从而解除了ADM对硬盘的加锁。