|
三个表见附件,我先说一下bpb,这是我的c盘,大约4个多g,一[wiki]簇[/wiki]8个[wiki]扇区[/wiki],保留扇区38,每fat8581个扇区,根目录第一簇是2,这些信息通过bpb表可以看出来。
我放了个file1.txt的文件在c,全是英文,写的什么我不知道,是我复制粘贴的,在这只是说明fat,fdt确定文件的方法,不用管里面的内容,为什么用英文,因为在winhex里面能看见内容,汉语的是乱码,所以用英语。
三个表的意义我就不写了,先说第一部分,从data区找:(1)从fdt看,file1的长度是19904[wiki]字节[/wiki],从51328簇开始,由dbr可知一簇8个扇区,保留扇区38,每fat8581个扇区,可知data区开始扇区是17200,第51328簇开始扇区为17200 (51328-2)*8=119852扇区。乘以8,是因为一簇8个扇区,fat32不在采用固定的fdt,fat的簇0和簇1是起始标记,簇从2开始,同理,计算偏移地址的时候直接乘以2就行了,已经计算出来51328簇开始扇区为17200 加上(51328-2)*8=119852扇区,也即从119852到119859,共8个扇区。到119852即可看到文件。由于图片比较大,我就不上传了。再此data区的查找技术就写玩了,你们看会了我在写从fat表中查找的技术。
[ 本帖最后由 qydwjzk 于 2007-9-10 09:31 编辑 ] |
|