CN103049223B - 一种硬盘隐藏区的解除方法、装置和*** - Google Patents
一种硬盘隐藏区的解除方法、装置和*** Download PDFInfo
- Publication number
- CN103049223B CN103049223B CN201210582938.XA CN201210582938A CN103049223B CN 103049223 B CN103049223 B CN 103049223B CN 201210582938 A CN201210582938 A CN 201210582938A CN 103049223 B CN103049223 B CN 103049223B
- Authority
- CN
- China
- Prior art keywords
- hard disk
- instruction
- hidden area
- hard disc
- hard
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Signal Processing For Digital Recording And Reproducing (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供了一种硬盘隐藏区的解除方法、装置及***,其中执行所述方法的装置连接于只读保护设备与硬盘之间,所述方法包括,获取硬盘信息;根据硬盘信息包括的硬盘隐藏区校验位识别硬盘是否支持硬盘隐藏区指令,若支持硬盘隐藏区指令,则发送指令获取硬盘隐藏区最大地址;将硬盘信息包括的硬盘可见容量最大地址与硬盘隐藏区最大地址进行比较识别硬盘是否包括硬盘隐藏区;若硬盘包括硬盘隐藏区,发送解除指令进行硬盘隐藏区的解除;发送还原指令进行隐藏区的还原或先断掉硬盘连接和硬盘电源一设定时间后重新进行硬盘连接和硬盘上电,然后再发送还原指令进行硬盘隐藏区的还原;通过本方法可实现解除及还原硬盘隐藏区,且能保证硬盘数据不被修改。
Description
技术领域
本发明属于硬盘隐藏区解除的领域,特别涉及一种可还原的硬盘隐藏区的解除方法、装置和***。
背景技术
高级技术附件规格(AdvancedTechnologyAttachment,ATA)标准从1994年至今共经历了7代标准,ATA接口发展到ATA-6时候,这种并行接口的电缆属性、连接器和信号协议遇到了很大的技术瓶颈,2002年最新的ATA-7标准提出后并没有得到广泛应用,只有迈拓公司推出一系列ATA-7标准的硬盘,而其它厂商则转向串行高级技术附件规格(SerialAdvancedTechnologyAttachment,SATA)接口规范,SATA是由DELL、IBM、Intel、Maxtor、Quantum,Seagate等公司合作开发用于取代并行ATA接口的技术,兼容ATA协议规范,目前已经发展到第三代SATA。
2001年,根据ATA-4标准,硬盘开始引入HPA(HostProtectedArea)特性。HPA为通过用ATA命令直接把硬盘后部保护起来的一块区域,不仅操作***无法看到HPA,甚至连主板BIOS都无法读取HPA中的数据。只要不用ATA协议中定义的特别命令打开HPA,就不可能用普通方法对HPA进行读写操作。可以通过发送ATA指令“SETMAXADDRESS”将硬盘分为用户可访问区域或受限区域,即解除HPA和设置HPA。其中,解除HPA有两种方法,一种是临时解除HPA,即执行“SETMAXADDRESS”指令前把指令的Count第0位置为1,解除后用户可访问HPA,硬盘掉电或硬件复位后,HPA自动还原,下次读写硬盘需要再次解除才能访问;另一种是彻底解除HPA,即执行“SETMAXADDRESS”指令前把指令的Count第0位置为0,解除后用户可访问该HPA,硬盘掉电或硬件复位后,HPA消失,需要重新设置才能还原。而且,“SETMAXADDRESS”指令只能发送一次,如果要再发送,则需要硬盘掉电再上电或硬件复位。
在ATA-6标准中,硬盘引入了DCO(DeviceConfigurationOverlay)特性。DCO特性主要可以允许设备厂商为PC(PersonalComputer)制作商提供不同型号但容量基本一样的硬盘,使得每个硬盘可以有完全相同的可用扇区数。这使得硬盘制造商在硬盘制造方面更加灵活,同时与其他***供应商保持一致,而且在DCO基础上还可以同时设置HPA,而不影响HPA特性。只要不用ATA协议中定义的特别命令解除DCO,就不可能用普通方法对此区域进行读写操作。可以通过向硬盘发送ATA指令“DEVICECONFIGURATIONRESTORE”来解除DCO,解除后需要发送“DEVICECONFIGURATIONSET”来设置硬盘实际可用扇区数才能恢复DCO。
为保证取证工作的司法有效性与数据完整性,取证人员一般在计算机和硬盘之间串接一个只读保护设备,保证硬盘的数据只被读取,不被写入。但是设置DCO的ATA指令“DEVICECONFIGURATIONSET”是写操作,无法通过只读保护设备对硬盘进行操作,无法还原DCO,因此会改***盘的可见容量大小。
发明内容
本发明的目的是能够在解除硬盘隐藏区、获得硬盘内部数据后还原硬盘隐藏区,且能够保证硬盘数据不被修改,从而保证取证工作的司法有效性与数据完整性。
本发明提出一种硬盘隐藏区的解除方法,执行所述方法的装置连接于只读保护设备与硬盘之间,所述方法包括:
获取硬盘信息;
根据硬盘信息包括的硬盘隐藏区校验位来识别硬盘是否支持硬盘隐藏区指令,若支持硬盘隐藏区指令,则发送指令获取硬盘隐藏区最大地址;
将硬盘信息包括的硬盘可见容量最大地址与所述硬盘隐藏区最大地址进行比较来识别硬盘是否包括硬盘隐藏区;
若硬盘包括硬盘隐藏区,以根据硬盘信息包括的第一设定参数确定的指令发送方式发送解除指令进行硬盘隐藏区的解除;
以根据第一设定参数确定的指令发送方式发送还原指令进行隐藏区的还原或先断掉硬盘连接和硬盘电源一设定时间后重新进行硬盘连接和硬盘上电,然后再以根据第一设定参数确定的指令发送方式发送还原指令进行硬盘隐藏区的还原。
优选的,本方法还包括将硬盘信息包括的第二设定参数与存储的上个硬盘相应的参数进行比对,判断是否为同一硬盘,若不是同一硬盘,则将硬盘信息进行存储,若是同一硬盘,则选择是否进行硬盘隐藏区的还原。
其中,所述硬盘隐藏区为HPA区域和/或DCO区域。
其中,所述获取硬盘信息为通过发送IDENTIFYDEVICE指令获取IDENTIFYDEVICEDATA,共256字。所述获取硬盘隐藏区最大地址包括获取HPA区域的最大地址和/或获取DCO区域的最大地址,其中,通过发送READNATIVEMAXADDRESS指令获取HPA区域的最大地址THENATIVEMAXADDRESS,共4字;通过发送DEVICECONFIGURATIONIDENTIFY指令获取DEVICECONFIGURATIONIDENTIFYDATA,所述DCO区域的最大地址为DEVICECONFIGURATIONIDENTIFYDATA的第3~6字。
其中,所述硬盘可见容量的最大地址是通过IDENTIFYDEVICEDATA的第100-103字减1计算出来的。
优选的,所述硬盘隐藏区校验位为IDENTIFYDEVICEDATA的第83字第11位和第82字第10位。
优选的,所述第一设定参数为IDENTIFYDEVICEDATA的第7字第8位,根据所述第一设定参数确定用28-bit指令方式发送指令或用48-bit方式发送指令。所述第二设定参数为IDENTIFYDEVICEDATA的第27~46字和第10~19字,分别代表硬盘的盘符和序列号。
优选的,若隐藏区包括HPA区域但不包括DCO区域时,对HPA区域的解除包括临时解除HPA区域和彻底解除HPA区域。
特别的,所述方法是基于FPGA控制芯片来控制的方法。
本发明还提出一种硬盘隐藏区的解除装置,所述装置连接于只读保护设备与硬盘之间,包括,
获取单元,用于获取硬盘信息;
第一识别单元,用于根据硬盘信息包括的硬盘隐藏区校验位来识别硬盘是否支持硬盘隐藏区指令,若支持硬盘隐藏区指令,则发送指令获取硬盘隐藏区最大地址;
第二识别单元,用于将硬盘信息包括的硬盘可见容量最大地址与所述硬盘隐藏区最大地址进行比较来识别硬盘是否包括硬盘隐藏区;
解除单元,用于以根据硬盘信息包括的第一设定参数确定的指令发送方式发送解除指令进行硬盘隐藏区的解除;
还原单元,用于以根据第一设定参数确定的指令发送方式发送还原指令进行隐藏区的还原或先断掉硬盘连接和硬盘电源一设定时间后重新进行硬盘连接和硬盘上电,然后再以根据第一设定参数确定的指令发送方式发送还原指令进行硬盘隐藏区的还原。
优选的,所述装置还包括判断单元,用于将硬盘信息包括的第二设定参数与存储的上个硬盘相应的参数进行比对,判断是否为同一硬盘,若不是同一硬盘,则将硬盘信息进行存储,若是同一硬盘,则选择是否进行硬盘隐藏区的还原。
其中,所述硬盘隐藏区为HPA区域和/或DCO区域。
其中,所述获取单元获取硬盘信息为通过发送IDENTIFYDEVICE指令获取IDENTIFYDEVICEDATA,共256字。所述第一识别单元获取硬盘隐藏区最大地址包括获取HPA区域的最大地址和/或获取DCO区域的最大地址,其中,通过发送READNATIVEMAXADDRESS指令获取HPA区域的最大地址THENATIVEMAXADDRESS,共4字;通过发送DEVICECONFIGURATIONIDENTIFY指令获取DEVICECONFIGURATIONIDENTIFYDATA,所述DCO区域的最大地址为DEVICECONFIGURATIONIDENTIFYDATA的第3~6字。
其中,所述硬盘可见容量的最大地址是通过IDENTIFYDEVICEDATA的第100-103字减1计算出来的。
优选的,所述硬盘隐藏区校验位为IDENTIFYDEVICEDATA的第83字第11位和第82字第10位。
优选的,所述第一设定参数为IDENTIFYDEVICEDATA的第7字第8位,根据所述第一设定参数确定用28-bit指令方式发送指令或用48-bit方式发送指令。所述第二设定参数为IDENTIFYDEVICEDATA的第27~46字和第10~19字,分别代表硬盘的盘符和序列号。
优选的,当隐藏区包括HPA区域但不包括DCO区域时,所述解除单元执行的对HPA区域的解除包括临时解除和彻底解除。
特别的,所述装置还包含FPGA控制芯片,用于控制所述各单元的执行。
本发明另外提出一种硬盘隐藏区的解除***,包括本发明所述的装置,还包括:
第一SATA控制器,用于将所述装置与上位机连接,接收上位机发送的数据
并传送给所述装置;
第二SATA控制器,用于将所述装置与SATA硬盘连接,所述装置通过第二
SATA控制器控制SATA硬盘;
FLASH控制器,用于在存储FLASH数据时,将所述装置传送的FLASH数据存储到FLASH存储芯片对应的存储位置;在读取FLASH数据时,读取所述装置指定存储位置的FLASH存储芯片中的FLASH数据传送给所述装置;
SATA硬盘电源控制器,用于将所述装置的SATA硬盘电源通断信号转成SATA
硬盘电源控制模块所需的信号;
按键和显示屏控制器,用于驱动按键和显示屏,将所述装置传送的信息在
显示屏上显示,将用户按下的按键命令传送给所述装置;
FLASH存储芯片,用于存储所述装置获得的SATA硬盘信息;
配置存储芯片,用于存储FPGA的配置程序,上电时完成对FPGA控制芯片
的配置;
SATA硬盘电源控制模块,用于控制SATA硬盘电源的通断状态;
按键,用于用户输入命令;
显示屏,用于显示所述装置的工作状态及硬盘状态。
通过本发明提供的方法、装置和***,能够在解除硬盘隐藏区、获得硬盘内部数据后还原硬盘隐藏区,且能够保证硬盘数据不被修改,从而保证取证工作的司法有效性与数据完整性。
附图说明
图1是本发明一种硬盘隐藏区的解除方法实施例的流程图;
图2是本发明一种硬盘隐藏区的解除装置实施例的示意图;
图3是本发明一种硬盘隐藏区的解除装置另一实施例的示意图;
图4是本发明一种硬盘隐藏区的解除***实施例的示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
参照图1,示出了本发明硬盘隐藏区的解除方法实施例的流程图,将执行本发明方法的装置连接于只读保护设备与硬盘之间,再将只读保护设备连接于计算机。所述方法包括如下步骤,S1,获取硬盘信息;S2,根据硬盘信息包括的硬盘隐藏区校验位来识别硬盘是否支持硬盘隐藏区指令,若支持硬盘隐藏区指令,则发送指令获取硬盘隐藏区最大地址;S3,将硬盘信息包括的硬盘可见容量最大地址与所述硬盘隐藏区最大地址进行比较来识别硬盘是否包括硬盘隐藏区;S4,若硬盘包括硬盘隐藏区,以根据硬盘信息包括的第一设定参数确定的指令发送方式发送解除指令进行硬盘隐藏区的解除;S5,以根据第一设定参数确定的指令发送方式发送还原指令进行隐藏区的还原或先断掉硬盘连接和硬盘电源一设定时间后重新进行硬盘连接和硬盘上电,然后再以根据第一设定参数确定的指令发送方式发送还原指令进行硬盘隐藏区的还原。其中,所述硬盘隐藏区为HPA区域和/或DCO区域。
通过本发明提供的方法,能够在解除硬盘隐藏区、获得硬盘内部数据后还原硬盘隐藏区,且能够保证硬盘数据不被修改,从而保证取证工作的司法有效性与数据完整性。
具体的,在S1中,获取硬盘信息为通过发送ATA指令IDENTIFYDEVICE获取IDENTIFYDEVICEDATA,共256字,从中可以获取硬盘属性、硬盘支持的ATA指令等信息。
具体的,在S2中,根据硬盘信息包含的硬盘隐藏区校验位IDENTIFYDEVICEDATA的第83字第11位i和第82字第10位j来识别硬盘是否支持硬盘隐藏区指令,即HPA指令和/或DCO指令。设定硬盘可容量最大地址为X,HPA最大地址为Y,DCO最大地址为Z,当ij=00b时,硬盘不支持HPA指令和DCO指令,赋值Y=X,Z=X;当ij=01b时,硬盘支持HPA指令但不支持DCO指令,发送ATA指令获取HPA区域的最大地址Y,同时赋值Z=Y;当ij=10b时,则硬盘不支持HPA指令但支持DCO指令,发送ATA指令获取DCO区域的最大地址Z,同时赋值Y=X;当ij=11b时,则硬盘同时支持HPA指令和DCO指令,发送ATA指令获取HPA区域的最大地址Y和DCO区域的最大地址Z。具体的,通过发送ATA指令READNATIVEMAXADDRESS获取HPA区域的最大地址THENATIVEMAXADDRESS,共4字;通过发送ATA指令DEVICECONFIGURATIONIDENTIFY获取DEVICECONFIGURATIONIDENTIFYDATA,共256字,所述DCO区域的最大地址为DEVICECONFIGURATIONIDENTIFYDATA的第3~6字;所述硬盘可见容量的最大地址是通过IDENTIFYDEVICEDATA的第100-103字减1计算出来的。
具体的,在S3中,将上述X,Y,Z进行比较来识别硬盘是否包含HPA和/或DCO。当X=Y且Y=Z时,硬盘不包含HPA和DCO;当X<Y且Y=Z时,硬盘有包含DCO;当X=Y且Y<Z时,硬盘包含HPA;当X<Y且Y<Z时,硬盘包含HPA和DCO。
具体的,在S4中,所述第一设定参数为IDENTIFYDEVICEDATA的第7字第8位,也就是说,根据IDENTIFYDEVICEDATA的第7字第8位确定用28-bit指令方式发送指令或用48-bit方式发送指令。若硬盘包含HPA区域但不包含DCO区域时,发送HPA解除指令进行HPA区域的解除;若硬盘包含DCO区域但不包含HPA区域时,发送DCO解除指令进行DCO区域的解除;若硬盘包括HPA区域和DCO区域时,以根据所述第一设定参数确定的指令发送方式先发送HPA解除指令进行HPA区域的解除,再发送DCO解除指令进行DCO区域的解除。
具体的,在S5中,同样是以根据第一设定参数确定的指令发送方式发送还原指令进行隐藏区的还原。若硬盘包含HPA区域但不包含DCO区域时,发送HPA还原指令进行HPA区域的还原;若硬盘包含DCO区域但不包含HPA区域时,发送DCO还原指令进行DCO区域的还原;若硬盘包含HPA区域和DCO区域时,先断掉硬盘连接和硬盘电源一设定时间后重新进行硬盘连接和硬盘上电,以保证硬盘内电容有足够的时间放电且可让硬盘的盘片停止转动以保护硬盘,然后再以根据第一设定参数确定的指令发送方式先发送DCO还原指令进行DCO区域的还原,再发送HPA还原指令进行HPA区域的还原。其中,断掉的电源和上电的电源可使用5V端电源,也可同时使用5V端电源和12V端电源。
优选的,上述方法还包括如下步骤:将硬盘信息包括的第二设定参数与存储的上个硬盘相应的参数进行比对,判断是否为同一硬盘,若不是同一硬盘,则将硬盘信息进行存储,若是同一硬盘,则可选择是否进行硬盘隐藏区的还原。其中,所述第二设定参数为IDENTIFYDEVICEDATA的第27~46字和第10~19字,分别代表硬盘的盘符和序列号。也就是说,将获取的硬盘盘符和序列号与存储的上个硬盘的盘符和序列号进行比对,以判断在工作过程中出现异常断电等情况下,再次接入的硬盘是否为断电之前的硬盘。
优选的,若隐藏区包括HPA区域但不包括DCO区域时,对HPA的解除包括临时解除HPA区域和彻底解除HPA区域。其中,临时解除HPA区域为执行SETMAXADDRESS指令前把指令的Count第0位置为1,解除后用户可访问该HPA区域,硬盘掉电或硬件复位后,HPA区域还存在,但需要再次解除才能访问;彻底解除HPA区域为执行SETMAXADDRESS指令前把指令的Count第0位置为0,解除后用户可访问该HPA区域,硬盘掉电或硬件复位后,HPA区域消失,需要重新设置才能还原HPA区域。
优选的,所述方法是基于FPGA控制芯片来控制的方法。
本发明还提出一种与上述硬盘隐藏区的解除方法相对应的装置,将所述装置连接于只读保护设备与硬盘之间,再将只读保护设备连接于计算机。参看图2,为本发明的硬盘隐藏区的解除装置实施例的示意图,所述装置包括,获取单元21,用于获取硬盘信息;第一识别单元22,用于根据硬盘信息包括的硬盘隐藏区校验位来识别硬盘是否支持硬盘隐藏区指令,若支持硬盘隐藏区指令,则发送指令获取硬盘隐藏区最大地址;第二识别单元23,用于将硬盘信息包括的硬盘可见容量最大地址与所述硬盘隐藏区最大地址进行比较来识别硬盘是否包括硬盘隐藏区;解除单元24,用于以根据硬盘信息包括的第一设定参数确定的指令发送方式发送解除指令进行硬盘隐藏区的解除;还原单元25,用于以根据第一设定参数确定的指令发送方式发送还原指令进行隐藏区的还原或先断掉硬盘连接和硬盘电源一设定时间后重新进行硬盘连接和硬盘上电,然后再以根据第一设定参数确定的指令发送方式发送还原指令进行硬盘隐藏区的还原。其中,所述硬盘隐藏区为HPA区域和/或DCO区域。
通过本发明提供的装置,能够在解除硬盘隐藏区、获得硬盘内部数据后还原硬盘隐藏区,且能够保证硬盘数据不被修改,从而保证取证工作的司法有效性与数据完整性。
优选的,参看图3,所述装置还包括判断单元26,用于将硬盘信息包括的第二设定参数与存储的上个硬盘相应的参数进行比对,判断是否为同一硬盘,若不是同一硬盘,则将硬盘信息进行存储,若是同一硬盘,则可选择是否进行硬盘隐藏区的还原。其中,所述第二设定参数为IDENTIFYDEVICEDATA的第27~46字和第10~19字,分别代表硬盘的盘符和序列号。也就是说,将获取的硬盘盘符和序列号与存储的上个硬盘的盘符和序列号进行比对,以判断在工作过程中出现异常断电等情况下,再次接入的硬盘是否为断电之前的硬盘。
具体的,在获取单元21中,获取硬盘信息为通过发送IDENTIFYDEVICE指令获取IDENTIFYDEVICEDATA,共256字,从中可以获取硬盘属性、硬盘支持的ATA指令等信息。
具体的,在第一识别单元22中,根据硬盘信息包含的硬盘隐藏区校验位IDENTIFYDEVICEDATA的第83字第11位i和第82字第10位j来识别硬盘是否支持硬盘隐藏区指令,即HPA指令和/或DCO指令。设定硬盘可容量最大地址为X,HPA区域的最大地址为Y,DCO区域的最大地址为Z,当ij=00b时,硬盘不支持HPA指令和DCO指令,赋值Y=X,Z=X;当ij=01b时,硬盘支持HPA指令但不支持DCO指令,发送ATA指令获取HPA区域的最大地址Y,同时赋值Z=Y;当ij=10b时,则硬盘不支持HPA指令但支持DCO指令,发送ATA指令获取DCO区域的最大地址Z,同时赋值Y=X;当ij=11b时,则硬盘同时支持HPA指令和DCO指令,发送ATA指令获取HPA区域的最大地址Y和DCO区域的最大地址Z。具体的,通过发送ATA指令READNATIVEMAXADDRESS获取HPA区域的最大地址THENATIVEMAXADDRESS,共4字;通过发送ATA指令DEVICECONFIGURATIONIDENTIFY获取DEVICECONFIGURATIONIDENTIFYDATA,共256字,所述DCO区域的最大地址为DEVICECONFIGURATIONIDENTIFYDATA的第3~6字;所述硬盘可见容量的最大地址是通过IDENTIFYDEVICEDATA的第100-103字减1计算出来的。
具体的,在第二识别单元23中,将上述X,Y,Z进行比较来识别硬盘是否包含HPA区域和/或DCO区域。当X=Y且Y=Z时,硬盘不包含HPA区域和DCO区域;当X<Y且Y=Z时,硬盘有包含DCO区域;当X=Y且Y<Z时,硬盘包含HPA区域;当X<Y且Y<Z时,硬盘包含HPA区域和DCO区域。
具体的,在解除单元24中,所述第一设定参数为IDENTIFYDEVICEDATA的第7字第8位,也就是说,根据IDENTIFYDEVICEDATA的第7字第8位确定用28-bit指令方式发送指令或用48-bit方式发送指令。若硬盘包含HPA区域但不包含DCO区域时,发送HPA解除指令进行HPA区域的解除;若硬盘包含DCO区域但不包含HPA区域时,发送DCO解除指令进行DCO区域的解除;若硬盘包括HPA区域和DCO区域时,以根据所述第一设定参数确定的指令发送方式先发送HPA解除指令进行HPA区域的解除,再发送DCO解除指令进行DCO区域的解除。
具体的,在还原单元25中,同样是以根据第一设定参数确定的指令发送方式发送还原指令进行隐藏区的还原。若硬盘包含HPA区域但不包含DCO区域时,发送HPA还原指令进行HPA区域的还原;若硬盘包含DCO但不包含HPA时,发送DCO还原指令进行DCO区域的还原;若硬盘包含HPA区域和DCO区域时,先断掉硬盘连接和硬盘电源一设定时间后重新进行硬盘连接和硬盘上电,以保证硬盘内电容有足够的时间放电且可让硬盘的盘片停止转动以保护硬盘,然后再以根据第一设定参数确定的指令发送方式先发送DCO还原指令进行DCO区域的还原,再发送HPA还原指令进行HPA区域的还原。其中,断掉的电源和上电的电源可使用5V端电源,也可同时使用5V端电源和12V端电源。
优选的,若隐藏区包括HPA区域但不包括DCO区域时,解除单元24对HPA的解除包括临时解除HPA区域和彻底解除HPA区域。其中,临时解除HPA区域为执行SETMAXADDRESS指令前把指令的Count第0位置为1,解除后用户可访问该HPA区域,硬盘掉电或硬件复位后,HPA区域还存在,但需要再次解除才能访问;彻底解除HPA区域为执行SETMAXADDRESS指令前把指令的Count第0位置为0,解除后用户可访问该HPA区域,硬盘掉电或硬件复位后,HPA区域消失,需要重新设置才能还原HPA区域。
优选的,所述装置还包含FPGA控制芯片作为主控芯片,用于控制所述各单元的执行。所述FPGA控制芯片的配置可选用主动配置方式、被动配置方式或JTAG配置方式。通过FPGA控制芯片实现对SATA硬盘及满足SATA协议设备的控制,可提高取证速度,且可减少PCB(PrintedCircuitBoard)面积,实现设备小型化,更便于携带,同时只有FPGA需要编写程序,升级操作简单。
如图4所示,为一种硬盘隐藏区的解除***实施例的示意图,所述***包括上文所述的硬盘隐藏区的解除装置,同时还包括:第一SATA控制器31-1,作为从设备控制器,用于将所述装置30通过只读保护设备41与计算机40连接,接收计算机40发送的数据并传送给所述装置30;第二SATA控制器31-2,作为主设备控制器,用于将所述装置30与SATA硬盘50连接,所述装置30通过第二SATA控制器31-2控制SATA硬盘50;FLASH控制器33,用于在存储FLASH数据时,将所述装置30传送的FLASH数据存储到FLASH存储芯片60对应的存储位置;在读取FLASH数据时,读取所述装置30指定存储位置的FLASH存储芯60片中的FLASH数据传送给所述装置30;SATA硬盘电源控制器34,用于将所述装置30的SATA硬盘电源通断信号转成SATA硬盘电源控制模块70所需的信号;按键和显示屏控制器35,用于驱动按键80和显示屏90,将所述装置30传送的信息在显示屏90上显示,将用户按下的按键命令传送给所述装置30;FLASH存储芯片60,用于存储所述装置30获得的SATA硬盘信息;配置存储芯片100,用于存储FPGA的配置程序,上电时完成对FPGA控制芯片的配置;SATA硬盘电源控制模块70,用于控制SATA硬盘电源的通断状态;按键80,用于用户输入命令;显示屏90,用于显示所述装置30的工作状态及硬盘状态。
其中,FLASH存储芯片60存储的硬盘信息包括IDENTIFYDEVICEDATA,共256字;DEVICECONFIGURATIONIDENTIFYDATA,共256字和THENATIVEMAXADDRESS。
通过本发明提供的***,能够在解除硬盘隐藏区、获得硬盘内部数据后还原硬盘隐藏区,且能够保证硬盘数据不被修改,从而保证取证工作的司法有效性与数据完整性。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于***实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上对本发明所提供的一种硬盘隐藏区的解除方法、装置和***进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (15)
1.一种硬盘隐藏区的解除方法,其特征在于,执行所述方法的装置连接于只读保护设备与硬盘之间,所述方法包括,
S1,获取硬盘信息,具体为通过发送ATA指令IDENTIFYDEVICE获取IDENTIFYDEVICEDATA,共256字;
S2,根据硬盘信息包括的硬盘隐藏区校验位来识别硬盘是否支持硬盘隐藏区指令,若支持硬盘隐藏区指令,则发送指令获取硬盘隐藏区最大地址;
S3,将硬盘信息包括的硬盘可见容量最大地址与所述硬盘隐藏区最大地址进行比较来识别硬盘是否包括硬盘隐藏区;
S4,若硬盘包括硬盘隐藏区,以根据硬盘信息包括的第一设定参数确定的指令发送方式发送解除指令进行硬盘隐藏区的解除;其中,所述第一设定参数为IDENTIFYDEVICEDATA的第7字第8位,根据所述第一设定参数确定用28-bit指令方式发送指令或用48-bit方式发送指令;
S5,以根据第一设定参数确定的指令发送方式发送还原指令进行隐藏区的还原或先断掉硬盘连接和硬盘电源一设定时间后重新进行硬盘连接和硬盘上电,然后再以根据第一设定参数确定的指令发送方式发送还原指令进行硬盘隐藏区的还原;
在S5之前,所述方法还包括:将硬盘信息包括的第二设定参数与存储的上个硬盘相应的参数进行比对,判断是否为同一硬盘,若不是同一硬盘,则将硬盘信息进行存储,若是同一硬盘,则选择是否进行硬盘隐藏区的还原;其中,所述第二设定参数为IDENTIFYDEVICEDATA的第27~46字和第10~19字,分别代表硬盘的盘符和序列号。
2.如权利要求1所述的方法,其特征在于,所述硬盘隐藏区为HPA区域和/或DCO区域。
3.如权利要求2所述的方法,其特征在于,所述获取硬盘隐藏区最大地址包括获取HPA区域的最大地址和/或获取DCO区域的最大地址,其中,通过发送READNATIVEMAXADDRESS指令获取HPA区域的最大地址THENATIVEMAXADDRESS,共4字;通过发送DEVICECONFIGURATIONIDENTIFY指令获取DEVICECONFIGURATIONIDENTIFYDATA,所述DCO区域的最大地址为DEVICECONFIGURATIONIDENTIFYDATA的第3~6字。
4.如权利要求2所述的方法,其特征在于,所述硬盘可见容量的最大地址是通过IDENTIFYDEVICEDATA的第100-103字减1计算出来的。
5.如权利要求2所述的方法,其特征在于,所述硬盘隐藏区校验位为IDENTIFYDEVICEDATA的第83字第11位和第82字第10位。
6.如权利要求2所述的方法,其特征在于,若隐藏区包括HPA区域但不包括DCO区域时,对HPA区域的解除包括临时解除HPA区域和彻底解除HPA区域。
7.如权利要求1至6中任一项所述的方法,其特征在于,所述方法是基于FPGA控制芯片来控制的方法。
8.一种硬盘隐藏区的解除装置,其特征在于,所述装置连接于只读保护设备与硬盘之间,包括,
获取单元,用于获取硬盘信息,所述获取单元获取硬盘信息为通过发送IDENTIFYDEVICE指令获取IDENTIFYDEVICEDATA,共256字;
第一识别单元,用于根据硬盘信息包括的硬盘隐藏区校验位来识别硬盘是否支持硬盘隐藏区指令,若支持硬盘隐藏区指令,则发送指令获取硬盘隐藏区最大地址;
第二识别单元,用于将硬盘信息包括的硬盘可见容量最大地址与所述硬盘隐藏区最大地址进行比较来识别硬盘是否包括硬盘隐藏区;
解除单元,用于以根据硬盘信息包括的第一设定参数确定的指令发送方式发送解除指令进行硬盘隐藏区的解除;其中,所述第一设定参数为IDENTIFYDEVICEDATA的第7字第8位,根据所述第一设定参数确定用28-bit指令方式发送指令或用48-bit方式发送指令;
还原单元,用于以根据第一设定参数确定的指令发送方式发送还原指令进行隐藏区的还原或先断掉硬盘连接和硬盘电源一设定时间后重新进行硬盘连接和硬盘上电,然后再以根据第一设定参数确定的指令发送方式发送还原指令进行硬盘隐藏区的还原;
判断单元,用于将硬盘信息包括的第二设定参数与存储的上个硬盘相应的参数进行比对,判断是否为同一硬盘,若不是同一硬盘,则将硬盘信息进行存储,若是同一硬盘,则选择是否进行硬盘隐藏区的还原;其中,所述第二设定参数为IDENTIFYDEVICEDATA的第27~46字和第10~19字,分别代表硬盘的盘符和序列号。
9.如权利要求8所述的装置,其特征在于,所述硬盘隐藏区为HPA区域和/或DCO区域。
10.如权利要求9所述的装置,其特征在于,所述第一识别单元获取硬盘隐藏区最大地址包括获取HPA区域的最大地址和/或获取DCO区域的最大地址,其中,通过发送READNATIVEMAXADDRESS指令获取HPA区域的最大地址THENATIVEMAXADDRESS,共4字;通过发送DEVICECONFIGURATIONIDENTIFY指令获取DEVICECONFIGURATIONIDENTIFYDATA,所述DCO区域的最大地址为DEVICECONFIGURATIONIDENTIFYDATA的第3~6字。
11.如权利要求9所述的装置,其特征在于,所述硬盘可见容量的最大地址是通过IDENTIFYDEVICEDATA的第100-103字减1计算出来的。
12.如权利要求9所述的装置,其特征在于,所述硬盘隐藏区校验位为IDENTIFYDEVICEDATA的第83字第11位和第82字第10位。
13.如权利要求9所述的装置,其特征在于,当隐藏区包括HPA区域但不包括DCO区域时,所述解除单元执行的对HPA区域的解除包括临时解除和彻底解除。
14.如权利要求8至13中任一项所述的装置,其特征在于,还包含FPGA控制芯片,用于控制所述各单元的执行。
15.一种硬盘隐藏区的解除***,其特征在于,包括如权利要求8至14中任一项所述的装置,所述***还包括:
第一SATA控制器,用于将所述装置与上位机连接,接收上位机发送的数据并传送给所述装置;
第二SATA控制器,用于将所述装置与SATA硬盘连接,所述装置通过第二SATA控制器控制SATA硬盘;
FLASH控制器,用于在存储FLASH数据时,将所述装置传送的FLASH数据存储到FLASH存储芯片对应的存储位置;在读取FLASH数据时,读取所述装置指定存储位置的FLASH存储芯片中的FLASH数据传送给所述装置;
SATA硬盘电源控制器,用于将所述装置的SATA硬盘电源通断信号转成SATA硬盘电源控制模块所需的信号;
按键和显示屏控制器,用于驱动按键和显示屏,将所述装置传送的信息在显示屏上显示,将用户按下的按键命令传送给所述装置;
FLASH存储芯片,用于存储所述装置获得的SATA硬盘信息;
配置存储芯片,用于存储FPGA的配置程序,上电时完成对FPGA控制芯片的配置;
SATA硬盘电源控制模块,用于控制SATA硬盘电源的通断状态;
按键,用于用户输入命令;
显示屏,用于显示所述装置的工作状态及硬盘状态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210582938.XA CN103049223B (zh) | 2012-12-28 | 2012-12-28 | 一种硬盘隐藏区的解除方法、装置和*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210582938.XA CN103049223B (zh) | 2012-12-28 | 2012-12-28 | 一种硬盘隐藏区的解除方法、装置和*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103049223A CN103049223A (zh) | 2013-04-17 |
CN103049223B true CN103049223B (zh) | 2016-01-20 |
Family
ID=48061876
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210582938.XA Active CN103049223B (zh) | 2012-12-28 | 2012-12-28 | 一种硬盘隐藏区的解除方法、装置和*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103049223B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107341077A (zh) * | 2017-06-30 | 2017-11-10 | 郑州云海信息技术有限公司 | 一种用于硬盘筛选的方法及其*** |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1506853A (zh) * | 2002-12-09 | 2004-06-23 | 联想(北京)有限公司 | Windows***下实现利用硬盘隐藏扇区保护数据的方法 |
CN1877727A (zh) * | 2005-06-10 | 2006-12-13 | 技嘉科技股份有限公司 | 硬盘数据备份方法 |
CN101183341A (zh) * | 2007-12-10 | 2008-05-21 | 上海北大方正科技电脑***有限公司 | 一种电脑数据保密方法 |
CN101271430A (zh) * | 2007-03-21 | 2008-09-24 | 联想(北京)有限公司 | 一种对存储设备中的数据进行保护的方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6868496B2 (en) * | 2001-01-16 | 2005-03-15 | Gateway, Inc. | Host protected area (HPA) duplication process |
-
2012
- 2012-12-28 CN CN201210582938.XA patent/CN103049223B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1506853A (zh) * | 2002-12-09 | 2004-06-23 | 联想(北京)有限公司 | Windows***下实现利用硬盘隐藏扇区保护数据的方法 |
CN1877727A (zh) * | 2005-06-10 | 2006-12-13 | 技嘉科技股份有限公司 | 硬盘数据备份方法 |
CN101271430A (zh) * | 2007-03-21 | 2008-09-24 | 联想(北京)有限公司 | 一种对存储设备中的数据进行保护的方法和装置 |
CN101183341A (zh) * | 2007-12-10 | 2008-05-21 | 上海北大方正科技电脑***有限公司 | 一种电脑数据保密方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103049223A (zh) | 2013-04-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2901245B1 (en) | Efficient low power exit sequence for peripheral devices | |
CN107122321A (zh) | 硬件修复方法、硬件修复***以及计算机可读取存储装置 | |
CN104424044A (zh) | 伺服器*** | |
CN110488673A (zh) | 一种低功耗模式的数据处理模块及数据处理方法 | |
CN103295638A (zh) | 便携式电子存储介质数据擦除装置及基于该装置的数据擦除方法 | |
CN201828901U (zh) | 一种存储功能卡 | |
US20120271983A1 (en) | Computing device and data synchronization method | |
CN104216796A (zh) | 一种数据备份、恢复方法及电子设备 | |
CN102662804A (zh) | 一种固态硬盘防掉电不可逆自毁的方法 | |
CN102331959A (zh) | 伺服器*** | |
CN105354164A (zh) | 服务器Multi-Host模块热插拔的方法及*** | |
CN102446137B (zh) | 数据写入方法、存储器控制器与存储器储存装置 | |
CN103870319A (zh) | 信息处理方法、装置及电子设备 | |
CN103425591A (zh) | 具可延长储存空间使用寿命的非挥发性内存装置及其方法 | |
CN103136487B (zh) | 一种管理硬盘隐藏区中数据的方法、装置及*** | |
CN202584143U (zh) | 一种多接口只读读卡器 | |
CN101197016A (zh) | 分批次并行作业处理装置及方法 | |
CN103853638A (zh) | 一种刷新固件的方法及电子设备 | |
CN103049223B (zh) | 一种硬盘隐藏区的解除方法、装置和*** | |
CN105260266A (zh) | 一种快照卷写方法及依赖快照*** | |
CN103309827B (zh) | 终端的设备参数读写方法及装置 | |
CN104199621A (zh) | 硬盘管理*** | |
CN201130372Y (zh) | 一种硬盘外置电路及使用了该硬盘外置电路的硬盘装置 | |
CN210776642U (zh) | 一种多个tf卡自动拼盘装置 | |
CN201897784U (zh) | 一种电子设备的升级控制装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |