自认为是fat32精华
fat32终极知识讲解——由fat表定位不连续文件
C盘是fat32格式,它的DBR如下图
现在拷贝一文件hfsetup5.exe到c盘根目录,并用winhex重新打开c盘,跳到根目录,搜索484653455455(大写的HFSETU,想想为什么?)
很快找到
从目录项目可以看出首簇为0003751F,那么我们跳到fat1,试着再fat表中搜索首簇的下一簇
00037520,倒过来就是20750300
如果首簇和第二簇就是不连续的,那就只能用最笨的方法 0003751F*4+34(本例的保留扇区)*512=E187C 有很多书上只介绍首簇*4,所以很多朋友找不到
从fat表可以看出,该文件从0003751f开始,到0003753c告一段落,
对应的扇区是多少呢?
fat32: 某文件或目录首 逻辑扇区号 = data起始扇区号 +(该文件或目录起始簇号-2)*每簇扇区数
如果data起始扇区丢失,那么其计算方法华山论剑讲的很清楚,我们就不多讲了
现在data扇区是已知的19960,那么这一段落是开始于1832672,结束于多少呢1832904+7,为什么要加7个扇区?大家思考一下.
下一个段落的首簇是0003760d, 就是0003760d*4+34*512=E1C34 如下图 你同时发现,,当我们用鼠标单击E1C34对应位置的时候,winhex在左边为我们标出那是hfsetup的字样
如此类推,直到文件结束.