|
硬盘逻辑锁:
硬盘逻辑锁原本是黑客所使用的一种技术,随着当年KV300事件而名声大造,虽然本人对硬盘逻辑锁非常痛恨,但其也是个很好的加密技术,使用得当会使数据更加安全,当然我们也可以通过硬盘逻辑锁锁住硬盘,使硬盘从表面上看来已经损坏。
硬盘逻辑锁加锁的原理:
一个完整的硬盘锁程序,就是人为的改写0柱面0磁头1扇区的引导程序,并将分区表破坏,并故意制造一个循环分区表,而将真正的硬盘分区表参数和引导程序放在其它隐藏扇区并保护起来。在从自身启动时校验口令是否正确,如果口令不正确则无法启动电脑;如果口令正确,则把硬盘分区的内容改为正常值读入内存,这时系统就可以顺利启动。对于加锁的硬盘,即使我们把它放到别的机子也是不能启动的。没有密码您无法读取硬盘中的信息和数据,这对于保护硬盘中的数据是一种非常好的办法。但是如果想更安全,就必须把硬盘分区表中的内容进行加密存储,那时即时您使用这里介绍的方法启动电脑了,也无法正确读取硬盘分区表中的内容。要想读取就必须了解程序的加密原理,然后解密。
数据存储结构简介:
要实现硬盘逻辑锁就要大致了解硬盘数据存储的结构,MBR(Main Boot Record),按其字面上的理解即为主引导记录区,位于整个硬盘的0磁道0柱面1扇区。不过,在总共512字节的主引导扇区中,MBR只占用了其中的446个字节(偏移0--偏移1BDH),另外的64个字节(偏移1BEH--偏移1FDH)交给了DPT(Disk Partition Table硬盘分区表)(见下表),最后两个字节"55,AA"(偏移1FEH- 偏移1FFH)是分区的结束标志。这个整体构成了硬盘的主引导扇区。大致的结构如下图:

分区表的最后两个字节是它的有效标志,改变后将无法从硬盘启动,这就是第一种简单的锁住硬盘的方法。这种方法最简单,具有很高的实用价值。解决方法:只要从光盘或软盘启动就能对硬盘进行识别,启动后用Debug或Diskedit等软件将硬盘分区表中的标志(即55,AA)恢复就可以了。第二种方法是修改分区参数,如果将分区参数全部变为0,则启动后由于找不到分区参数无法从硬盘启动,用启动盘从光盘或软盘启动后也不认硬盘,这种硬盘逻辑锁最接近硬盘损坏的情况,推荐使用此种方法。解决方法:虽然已经锁住了硬盘,但不过机器毕竟还能够自检通过,所以我们可以在启动后使用光盘或软盘里的debug等工具修复被改动的分区表参数。第三种方法是如果将硬盘分区表参数改成一个循环链,即将D分区起始柱面,扇区数,磁道数指向C分区开始的起始柱面,磁道数,扇区数。当计算机启动时,主引导程序分析硬盘分区表时就进入死循环状态,计算机无休止的读取分区信息。这时无论我们是从硬盘启动还是从软盘启动,到检测硬盘那一步就死机。具体表现为当出现“Update DMI data”后,计算机只有光标闪烁,没有其他任何反应。但是这种做法如果想恢复硬盘数据时也比较麻烦,在操作前必须对硬盘的主引导区数备份。对于此种方法笔者并不推荐,一来实现起来比较麻烦,二来太不道德。
动手实验硬盘逻辑锁:
首先我们使用DiskGen来保存分区表文件,用引导光盘启动,在DOS下运行DiskGen,如下图所示,保存分区表文件(按F9即可),我们暂且将分区表文件保存在C盘根目录下,最后生成两个文件,一个为HDPT.HDP文件,另一个为HDPT.TXT文件。


我们使用UltraEdit32打开HDPT.HDP文件,通过查找55 AA来确定修改目标,使用第一种硬盘锁只需将55 AA全部改成00 00即可。当然第一种硬盘锁就已经可以锁住硬盘,达到我们退货的目的了,如果不放心可以将分区表内的数据全部修改为00,这样第二种硬盘锁也已经轻松实现了。

下面,我们使用DiskGen来把修改之后的分区表文件恢复到硬盘中。硬盘逻辑锁就完成了,这种方法 足够让JS为您的硬盘进行更换了。

|