怎样给硬盘分区加密(怎样给硬盘加密)

2022-06-18 23:04:34水婕阅
导读 大家好,精选小编来为大家解答以上的问题。怎样给硬盘分区加密,怎样给硬盘加密很多人还不知道,现在让我们一起来看看吧!为了防止你硬盘中

大家好,精选小编来为大家解答以上的问题。怎样给硬盘分区加密,怎样给硬盘加密很多人还不知道,现在让我们一起来看看吧!

为了防止你硬盘中存储的文件被外人窃取和窥视,你会对你的硬盘进行加密。那么如何加密硬盘呢?

1.实现硬盘的用户加密管理。

UNIX操作系统可以实现多用户管理。在DOS系统下,可以改进硬盘管理系统,也可以实现功能相似的多用户管理。管理体系可以满足这样的要求:

第一步:将硬盘分为公共分区C和若干特殊分区d,其中“超级用户”管理C区,可以读写和更新系统;“特殊用户”(比如机房内部的人)通过密码使用自己的分区,保护自己的文件和数据;“普通用户”(比如去机房的普通人)任意使用指定的公共分区。后两种用户无法对c盘进行写操作,所以如果在c盘上安装操作系统和大量应用软件,可以防止他人有意无意地破坏公共机房的系统和软件,保证系统的安全稳定。

第二步。系统启动时,需要使用软盘启动系统,否则硬盘会被锁定,无法使用。这种方法可以利用硬盘分区表中各逻辑磁盘的分区链表结构,采用汇编编程来实现。

2.修改硬盘分区表信息

硬盘分区表信息对于硬盘启动非常重要。如果找不到有效的分区表,您将无法从硬盘启动,甚至无法从软盘启动。通常第一个分区条目的第0分段是80H,这意味着c盘是一个活动的DOS分区,硬盘能否引导取决于它。如果该字节改为00H,则不能从硬盘引导,但从软盘引导后,仍可访问硬盘。分区表的第4个字节是分区类型标志,这里的第一个分区通常是06H,这意味着c盘是活动的DOS分区。如果在这里修改第一个分区,就可以对硬盘起到一定的加密作用。

具体表现在:

1.如果该字节更改为0,则意味着该分区未被使用,因此无法再从c盘启动。从软盘引导后,原来的c盘不见了。你看到的c盘是原来的D盘,D盘是原来的E盘,以此类推。

2.如果把这里的字节改成05H,就不能从硬盘引导,即使从软盘引导,硬盘的每个逻辑盘都是不可访问的,也就是说整个硬盘都是加密的。另外,硬盘主引导记录的有效标志是这个扇区的最后两个字节是55AAH。如果这两个字节改成0,整个硬盘就可以被锁定,无法访问。硬盘分区表在物理0柱面0头的扇区1,在Norton for Win95中可以通过Diskedit直接调出修改并保存。或者在Debug下,用INT 13H的02H子函数把0柱面0头的扇区1读入内存,在相应的位置修改,然后用INT 13H的03H子函数写0柱面0头的扇区1。

以上加密处理对于一般用户来说已经足够了。但对于有经验的用户来说,即使硬盘无法访问,也可以使用INT 13H的02H子功能读出0柱面0磁头1扇区,根据经验修改相应的位置数据,从而解锁硬盘,因为这些位置的数据通常是固定的或有限的。另一种安全但笨拙的方法是备份硬盘的分区条目,然后全部改为0,这样别人就因为不知道分区信息而无法解锁访问硬盘。

3.对逻辑磁盘进行写保护。

众所周知,软盘上有一个写保护间隙。在写入软盘之前,BIOS应该检查软盘的状态。如果写保护间隙被封闭,写操作将无法执行。对于硬盘来说,写保护功能无法在硬件上实现,但可以通过软件实现。在DOS系统下,磁盘写操作包括几种情况:COMMAND.COM支持的写操作,如MD、RD、COPY等。DOS函数调用中的一些子函数,如函数号10H、13H、3EH、5BH等。可以写入硬盘;逻辑扇区被INT 26H转换成绝对扇区进行写入;通过子功能号03H、05H等写入磁盘。INT 13H的。但是每次写操作最后都要调用INT 13H的子函数。

因此,如果INT 13H被拦截,则可以禁止对硬盘的特定逻辑盘的写操作。因为磁盘上的文件是通过INT 13H的03H子函数写入的,所以调用这个子函数时,寄存器CL表示起始扇区号(实际只使用低6位);CH代表磁道号,是硬盘上的柱面号。缸号用10位数字表示,其最高两位放在CL的最高两位。对硬盘进行分区时,可以将硬盘分成多个逻辑驱动器,每个逻辑驱动器从一个完整的柱面开始。比如作者的硬盘是2.5GB,分为C、D、E、F、G五个磁盘,其中C盘的起始柱面号是00H,D盘是66H,E盘是E5H,F盘是164H,G盘是26BH。如果截获INT 13H,当AH=03H,CL和CH的高两位表示的柱面号大于E4H小于164H时,什么都不做就返回,从而禁止写入E盘。

4.给硬盘引导设置密码。

我们知道,系统密码可以设置在CMOS中,这样非法用户就无法启动电脑,当然也就无法使用硬盘。但这并没有真正锁定硬盘,因为只要硬盘挂在另一台电脑上,硬盘上的数据和软件仍然可以使用。要给硬盘引导设置密码,可以先把硬盘0柱面0磁头的扇区1的主引导记录和分区信息存储在硬盘不使用的隐藏扇区,比如柱面0磁头的扇区3。然后用Debug重写一个不超过512字节的程序(其实100多字节就够了)加载到硬盘0柱面0磁头1扇区。这个程序的作用是执行时先输入一个密码,如果密码错了,进入无限循环;如果密码正确,读取硬盘上存储主引导记录和分区信息的隐藏扇区(0柱面,0磁头,3扇区),去执行主引导记录。

本文到此结束,希望对大家有所帮助。

免责声明:本文由用户上传,如有侵权请联系删除!