一种西数硬盘的解密方法技术

技术编号:14136187 阅读:261 留言:0更新日期:2016-12-10 04:28
本发明专利技术公开了一种西数硬盘的解密方法,通过查找固件区模块“D000”或“D001”,得到固件内条目数,通过条目数找到存有解密密钥的固件号,并通过该固件号对应的固件,找到解密数据体,在通过解密数据体实现解密硬盘数据区数据。本发明专利技术的有益效果如下:能够准确的找到固件区中的密匙,并破解密匙恢复数据区中的加密数据,可以恢复出有价值的数据,减少因数据丢失带来的损失。

【技术实现步骤摘要】

本专利技术涉及信息安全
,特别涉及一种西数硬盘的解密方法
技术介绍
西数硬盘为了保证数据的安全性,在电路板上增加了加密芯片来提高数据的安全性;但是如果此种加密硬盘出现了故障,数据区的数据就无法正常访问了。目前处理这种加密硬盘故障的方式是:找一个与原始电路板主控芯片一致的SATA接口电路板,虽然可以解决接口的兼容性问题,但是数据区的数据任然是无法访问的。
技术实现思路
本专利技术针对现有技术的缺陷,提供了一种西数硬盘的解密方法,能有效的解决上述现有技术存在的问题。一种西数硬盘的解密方法,包括以下步骤:S1:提取硬盘固件区数据,扫描并判断固件区是否存在“D000”或“D001”固件;有则执行S2,没有则退出;S2:获取“D000”或“D001”固件的头部“0x06”位置的数据,该数据可以得到有效数据体偏移的起始位置;S3:从有效数据偏移位置起向后取4字节,得到有效数据体的有效条目数;有效数据体的有效条目数数据体类型为“0x0000000Y”,Y为16进制中的随机值,代表有效条目一共有Y组;有效条目数数据体每组8个字节,建立N设为1。S4:判断N是否等于Y;若等于则结束,若小于则执行S5;S5:取第N组8字节的条目数据体,判断这组的第6字节是否为“00”;若是“00”则表示需要取出这组数据的第三和第四字节,顺序为低前高后的模块号;若是“01”:则表示需要取出这组数据的第一和第二字节,顺序为低前高后的模块号;S6:取第N+1组8字节的条目数据体,判断这组的第6字节是否为“00”;若是“00”则表示需要取出这组数据的第三和第四字节,顺序为低前高的模块号;若是“01”:则表示需要取出这组数据的第一和第二字节,顺序为低前高后的模块号;S7:获取S5和S6中得到的模块号所对应的模块;S8:打开S5和S6的模块号所对应的模块,偏移位置0X30处向后取4字节;判断是否有“0x01000000”标记;有则执行S9,无则执行N+1=N转到S4;S9:判断此标记后0X30字节是否有解密数据体;有则执行S10,无则执行N+1=N转到S4;S10:产生解密密钥进行数据区加密数据解密。所述S10的详细步骤如下:S101:使用西数原始密钥A前32个字节“0x44 0x43 0x57 0x00 0x57 0x44 0x43 0x57 0x43 0x57 0x44 0x43 0x44 0x43 0x57 0x44 0x57 0x44 0x43 0x57 0x43 0x57 0x44 0x43 0x44 0x43 0x57 0x44 0x57 0x44 0x43 0x57”;S102:原始密钥A通过AES算法得到新的解密密钥命名为:AES_1KEY;S103:通过AES_1KEY对S6得到的固件的解密数据体进行AES解密得到新的密钥B;S104:密钥B的前32个字节通过AES算法新的解密密钥命名为:AES_2KEY;S105:通过AES_2KEY对S5得到的固件的解密数据体进行AES解密得到新的密钥C;S106:密钥C的前32个字节通过AES算法新的解密密钥命名为:AES_3KEY;S107:使用AES_3KEY对数据区加密数据进行解密,得到解密后的数据。与现有技术相比本专利技术的优点在于:能够准确的找到固件区中的密匙,并破解密匙恢复数据区中的加密数据,可以恢复出有价值的数据,减少因数据丢失带来的损失。附图说明图1为本专利技术实施例中D000固件十六进制的部分数据图。具体实施方式为使本专利技术的目的、技术方案及优点更加清楚明白,以下举实施例,对本专利技术做进一步详细说明。一种西数硬盘的解密方法,包括以下步骤:S1:提取硬盘固件区数据,扫描并判断固件区是否存在“D000”或“D001”固件(通过搜索固件区的“D000D001”标记来找到);有则执行S2,没有则退出;S2:获取“D000”或“D001”固件的头部“0x06”位置的数据,该数据可以得到有效数据体偏移的起始位置;图1中“D000”固件有效数据起始位置是30,则偏移到0X30。S3:从有效数据偏移位置起向后取4字节,得到有效数据体的有效条目数;有效数据体的有效条目数数据体类型为“0x0000000Y”,Y位16进制中的随机值,代表有效条目一共有Y组;有效条目数数据体每组8个字节。N设为1。从图1中可以看出有效数据体的有效条目数为0x00000005,就代表有效条目一共有5组。S4:判断N是否等于Y;若等于则结束,若小于则执行S5;S5:取第N组8字节的条目数据体,判断这组的第6字节是否为“00”;若是“00”则表示需要取出这组数据的第三和第四字节,顺序为低前高后的模块号;图1中为“0xD002”模块号。若是“01”:则表示需要取出这组数据的第一和第二字节,顺序为低前高后的模块号;S6:取第N+1组8字节的条目数据体,判断这组的第6字节是否为“00”;若是“00”则表示需要取出这组数据的第三和第四字节,顺序为低前高的模块号;图1中为“0xD003”模块号。若是“01”:则表示需要取出这组数据的第一和第二字节,顺序为低前高后的模块号;S7:获取S5和S6中得到的模块号所对应的模块;本实施例中为固件区的D002和D003模块;S8:打开D002模块和D003模块,偏移位置0X30处向后取4字节。判断是否有“0x01000000”标记;有则执行S9,无则执行N+1=N转到S4。(如果都有此标记表示当前模块已被初始化)S9:判断此标记后0X30字节是否有解密数据体(这个数据是解密时需要使用的数据体,判断是否有数据体的方法是判断是否为空值0x00或者0xFF);有则执行S10,无则执行N+1=N转到S4;S10:产生解密密钥进行数据区加密数据解密。所述S10的详细步骤如下:S101:使用西数原始密钥A前32个字节“0x44 0x43 0x57 0x00 0x57 0x44 0x43 0x57 0x43 0x57 0x44 0x43 0x44 0x43 0x57 0x44 0x57 0x44 0x43 0x57 0x43 0x57 0x44 0x43 0x44 0x43 0x57 0x44 0x57 0x44 0x43 0x57”;S102:原始密钥A通过AES算法得到新的解密密钥命名为:AES_1KEY;S103:通过AES_1KEY对D003固件的解密数据体进行AES解密得到新的密钥B;S104:密钥B的前32个字节通过AES算法新的解密密钥命名为:AES_2KEY;S105:通过AES_2KEY对D002固件的解密数据体进行AES解密得到新的密钥C;S106:密钥C的前32个字节通过AES算法新的解密密钥命名为:AES_3KEY;S107:使用AES_3KEY对数据区加密数据进行解密,得到解密后的数据。本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本专利技术的实施方法,应被理解为本专利技术的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本专利技术公开的这些技术启示做出各种不脱离本专利技术实质的其它各种具体变形和组合,这些变形和组合仍然在本专利技术的保护范围内。本文档来自技高网...
一种西数硬盘的解密方法

【技术保护点】
一种西数硬盘的解密方法,其特征在于包括以下步骤:S1:提取硬盘固件区数据,扫描并判断固件区是否存在“D000”或“D001”固件;有则执行S2,没有则退出;S2:获取“D000”或“D001”固件的头部“0x06”位置的数据,该数据可以得到有效数据体偏移的起始位置;S3:从有效数据偏移位置起向后取4字节,得到有效数据体的有效条目数;有效数据体的有效条目数数据体类型为“0x0000000Y”,Y为16进制中的随机值,代表有效条目一共有Y组;有效条目数数据体每组8个字节,建立N设为1。S4:判断N是否等于Y;若等于则结束,若小于则执行S5;S5:取第N组8字节的条目数据体,判断这组的第6字节是否为“00”;若是“00”则表示需要取出这组数据的第三和第四字节,顺序为低前高后的模块号;若是“01”:则表示需要取出这组数据的第一和第二字节,顺序为低前高后的模块号;S6:取第N+1组8字节的条目数据体,判断这组的第6字节是否为“00”;若是“00”则表示需要取出这组数据的第三和第四字节,顺序为低前高的模块号;若是“01”:则表示需要取出这组数据的第一和第二字节,顺序为低前高后的模块号;S7:获取S5和S6中得到的模块号所对应的模块;S8:打开S5和S6的模块号所对应的模块,偏移位置0X30处向后取4字节;判断是否有“0x01000000”标记;有则执行S9,无则执行N+1=N转到S4;S9:判断此标记后0X30字节是否有解密数据体;有则执行S10,无则执行N+1=N转到S4;S10:产生解密密钥进行数据区加密数据解密。...

【技术特征摘要】
1.一种西数硬盘的解密方法,其特征在于包括以下步骤:S1:提取硬盘固件区数据,扫描并判断固件区是否存在“D000”或“D001”固件;有则执行S2,没有则退出;S2:获取“D000”或“D001”固件的头部“0x06”位置的数据,该数据可以得到有效数据体偏移的起始位置;S3:从有效数据偏移位置起向后取4字节,得到有效数据体的有效条目数;有效数据体的有效条目数数据体类型为“0x0000000Y”,Y为16进制中的随机值,代表有效条目一共有Y组;有效条目数数据体每组8个字节,建立N设为1。S4:判断N是否等于Y;若等于则结束,若小于则执行S5;S5:取第N组8字节的条目数据体,判断这组的第6字节是否为“00”;若是“00”则表示需要取出这组数据的第三和第四字节,顺序为低前高后的模块号;若是“01”:则表示需要取出这组数据的第一和第二字节,顺序为低前高后的模块号;S6:取第N+1组8字节的条目数据体,判断这组的第6字节是否为“00”;若是“00”则表示需要取出这组数据的第三和第四字节,顺序为低前高的模块号;若是“01”:则表示需要取出这组数据的第一和第二字节,顺序为低前高后的模块号;S7:获取S5和S6中得到的模块号所对应的模块;S8:打开S5和S6的模块号所对应的模块,偏移位置0X30处向后取4字节;判断是否有“0x01...

【专利技术属性】
技术研发人员:梁效宁杨先珉董超张佳强
申请(专利权)人:四川效率源信息安全技术股份有限公司
类型:发明
国别省市:四川;51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1