硬盘还原卡也称硬盘保护卡,它主要的功能就是还原硬盘上的数据。每一次开机时,硬盘保护卡总是让硬盘的部分或者全部分区能恢复先前的内容。换句话说,任何对硬盘受保护的分区的修改都无效,这样就起到了保护硬盘数据的内容。
    硬盘保护卡的原理简单来讲就是它接管对硬盘进行读写操作的一个INT13中断,保护卡在系统启动的时候首先用它自己的程序接管INT13中断地址。这样,只要是对硬盘的读写操作都要经过保护卡的保护程序进行保护性的读写。也就是先将FAT文件分配表、硬盘主引导区、CMOS信息、中断向量表等信息都保存到保护卡内的临时储存单元中。用来应付我们对硬盘内数据的修改。每当我们向硬盘写入数据时,其实还是完成了写入到硬盘的操作,可是没有真正修改硬盘中的FAT。而是写到了备份的FAT表中,这就是为什么系统重启后所有写操作一无所有的原因了。
还原卡的主体是一种硬件芯片,插在主板上与硬盘的MBR(主引导扇区)协同工作。大部分还原卡的原理都差不多,其加载驱动的方式十分类似DOS下的引导型病毒:接管BIOS的INT13中断,将FAT、引导区、CMOS信息、中断向量表等信息都保存到卡内的临时储存单元中或是在硬盘的隐藏扇区中,用自带的中断向量表来替换原始的中断向量表;再另外将FAT信息保存到临时储存单元中,用来应付我们对硬盘内数据的修改;最后是在硬盘中找到一部分连续的空磁盘空间,然后将我们修改的数据保存到其中。
    硬盘保护卡在学校的机房管理中占有很重要的地位,基本上达到了“一卡无忧”的目标,使用了硬盘保护卡后极大的减少了机房的维护,基本无需担心病毒、误操作等问题。当然,如果硬盘发生了物理性损坏,硬盘保护卡是无能为力的。 在教育、科研、设计、网吧等单位使用较多。它可以让电脑硬盘在大多情况下非物理损坏 ,恢复到最初的样子。换句话说,不管是病毒、误改、误删、故意破坏硬盘的内容等,都可以轻易地还原。
一、原理篇 硬盘还原卡也称硬盘保护卡,在教育、科研、设计、网吧等单位使用较多。它可以让电脑硬盘在大多情况下非物理损坏 ,恢复到最初的样子。换句话说,不管是病毒、误改、误删、故意破坏硬盘的内容等,都可以轻易地还原。 还原卡的主体是一种硬件芯片,插在主板上与硬盘的MBR(主引导扇区)协同工作。大部分还原卡的原理都差不多,其加载驱动的方式十分类似DOS下的引导型病毒:接管BIOS的INT13中断,将FAT、引导区、CMOS信息、中断向量表等信息都保存到卡内的临时储存单元中或是在硬盘的隐藏扇区中,用自带的中断向量表来替换原始的中断向量表;再另外将FAT信息保存到临时储存单元中,用来应付我们对硬盘内数据的修改;最后是在硬盘中找到一部分连续的空磁盘空间,然后将我们修改的数据保存到其中。 每当我们向硬盘写入数据时,其实还是写入到硬盘中,可是没有真正修改硬盘中的FAT。由于保护卡接管INT13,当发现写操作时,便将原先数据目的地址重新指向先前的连续空磁盘空间,并将先前备份的第二份FAT中的被修改的相关数据指向这片空间。当我们读取数据时,和写操作相反,当某程序访问某文件时,保护卡先在第二份备份的FAT中查找相关文件,如果是启动后修改过的,便在重新定向的空间中读取,否则在第一份的FAT中查找并读取相关文件。删除和写入数据相同,就是将文件的FAT记录从第二份备份的FAT中删除掉。
二、安装篇 现在市面上硬盘还原卡种类很多,大多是PCI总线,采用了即插即用技术,不必重新进行硬盘分区,而且免装驱动程序。安装时把卡插入计算机中任一个空闲的PCI扩展槽中,开机后检查BIOS以确保硬盘参数正确同时将BIOS中的病毒警告设置为Disable。在进入操作系统前,硬盘还原卡会自动跳出安装画面,先放弃安装而进入Windows,确保计算机当前硬件和软件已经处于最佳工作状态,建议检查一下计算机病毒,确保安装还原卡前系统无病毒。最好先在Windows里对硬盘数据作一下碎片整理。杀毒软件的实时防毒功能、各种基于Windows的系统防护/恢复软件的功能已经完全或者部分地被还原卡包含,建议关闭或不安装或卸载。 重启后安装还原卡,并设置还原卡的保护选项(具体设置因还原卡不同而异)。但大多都应有以下几项:硬盘保护区域设定、还原方式设定(包括开机自动恢复、选择恢复和定时恢复等)、密码设定等。设置完毕,保护数据后,整个硬盘就在还原卡的保护之下了。
三、使用篇 1.使用GHOST进行磁盘对拷 很多的还原卡在说明书中写着并不支持GHOST的使用,因为还原卡在硬盘的隐藏扇区中写有数据,直接对拷后很可能会蓝屏进不了系统。然而很多情况下(如网吧、学校等单位大批机器软件安装),我们还是要使用GHOST做磁盘对拷。必须将源盘和目标盘的还原卡彻底移除(大部分还原卡的设置选项均中有移除选项,有的厂商提供专门的卸载工具,或者将还原卡从主板上直接拔下),这样才能安全清除还原卡在隐藏扇区中保存的数据,然后就能正常地使用GHOST了。
2.保留一定的硬盘空间 大多数厂商标榜自己的还原卡不占用硬盘空间,但硬盘可用空间非常少时,硬盘还原卡就会工作不正常了。因为硬盘剩余空间太少,当硬盘写操作较多时,还原卡因为没有足够的动态缓冲区而强制系统停机。所以建议使用保护卡时不要将硬盘空间占满,至少剩余几百兆可用空间给硬盘还原卡存储临时数据。
3.慎用还原卡的多分区引导 有些还原卡提供了多重引导分区的功能,但要注意利用还原卡进行特殊分区会破坏原有硬盘的所有内容与信息,要删除这些分区时也将会破坏所有的信息,在操作时一定要作好对重要数据的备分。各个多引导分区之间并不可见,各系统不能相互访问到。如需要多操作系统,建议使用第三方多重引导软件,例如System Commander等。
4.还原卡的安全性 无疑,保证数据的安全是还原卡最重要的一个方面。实际上,当隐藏扇区中保护卡保存的数据受到损坏时或硬盘本身受到了物理损坏时,硬盘其它被保护的资料就很容易出现问题,如发生硬盘死锁、无法读取数据等现象。此外,由于大部分还原卡的原理都是修改中断向量表来接管INT13中断,所以一些高手很容易通过找到Int13h的原始BIOS中断向量值,填入中断向量表的方法,恢复INT13的BIOS中断向量,来达到屏蔽掉还原卡的效果。 此外还原卡密码的安全性也令人担忧。网上有居心叵测之人提供了某些品牌还原卡的破解工具;部分品牌的还原卡本身带有通用密码;另外还有一部分厂商提供了还原卡的密码清除工具或还原卡安装信息清除工具(可能是厂商怕用户不慎忘记密码而设置的,可是这却无形中降低了数据的安全性)。 所以,还原卡的保护功能给日常的工作提供了便利,却是防君子防不了小人,防菜鸟防不了黑客的,永远都不要相信还原卡是万能的!
5.还原卡的选择 首先要选择兼容性好的还原卡。由于操作系统、主板类型的不同,还有安装的各种软件,不可能保证还原卡百分之百的与主机兼容。市场上还原卡种类很多,选购时一定要注意是否全面支持DOS、Win32、Win95/97/98/2000/NT、Linux等常见操作系统,并让系统在真正的32位系统下工作,而不是MS-DOS兼容方式;是否完全不占系统IRQ及I/0资源,有无硬件及软件相冲突的问题;最大支持硬盘的数量。此外,除了最基本的硬盘保护功能,很多还原卡还拥有其他功能,如BIOS数据保护,自带硬盘对拷和网络对拷功能,网络维护,多重引导分区,软件升级等,更为用户提供了方便。
要提醒虚拟还原用户的是,不要以为装有还原卡或是还原软件就掉以轻心,要知道世界上还是有病毒能够穿透虚拟还原技术的保护,达到破坏硬盘的目的的,想象一下如果把这一原理运用到CIH病毒中,或者运用到硬盘杀手病毒中,其后果是不堪设想的。 谈谈如何用这种可以穿透虚拟还原技术的代码来破解还原软件(如还原精灵)吧。以下是我写的用来测试破解还原精灵的代码,本代码编译后的程序需要在纯DOS环境执行,在DOS下我用这段代码成功的把还原精灵给卸载了。 .286 CODE SEGMENT     ASSUME CS:CODE,DS:code,ES:code START: ---------------------------------------------------------- 以下代码用INT13H读主引导区 mov     ax,0201h mov     dx,0080h mov     cx,0001h mov     bx,7c00h int      13h --------------------------------------------------------- 以下代码用I/O端口来写主引导区 mov     dx,1f6h          要读入的磁盘号及磁头号 mov     al,0a0h          磁盘0,磁头0 out      dx,al mov     dx,1f2h          要写的扇区数量 mov     al,1             写一个扇区 out      dx,al mov     dx,1f3h         要写的扇区号 mov     al,1            写到1扇区 out      dx,al mov     dx,1f4h          要写的柱面的低8位 mov     al,0             低8位为0 out      dx,al mov     dx,1f5h          要写的柱面的高2位 mov     al,0             高2位为0 out      dx,al mov     dx,1f7h         命令端口 mov     al,30h          尝试着写扇区. out      dx,al oogle: in       al,dx test      al,8            磁盘扇区缓冲是否准备好 jz       oogle mov     cx,512/2        设置循环次数(512/2) mov     si,7c00h mov     dx,1f0h         数据端口,用来存放要发送的数据. rep      outsw           发送数据. ------------------------------------------------------------------------------ 退出程序 mov     ah,4ch int       21 CODE ENDS     END START 上面的程序非常简单,说明如下: 1、先把被还原精灵备份的原来的主引导区用INT13H读出来,这里虽然是对0头0道1扇进行读操作,但实际上是在读被还原精灵把原来的主引导区备份进去的那个扇区; 2、把读出的原来的主引导区通过输入输出操作写进真正的主引导区,换句话说就是把还原精灵给彻底删除了,此时重新启动你将发现还原精灵已经没有了。 我写了个FORWIN98/NT/XP的卸载还原精灵等软件的程序,不过已经有人先我一步了,那就是网吧终结者出的一个清MBR的程序,我试了一下,发现的确有用,我还没有仔细分析该程序,但我敢肯定其原理差不多。那个程序写得不错,不过我认为有一点需要改进,我的硬盘的MBR程序是我自己写的,用来实现多引导操作,当我执行完该清MBR程序后,我的多引导代码就没了,我觉得此程序如果能把核心代码部分改成象我以上的代码,在还原精灵下是把装还原精灵之前的MBR写回到主引导区,即使没装还原精灵的硬盘也只是把主引导区写回主引导区,就没有任何的危险了。 用以上的方法要实现还原卡的破解可能是不行的,因为还原卡毕竟是硬件,它可以先于硬盘引导前执行,这样即使你写回了硬盘的主引导区,还原卡还是可以把它写回的,但是,在破解还原卡的时候,完全可以利用文章中的原理,把还原卡写入硬盘主引导区的真正代码读出进行分析,甚至有些还原卡的密码就在这个扇区中。    对于还原卡和还原软件的制造者来说,如何让您制造的还原卡或还原软件更安全,可能是一个需要思考的问题。真心希望以后的还原卡或是还原软件在拦截INT13H的同时也能拦截硬盘I/O操作。 在我安装还原精灵的时候看到一个选项是“防止硬盘I/O破坏”,开始还以为还原精灵在这方面做的不错,想到了从拦截I/O操作来保护硬盘。可惜我错了,即使选择这一个选项,也同样可以通过输入输出端口操作来写硬盘。对于掌握了这种技术的人来说,这种还原卡或是还原软件可以说是形同虚设。因此我认为,还原卡和还原软件不但要实现拦截所有硬盘写操作、拦截对主引导区的读写操作,更应该拦截对硬盘的读写端口的操作,只有这样的虚拟还原技术才可能使基于硬盘的读写端口操作所对硬盘的破坏或是对虚拟还原技术的破解变成不可能。   
【公司名称】:沈阳科希盟科技 【投影业务电话】:024-88610499,13604049873武志恒 【教学软件业务电话】:13700024770李欣 【公司电话】:024-88610499 【公司传真】:024-83960195                【公司网站】:www.green-soft.net                         投影QQ:33363916 ,45559299(加入请说明来意),投影MSN:83960195@hotmail.com  (加入请说明来意),教学软件QQ:66522731(加入请说明来意) ,教学软件MSN:muzi0155@ hotmail.com  (加入请说明来意) |