csdn 发表于 2015-1-21 13:52:48

使用FAT32链表来获取不连续文件举例

使用FAT32链表来获取不连续文件下图是FAT32分区格式的DBR:



我们现在拷贝一文件hfsetup5.exe到该分区打根目录,并用特殊工具重新打开该分区,跳到根目录,搜索484653455455。



我们很快就找到了,如下图:



从目录项目可以看出首簇为0003751F,现在我们跳到FAT1,试着在FAT表中搜索首簇的下一簇00037520,倒过来就是20750300。如果首簇和第二簇就是不连续的,那就只能用最笨的方法 0003751F*4+34(本例的保留扇区)*512=E187C



从FAT表可以看出,该文件从0003751f开始,到0003753c告一段落,对应的扇区是多少呢? FAT32某文件或目录首逻辑扇区号= data起始扇区号+(该文件或目录起始簇号-2)*每簇扇区数。现在data扇区是已知的19960,那么这一段落是开始于1832672,结束于1832904+7。 下一个段落的首簇是0003760d,就是0003760d*4+34*512=E1C34 如下图,当我们用鼠标单击E1C34对应位置的时候,软件在左边为我们标出hfsetup的字样。



如此类推,直到文件结束。

suptidatta 发表于 2015-1-25 11:25:21

a big hex puzzle

tioz 发表于 2015-1-25 20:07:16

学习了,谢谢分享

英胜数据恢复 发表于 2015-1-26 09:16:05

hahahaha..............

hubnet 发表于 2015-1-27 11:26:00

thank you for sharing

梁程 发表于 2015-1-27 12:42:22

thanks..............

doolittle 发表于 2015-1-27 14:34:35

看不懂啊(36:。为什么搜索484653455455呢

15770134380 发表于 2015-1-27 19:05:27

楼上,那是搜索文件名的16进制数

zxzzhi 发表于 2015-1-29 10:05:18


学习了,谢谢分享

dwbj118 发表于 2015-1-29 10:13:20

学习了,谢谢分享
页: [1] 2 3 4
查看完整版本: 使用FAT32链表来获取不连续文件举例