修改分区表
硬盘分区表信息对硬盘的启动至关重要,如果找不到有效的分区表,将不能从硬盘启动或即使从软盘启动也找不到硬盘。通常,第一个分区表项的第0字节为80H,表示C盘为活动DOS分区,硬盘能否自举就依靠它。若将该字节改为00H,则不能从硬盘启动,但从软盘启动后,硬盘仍然可以访问。分区表的第4字节是分区类型标志,第一分区的此处通常为06H,表示C盘为活动DOS分区,若对第一分区的此处进行修改可对硬盘起到一定加密作用。
启动口令
我们知道,在CMOS中可以设置系统口令,使非法用户无法启动计算机,当然也就无法使用硬盘了。但这并未真正锁住硬盘,因为只要将硬盘挂在别的计算机上,硬盘上的数据和软件仍可使用。要对硬盘启动加口令,可以首先将硬盘0柱面0磁头1扇区的主引导记录和分区信息都储存在硬盘并不使用的隐含扇区,比如0柱面0磁头3扇区。然后用Debug重写一个不超过512字节的程序(实际上100多字节足矣)装载到硬盘0柱面0磁头1扇区。该程序的功能是执行它时首先需要输入口令,若口令不对则进入死循环;若口令正确则读取硬盘上存有主引导记录和分区信息的隐含扇区(0柱面0磁头3扇区),并转去执行主引导记录。
由于硬盘启动时首先是BIOS调用自举程序INT19H将主硬盘的0柱面0磁头1扇区的主引导记录读入内存0000:7C00H处执行,而我们已经偷梁换柱,将0柱面0磁头1扇区变为我们自己设计的程序。
这样从硬盘启动时,首先执行的不是主引导程序,而是我们设计的程序。在执行我们设计的程序时,口令若不对则无法继续执行,也就无法启动了。即使从软盘启动,由于0柱面0磁头1扇区不再有分区信息,硬盘也不能被访问了。当然还可以将我们设计的程序像病毒一样,将其中一部分驻留在高端内存,监视INT13H的使用,防止0柱面0磁头1扇区被改写。
用户加密
UNIX操作系统可以实现多用户管理,在DOS系统下,将硬盘管理系统进行改进,也可实现类似功能的多用户管理。该管理系统可以满足这样一些要求:
- 将硬盘分为公用分区C和若干专用分区D。其中“超级用户”来管理C区,可以对C区进行读写和更新系统;“特别用户”(如机房内部人员)通过口令使用自己的分区,以保护自己的文件和数据;“一般用户”(如到机房上机的普通人员)任意使用划定的公用分区。后两种用户都不能对C盘进行写操作,这样如果把操作系统和大量应用软件装在C盘,就能防止在公共机房中其他人有意或无意地对系统和软件的破坏,保证了系统的安全性和稳定性。在系统启动时,需要使用软盘钥匙盘才能启动系统,否则硬盘被锁住,不能被使用。此方法的实现可通过利用硬盘分区表中各逻辑盘的分区链表结构,采用汇编编程来实现。
写保护
我们知道,软盘上有写保护缺口,在对软盘进行写操作前,BIOS要检查软盘状态,如果写保护缺口被封住,则不能进行写操作。而写保护功能对硬盘而言,在硬件上无法进行,但可通过软件来实现。
在DOS系统下,磁盘的写操作包括几种情况:
①在支持下的写操作,如MD、RD、COPY等;
②在DOS功能调用中的一些子功能如功能号为10H、13H、3EH、5BH等可以对硬盘进行写操作;
③通过INT26H将逻辑扇区转换为绝对扇区进行写;
④通过INT13H的子功能号03H、05H等对磁盘进行写操作。但每一种写操作最后都要调用INT13H的子功能去实现。
因此,如果对INT13H进行拦截,可以实现禁止对硬盘特定逻辑盘的写操作。由于磁盘上文件的写操作是通过INT13H的03H子功能进行写,调用此子功能时,寄存器CL表示起始扇区号(实际上只用到低6位);CH表示磁道号,在硬盘即为柱面号,该柱面号用10位表示,其最高两位放在CL的最高两
流程
位。对硬盘进行分区时可以将硬盘分为多个逻辑驱动器,而每个逻辑驱动器都是从某一个完整的柱面开始。如笔者的硬盘为2.5GB,分为C、D、E、F、G五个盘。其中C盘起始柱面号为00H,D盘起始柱面号为66H,E盘起始柱面号为E5H,F盘起始柱面号为164H,G盘起始柱面号为26BH。如果对INT13H进行拦截,当AH=03H,并且由CL高两位和CH共同表示的柱面号大于E4H并小于164H,就什么也不做就返回,这样就可以实现对E盘禁止写。具体表现在:
1.若将该字节改为0,则表示该分区未使用,当然不能再从C盘启动了。从软盘启动后,原来的C盘不见了,你看到的C盘是原来的D盘,D盘是原来的E盘,依此类推。
2.若将此处字节改为05H,则不但不能从硬盘启动,即使从软盘启动,硬盘的每个逻辑盘都不可访问,这样等于整个硬盘被加密了。另外,硬盘主引导记录的有效标志是该扇区的最后两字节为55AAH。若将这两字节变为0,也可以实现对整个硬盘加锁而不能被访问。硬盘分区表在物理0柱面0磁头1扇区,可以用NortonforWin95中的Diskedit直接将该扇区调出并修改后存盘。或者在Debug下用INT13H的02H子功能将0柱面0磁头1扇区读到内存,在相应位置进行修改,再用INT13H的03H子功能写入0柱面0磁头1扇区就可以了。
上面的加密处理,对一般用户来讲已足够了。但对有经验的用户,即使硬盘不可访问,也可以用INT13H的02H子功能将0柱面0磁头1扇区读出,根据经验将相应位置数据进行修改,可以实现对硬盘解锁,因为这些位置的数据通常是固定的或有限的几种情形。另外一种保险但显得笨拙的方法是将硬盘的分区表项备份起来,然后将其全部变为0,这样别人由于不知道分区信息,就无法对硬盘解锁和访问硬盘了。
加密的四种方法
一、修改硬盘分区表信息
硬盘分区表信息对硬盘的启动至关重要,如果找不到有效的分区表,将不能从硬盘启动或即使从软盘启动也找不到硬盘。通常,第一个分区表项的第0子节为80H,表示C盘为活动DOS分区,硬盘能否自举就依*它。若将该字节改为00H,则不能从硬盘启动,但从软盘启动后,硬盘仍然可以访问。分区表的第4字节是分区类型标志,第一分区的此处通常为06H,表示C盘为活动DOS分区,若对第一分区的此处进行修改可对硬盘起到一定加密作用。
具体表现在:
1.若将该字节改为0,则表示该分区未使用,当然不能再从C盘启动了。从软盘启动后,原来的C盘不见了,你看到的C盘是原来的D盘,D盘是原来的E盘,依此类推。
2.若将此处字节改为05H,则不但不能从硬盘启动,即使从软盘启动,硬盘的每个逻辑盘都不可访问,这样等于整个硬盘被加密了。另外,硬盘主引导记录的有效标志是该扇区的最后两字节为55AAH。若将这两字节变为0,也可以实现对整个硬盘加锁而不能被访问。硬盘分区表在物理0柱面0磁头1扇区,可以用NortonforWin95中的Diskedit直接将该扇区调出并修改后存盘。或者在Debug下用INT13H的02H子功能将0柱面0磁头1扇区读到内存,在相应位置进行修改,再用INT13H的03H子功能写入0柱面0磁头1扇区就可以了。
上面的加密处理,对一般用户来讲已足够了。但对有经验的用户,即使硬盘不可访问,也可以用INT13H的02H子功能将0柱面0磁头1扇区读出,根据经验将相应位置数据进行修改,可以实现对硬盘解锁,因为这些位置的数据通常是固定的或有限的几种情形。另外一种保险但显得笨拙的方法是将硬盘的分区表项备份起来,然后将其全部变为0,这样别人由于不知道分区信息,就无法对硬盘解锁和访问硬盘了。
二、对硬盘启动加口令
我们知道,在CMOS中可以设置系统口令,使非法用户无法启动计算机,当然也就无法使用硬盘了。但这并未真正锁住硬盘,因为只要将硬盘挂在别的计算机上,硬盘上的数据和软件仍可使用。要对硬盘启动加口令,可以首先将硬盘0柱面0磁头1扇区的主引导记录和分区信息都储存在硬盘并不使用的隐含扇区,比如0柱面0磁头3扇区。
然后用Debug重写一个不超过512字节的程序(实际上100多字节足矣)装载到硬盘0柱面0磁头1扇区。该程序的功能是执行它时首先需要输入口令,若口令不对则进入死循环;若口令正确则读取硬盘上存有主引导记录和分区信息的隐含扇区(0柱面0磁头3扇区),并转去执行主引导记录。
由于硬盘启动时首先是BIOS调用自举程序INT19H将主硬盘的0柱面0磁头1扇区的主引导记录读入内存0000:7C00H处执行,而我们已经偷梁换柱,将0柱面0磁头1扇区变为我们自己设计的程序。这样从硬盘启动时,首先执行的不是主引导程序,而是我们设计的程序。
在执行我们设计的程序时,口令若不对则无法继续执行,也就无法启动了。即使从软盘启动,由于0柱面0磁头1扇区不再有分区信息,硬盘也不能被访问了。当然还可以将我们设计的程序像病毒一样,将其中一部分驻留在高端内存,监视INT13H的使用,防止0柱面0磁头1扇区被改写。
三、对硬盘实现用户加密管理
UNIX操作系统可以实现多用户管理,在DOS系统下,将硬盘管理系统进行改进,也可实现类似功能的多用户管理。该管理系统可以满足这样一些要求:
- 将硬盘分为公用分区C和若干专用分区D。其中“超级用户”来管理C区,可以对C区进行读写和更新系统;“特别用户”(如机房内部人员)通过口令使用自己的分区,以保护自己的文件和数据;“一般用户”(如到机房上机的普通人员)任意使用划定的公用分区。后两种用户都不能对C盘进行写操作,这样如果把操作系统和大量应用软件装在C盘,就能防止在公共机房中其他人有意或无意地对系统和软件的破坏,保证了系统的安全性和稳定性。在系统启动时,需要使用软盘钥匙盘才能启动系统,否则硬盘被锁住,不能被使用。此方法的实现可通过利用硬盘分区表中各逻辑盘的分区链表结构,采用汇编编程来实现。
依赖硬件的加密方案
1.软盘加密
这是在计算机上最为古老的一种加密方案,它的原理是在软盘的特殊位置写入一些信息,软件在运行时要检验这些信息。这种软盘就好像一把钥匙。软件开发商只需一次投资购买一套加密工具就可以自己制作多张钥匙盘。此方法加密简单,成本低,在软件发展的不同时期都能看到其闪光点。
但因为软驱是慢速设备,多次检查软盘上的加密点会大大拖慢程序的运行速度,所以一般加密软件只在软件运行开始的时候检查一次,这样不能避免用户用一张加密盘启动多份软件。而且由于软盘是一种易损载体,加密软件对软盘加密点的反复读写很容易造成软盘的损坏。
而这张加密盘又不能备份,软件公司要不断应付用户更换加密盘的请求。另外由于这种加密技术出现得较早,硬解密的技术相对比较成熟,像双星公司的King-Copy软件能拷贝大多数的加密软盘,连加密点一起复制,复制后的软盘还是加密的。
2.卡加密
在90年代初,各种各样的汉卡涌现出来,随之而来的卡加密技术也风行一时。由于种种问题,这种加密技术现在已经难得一见了。
3.软件锁加密
软件锁加密是在国外首先出现的,它是一个插在计算机打印口上火柴盒大小的设备,国内俗称“加密狗”。在加密锁内部存有一定的数据和算法,计算机可以与之通讯来获得其中的数据,或通过加密锁进行某种计算。软件无法离开加密锁而运行。
由于它不像卡加密那样需要打开计算机的机箱来安装,但又像加密卡那样可以随时访问,而且访问速度很快,所以一推出就受到软件开发者们的青睐。目前,所有的加密锁都提供了可编程的接口。用户可以控制加密锁中的内容,在程序中通过加密锁的接口任意访问加密锁。
国外加密锁一般仅提供若干种算法,但好的加密锁不但可以向客户提供加密算法,也容许客户根据自己的意愿自定义加密算法,容许客户自定义用户ID号。但加密锁也是有一定欠缺的,由于加密锁利用的是计算机的打印口,而打印口原来是为打印机而设计的,软件锁一方面要保证用户加密操作的正确,同时也要保证打印机工作的正常。但由于打印机驱动程序设计上千差万别,没有任何一家的加密锁能够完全做到这一点。
4.光盘加密
既然有软盘加密成功在先,为什么不能有光盘加密呢?但实际操作上确实是有一些问题的,因为光盘有ISO9660标准协议规定,其可控制性比软盘还要严格,想找出一种只能运行而不能复制的方式确实很困难。但现在确实已经有几家这样的产品出来了,而且加密方法也不尽相同。
其主要原理是利用特殊的光盘母盘上的某些特征信息是不可再现的,而且这些特征信息大多是光盘上非数据性的内容,在光盘复制时复制不到的地方。因为投入是一次性的,对于大规模的生产这种加密方案可以将成本降得很低。而且软件数据和加密在同一载体上,对用户无疑是很方便的。
但这是一种较新的加密方案,很多方面还需进一步验证。而且由于加密方式所限,不可能在用户自己刻录的光盘上实现这种加密,必须是生产线上生产的光盘才能够实现。这对于一些小规模的软件生产厂商还是有一定困难的,而且由于光盘的只读性,一旦加密有错是无法修复的。
不依赖硬件的加密方案
所有的带有附加硬件设备的加密方案都有一定的加密成本在里面,对于那些价格高昂的软件当然无所谓,但对于那些共享软件或价格本身就很低的软件来说,硬件加密成本可能比软件本身的售价还高,所以近年来产生了很多软加密方案。
1.密码表加密
在软件运行的开始要求用户根据屏幕的提示信息输入特定的答案,答案往往在用户手册上的一份防复印的密码表中。用户只有输入密码正确后才能够继续运行。这种加密方案实现简单,不需要太多的成本。但用户每次运行软件都要查找密码,不免使用户感到十分不便。像台湾的游戏大多采用此加密方式。而且往往有一些有耐心者把整个密码表输入到计算机中存成一个文件,同软件的盗版一同公布出来,让加密者无可奈何。基本上是一种防君子不防小人的加方式密。
2.序列号加密
这种加密方式从某种角度来讲不是一套完整的加密方案,现今很多Shareware(共享软件)大多采用这种加密方式,用户在软件的试用期是不需要交费的,一旦试用期满还希望继续使用这个软件,就必须到软件公司进行注册,然后软件公司会根据你提交的信息(一般是用户的名字)来生成一个序列号。
当你收到这个序列号以后,并在软件运行的时候输入进去,软件会验证你的名字与序列号之间的关系是否正确,如果正确说明你已经购买了这个软件,也就没有日期的限制了。这种加密方案实现简单,而且购买过程也完全在Internet上实现,无论是开发者和购买者都觉得很方便。
不过有心的人可能已经注意到软件的名字与序列号之间的验证是在你的计算机上完成的,很多黑客利用这个漏洞找出了名字和序列号之间的换算关系,编写出一种叫KeyMaker的程序,你只要输入你的名字,这个程序会帮助你计算出序列号,再将你的名字和这个序列号输入进软件中就变成正版软件了。而且也没有什么更好的方法来阻止用户扩散他注册后得到的序列号。
3.许可证加密
这种方式从某种角度上可以说是序列号加密的一个变种,你从网上下载的或购买过来的软件并不能直接使用,软件在安装时或运行时会对你的计算机进行一番检测,并根据检测结果生成一个你的计算机的特定指纹,这个指纹可以是一个小文件,也可以是一串谁也看不懂的数。
你需要把这个指纹数据通过Internet、E-mail、电话、传真等方式发送到开发商那里,开发商再根据这个指纹给你一个注册码或注册文件,你得到这个注册码或注册文件并按软件要求的步骤在你的计算机上完成注册后方能使用。
这个方法的买卖也是完全通过网络来进行的,而且用户购买的软件被限制只能在他自己的计算机上面运行,换到其他的计算机上,这个注册码或注册文件可能不再有效。但用户更换某些硬件设备也可能造成注册码的失效,而且用户得到软件后在完成注册工作前会有一段时间无法使用。
常用硬盘加密软件
1.MagicLockerV1.02
硬盘加密保护工具,MagicLocker采用随机的密钥为文件
www.skycn.com/soft/13659.html
2.紫电硬盘加密神1.3
紫电硬盘加密神是目前独一无二的硬盘分区加密软件。但是不仅仅包括硬盘。实际上,任何
www.onlinedown.net/soft/42774.htm
3.SecurStarDriveCrypt4.10
为你提供高达1344Bit军用硬盘加密技术,加密速度快,加密强度高
download.pchome.net/development/install/2938.html
4.MagicLocker1.02
硬盘加密保护工具,MagicLocker采用随机的密钥为文件分区表加密,通过密码锁定硬盘,
www.onlinedown.net/soft/18057.htm
5.紫电硬盘加密神V2006.1.21
紫电硬盘加密神是目前独一无二的硬盘分区加密软件,但
www.skycn.com/soft/24170.html
6.CompuSec4.20
CompuSec是用来保护您的系统的软件,主要使用一些认证机制、硬盘加密保护等来确保系统
www.onlinedown.net/soft/33634.htm
7.MagicLockerV1.02
硬盘加密保护工具,MagicLocker采用随机的密钥为文件分区表加密。通过密码锁定硬
download.21cn.com/list.php?id=33935
8.紫电硬盘加密神V2006.1.21
www.ddooo.com/softdown/34876.htm
9.紫电硬盘加密神V2006.1.21
www.78soft.com/soft/16058.htm
10.紫电硬盘加密神V2006
目前独一无二的硬盘分区加密软件。
download.enet.com.cn/html/060482006020601.html
11.PWMBR2.1
一个硬盘加密工具
download.enet.com.cn/html/070532000082010.html
12.MagicLockerV1.02
硬盘加密保护工具
download.enet.com.cn/html/060512003082601.html
13.CompuSec
CompuSec是用来保护您的系统的软件,主要使用一些认证机制、硬盘加密保护等来确保系
www.mydown.com/soft/240/240251.html
http://www.soft8.net/soft8.php?page=1&word=%D3%B2%C5%CC%BC%D3%C3%DC&by=js&site=all
常用移动硬盘加密软件
U盘、移动硬盘加密工具绿色版
此加密软件是从高强度文件夹加密软件中的分离出来的无需安装也无需安装原软件、可任意更改你喜欢的名称、没有任何限制也不要注册。可加密任何一个分区或文件夹、加密后的文件夹复制移动到任一台电脑上都需用你的原始密码才能打开(那台电脑上并不需要安装此软件和原软件)支持完全解密和临时解密。
类似爱国者的记慧棒U盘加密工具。(本工具保密性很强、即使你打开系统中所有的隐藏文件看到的也只是几个图标也已、不能看不到你的真实文件、此工具没有防删功能如果你删除了这几个隐藏的图标则你的加密文件也删除了。我用文件嗅探器工具也看不到加密后真实的文件。即使你重装系统或GHOST恢复系统也还是需要你的原始密码才能打开。)
使用方法
1、将此加密工具复制到你的U盘或移动硬盘根目录中(不是放在文件夹中)则可以加密隐藏U盘或移动硬盘上的所有文件。加密后在U盘或移动硬盘中不能看到你的文件只能看到此工具。但不影响你对U盘或移动硬盘的操作,你的新建立文件将在将在下次加密中一并加密。如果你或他人不慎误删除了此工具,放心你加密的文件还在,只要你将此工具再次复制过来用你原来的密码即可打开。
2、将此加密工具放到文件夹中则只加密当前文件夹。需加密多个文件夹则每个文件夹中都得安放本工具、不同的文件夹可用不同的密码,但密码你必须记牢。
3、此工具也可以在电脑中加密本地分区或本地文件夹。加密后的文件夹如果复制移动到其它电脑上一样需要你的原始密码打后开才能看到文件。
呵呵,这下使用U盘或移动硬盘的朋友可方便了。再也不怕有人看到你的重要文件了
重要声明:
不要用此工具加密你系统所在的分区和系统文件夹。重要的文件请先作好备份以防丢失。建议先新建个的文件夹放些不重要的文件加密试用。然后再加密你重要的文件。本人测试加密后的文件夹刻录光盘后无效
误加密解锁方法
一、查看硬盘状态
将被加密的硬盘接好,进入PC3000AT主菜单界面,按下小键盘上的DEL键可以看到该硬盘的当前参数表。翻页到最后一页,可以看到如下信息:
passwordestablished:yes此处若为yes,即此盘被设定了口令;
若为no,即此盘未设口令。
HDDlocked:yes此处说明是否此盘已经被口令锁定。
Sequritylevel:Maximal此处说明口令锁定的安全级别;
只有两种情况:high和maximal。在high级别,可以用Masterpassword进行unlock,数据全部无损;在Maximal级别,不能用Masterpassword直接unlock,而是用Erase命令对全部进行写零才能unlock,数据全部丢失。
MasterCode:$FFFE此处若为$FFFE,即此盘的Masterpassword还是出厂时的默认值;
Mastercode:$FFFE此处若为$FFFE,即此盘的Masterpassword还是出厂时的默认值;
若为00,即说明此盘的Masterpassword不是出厂时的默认值。
二、一般解锁方法:
1、若知道用户原来设定的口令,可在PC-3000AT主菜单下按小键盘的6键(或右方向键),选择“Disksequritycommands”---“unlockdisk”,输入正确口令,回车,若提示操作成功即为解锁成功;然后,再执行”Clearpassword”,便可完全清除用户设定的口令,此时数据无损。
2、若不知道用户设定的口令,但Masterpassword为$FFFE,且Sequritylevel为high,则解锁步骤同上。但输入密码时须选择Passwordtype:master,并输入正确的masterpassword.
3、若不知道用户设定的口令,但Masterpassword为$FFFE,且Sequritylevel为maximal,则应执行“Disksequritycommands”-“Setpassword”,输入正确的Masterpassword,然后执行“Erasedisk”。经过数十分钟的数据清除过程后,硬盘可恢复到可使用状态,但原有数据全部丢失。
4、若不知道用户设定的口令也不知道Masterpassword,则需要用特别的方法解除密码
磁盘扇区数据加密
计算机文件和分区表等信息是以扇区块为基本单位,存放在硬盘、U盘或软盘等存储设备中。利用有关数学加密算法,在数据写入磁盘前,先进行加密处理,然后再写入磁盘的对应扇区中,这样磁盘里的数据就以密文的形式存在。
这种方法是真正的磁盘数据加密,有别于修改分区表、添加磁盘引导口令和篡改扇区地址等,无法分析磁盘的分区或文件存放情况,更无法获取硬盘里存放的文件。
这种磁盘加密方法的软件往往实现方案有两种:一、是软件方案,二、硬件加密方案。
软件加密占用CPU时间和大量的内存,且实时性较差;较好的方案是采用硬盘加密卡,采用专用加解密芯片对硬盘里的数据进行实时加解密。硬盘加密卡有两个数据端口,一个连接计算机主板,另一个连接硬盘具体结构