使用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的字样。
如此类推,直到文件结束。 a big hex puzzle 学习了,谢谢分享 hahahaha.............. thank you for sharing thanks.............. 看不懂啊(36:。为什么搜索484653455455呢 楼上,那是搜索文件名的16进制数
学习了,谢谢分享 学习了,谢谢分享