主权项 |
一种西数硬盘的解密方法,其特征在于包括以下步骤: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:产生解密密钥进行数据区加密数据解密。 |