使用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的字样。
如此类推,直到文件结束