硬盘数据复原环境&故障状况:
某单位重要数据在一台WINDOWS操作系统的PC机上通过网络共享给公司员工应用。这台PC同时也连贯着打印机提供打印服务,很多员工间接将文件拷贝到这台PC上进行打印。该PC机上只有一块500G磁盘。
该PC的F盘分区所有类型文件忽然全副无奈关上。
故障体现:
1、文件名称,工夫,门路完全正确,磁盘占用空间正确。
2、关上jpg文件提醒:“windows照片查看器无奈关上此图片,因为照片查看器不反对此文件格式,或者您没有照片查看器的最新更新”。
3、关上doc文件提醒:"请抉择使文档可读的编码",抉择任何一个编码后文件都是谬误的。
4、关上docx文件提醒:"无奈关上文件,因为内容有谬误"。
5、关上xls文件提醒:“您尝试关上的文件的格局与文件扩展名指定的格局不统一,关上文件前请验证文件没有损坏且起源可信”。
6、关上xlsx文件提醒:"您无奈关上文件,因为文件格式或文件扩展名有效,请确定文件未损坏,并且文件扩展名与文件的格局匹配"。
7、关上PDF文件提醒:“打开文档时产生谬误,文档已损坏且无奈修复”。
8、其余类型文件均无奈失常关上。

故障检测后果&剖析:
1、硬盘不存在无物理故障。除了F盘,其余分区数据均失常。
2、无启用过任何加密。
3、没有采纳第三方软件做过分区大小调整、合并。
4、无操作系统问题和电脑Virus入侵。
5、无其余异样操作。

将硬盘接入到平安(不加载盘符,不主动写数据,保障齐全只读)的操作环境中,发现文件系统底层失常,但数据区呈现谬误。以一个PDF文件为例,在工具中关上如下图:

一个失常的PDF文件,二进制构造肯定是以0x46445025(即ASCII的“%PDF”)作为结尾标记,而这个文件的结尾却是以0x71736712开始。将两者进行比拟,这显然是一种异或转换。通过计算,两者相差(异或)0x37。在本PDF文件的尾部同样发现了篡改。
于是,在工具中选中文件所有内容,对选中块以0x37做字节异或(xor):


保留后关上,文件失常。接下来对其余文件做剖析,发现篡改的算法均是全副文件对某个值xor,但此值不确定。按字节概率计算应该有256种可能,加上文件数量及类型泛滥,显然手动修改工作量太大。北亚企安数据恢复工程师剖析其xor加数的生成法则。过程如下:
1、推断是否与门路相干:在同一门路下关上不同的文件剖析篡改的异或加数,发现不尽相同,排除。
2、推断是否与文件名称相干:查找所有文件,按名称排序,找到雷同文件名称但大小不同的文件,关上后剖析篡改的异或加数,发现不雷同,排除。
3、推断是否与类型相干:找到同一类型的几个不同文件,剖析篡改的异或加数,发现不雷同,排除。
4、推断是否与存储的物理地位相干:在工具中按不同文件起始地位进行剖析篡改的异或加数,未发现相关性,排除。
5、推断是否与文件头部相干:查找头部雷同的文件(有同一文件的不同更新,头部是雷同的),进行剖析后也排除。
6、推断尾部相干的可能性不大。如果前面剖析仍无奈失去法则,则需返回此项再做验证。
7、推断是否与文件创建工夫相干:别离查找雷同创立工夫、雷同拜访工夫、雷同最初一次拜访工夫的2个文件,进行剖析,发现与此无关,排除。
8、推断是否与大小相干:简略验证后,未举出反例颠覆,但须要齐全证实与大小相干,同时要失去算法,须要有足够多的样本。

针对是否与大小相干的验证:
通过命令形式打印所有文件的大小:
find ./ |xargs ls -ld 2>/dev/null|awk '{printf($5"\t\t"$9"\n");}' >../list.txt
用excel关上此列表文件。

因篡改的异或加数只有一个字节。如果与大小相干,极有可能是和文件大小值的mod 256绝对应,于是在excel中计算所有文件大小值的mod 256。

对mod 256的值进行排序。

排序后:

对雷同mod 256的文件进行篡改验证,未发现不符合规律者。基本上能够确定篡改值与文件大小值的mod 256存在映射关系。
对所有可能做抽样剖析后,失去篡改异或加数的生成法则:

至此,失去篡改算法。

硬盘数据复原过程:
1、基于后面失去的算法,北亚企安数据恢复工程师通过Visual Studio编写修复程序。
2、应用程序对F分区中的数据进行修复。修复实现后随机抽检修复好的文件,无报错。为进一步确定复原进去的数据是否失常,查找出所有JPG文件,显示缩略图,没有发现异常。

3、查找所有doc文件,显示作者、题目,未发现异常。

4、交由用户方进行检测,用户方让让各部门抽调员工对复原进去的数据进行检测,没有发现问题。本次数据恢复工作实现。