时间:2024年3月1日 天气:中雨
今天不小心清空了回收站误删的一个文件,准备用X-Ways Forensics手工恢复出来。
先用X-Ways Forensics加载存放被删文件的NTFS分区F。

这个文件是我自己命名的,所以还记得文件名中包含“huanshoupalu”,NTFS文件系统的文件名是用Unicode编码保存的,所以把这个字符串转换为十六进制的Unicode便于搜索。
1 | 6800750061006E00730068006F007500700061006C007500 |

然后在X-Ways中点一下$MFT文件,会自动跳转到$MFT中的第一条记录。

点击HEX搜索按钮,输入已经转换成的HEX字符串的部分文件名,方向向下,然后点击确定。

这样就能定位到原来的文件,从而确定被移动到回收站后获得的新命名。

去掉新文件名前缀$I,只复制剩下的字符串的HEX
1 | 480037004500560052005A002E007A00690070 |

重新点击MFT文件,继续使用复制的字符串进行HEX搜索****,定位被删文件的MFT文件记录

上图就是被删文件的MFT记录以及进入回收站获得的新名称,继续分析这条MFT记录的80属性,来获取文件在磁盘中被分配的簇,X-Ways Forensics模板已经帮我们高亮了簇流信息。

1 | 42 7F 03 1F D3 3D 01 00 |
其中第一个字节42前边的4表示起始簇位置是后四个字节,后边的2表示前两个字节是簇流长度,00表示簇流结束。

起始簇1F D3 3D 01转换成十进制表示第20,828,959个簇

簇流长度7F 03换算为十进制表示长度为895个簇,就也就是簇流持续到第20,828,959+895=20,829,854个簇前结束。

跳转到起始簇20,828,959

可以看到压缩文件的文件头,我们在开头字节50处用快捷键Alt+1标记一下

继续跳转到簇流结束的20,829,854簇,在前一个簇最后一个字节用Alt+2标记一下

随后导出这段选块的数据至新文件“未命名.zip”。

随后打开文件进行解压测试,成功恢复了。

由于最后一个簇里面还有很多未使用的空间00也同时被放到恢复出的文件尾了,所以哈希值大小和之前有所不同,但是文件没问题能用。

上述操作直接用FTK加载分区去翻回收站应该也是能直接导出的,以后想多学习电子数据取证最原始的东西,打好基础。