wmjian2 发表于 2009-5-13 21:55:54

exFAT之文件提取

本帖最后由 wmjian2 于 2009-5-13 21:57 编辑

环境:用“绝对虚拟磁盘”建立的一个799M exFAT分区,复制诸多文件进去后再次格式化。

恢复目标:天下网盟.exe

用WinHex打开分区来到DBR,个人认为图中选定部分:偏移58-5B,应为蔟位图表开始扇区,而不是盛传的蔟开始扇区。

从图中可以看到根目录起始于第4蔟(x60),蔟大小为2的6次方(x6D)=64扇区,蔟位图表开始扇区为384。



1.先来计算蔟开始扇区,个人通过研究证明蔟开始扇区总是位于蔟位图表开始扇区前两蔟,那么:

蔟开始扇区:384-(64*2)=256 扇区

根目录开始扇区:256+(64*4)=512 扇区

当然,也可搜卷标得到根目录,然后再减去4*64 得到蔟开始扇区(本次案例)

跳到512扇区看看是否正确。
OK,根目录已被清空。


寻找目标:天下网盟.exe

由于exFAT 的目录项C1属性中文件名是用Unicode 表示,"天下网盟.exe"的Unicode: 29590B4E517FDF762E00650078006500



搜十六进制:29590B4E517FDF762E00650078006500

在279680扇区找到 "天下网盟.exe" 的目录项



通过C0属性得到:文件大小(x08-0B)=116C6DDH=18269917字节。 占用 18269917 / 512 = 35683.431640625扇区
通过C0属性得到:文件开始扇区(x14-17)=110FH=4367 蔟= 4367*64+256=279744 扇区

跳到279744扇区看看,OK,一个标准的PE文件头。断定目标文件起始于279744扇区。



目标文件结束扇区:279744+35683=315427扇区

跳到315427扇区看看,OK,在315427扇区中部发现文件结束。



从279744扇区选定到315427扇区中部,置入新文件“OK.exe”,打开,一却正常。



完工。

此篇章只是简单的举例一个文件的提取,如需要恢复的文件过多的话,将是一个非常繁琐的过程。

签于exFAT的特性,恢复文件还有更完美的方法,请读者自行研究。

dgtan 发表于 2009-5-13 22:20:39

顶一个,蛮不错的例子。。。我也研究一下吧,基础再打好点。

ttnml 发表于 2009-5-14 09:16:56

簇号由2开始

初十一 发表于 2009-5-14 10:10:05

是从08开始文件大小?还是从18开始呢?

lxran 发表于 2009-5-14 10:28:36

看不明白````

冰冻果2008 发表于 2009-5-16 10:41:43

学习一下了。。。。。。。。。。。。。。。。

yangshoup 发表于 2009-5-16 13:02:41

不错,好好学习一下

xiongdeyuan 发表于 2009-5-16 14:06:09

不错,学习一下阿

recall_hy 发表于 2009-5-16 17:25:08

SoftWare Download Add ~{:4_146:}

liyi1986 发表于 2009-5-21 21:54:45

支持楼主,,不错,又是一份EXFAT的案例
页: [1] 2
查看完整版本: exFAT之文件提取