该案例文件删除后,文件起始簇号高位没有被清零,请网友注意.
在E盘下有一个文件夹anli,文件夹anli下有文件夹Winhex15.3和两个图片分别是111.jpg和222.jpg.
<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" /><?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
我们首先用Winhex软件打开E盘,从FDT中找到所描述的文件夹项anli,FDT起如扇区号=保留扇区数+FAT大小*2,这些参数可在DBR的BPB参数中可以找到,也可直接跳转到2号簇。查找文本anli。
可以找到anli所对应FDT项如下:
相对本FDT偏移0X14-15表示起始簇号高16位,0X1A-18表示起始簇号低16位,所以文件夹anli的起始族号为B01CE转十进制为721358号簇,因为anli为文件夹所以偏移0X1C-1F描述大小为0,我们转到721358号簇,
如下:
可以看到该扇区启始两个FDT项分别为“
.
”“
..
”
“
.
”表示描述为该目录自身,从起始簇号可以看出起始簇号为721358与anli的FDT所描述的起始簇号一样,
“
..
”描述的是上一级目录,可以看出起始簇号描述为0,大小也为0,表示上一级目录为根目录。
第三项、第四项和第五项FDT描述的分别为winhex15.3文件夹、111.jpg和222.jpg.
第四项FDT中可以看出111.JPG文件的起始簇号为B0291H=721553D大小为2A806=174086B
第五项FDT中可以看出222.JPG文件的起始簇号为B029CH=721564D大小为1278F=75663B
下面我们再转到anli对应的FAT表去看FAT表分配情况.
我们可以直接转到FAT表,由前面分析可知anli文件夹起始簇号为721358,FAT32为32位表示一个簇的使用情况,所以721358*4=2885432,所以第721358对应的偏移地址为2885432转十六进制为2C0738。我们转到相对FAT偏移地址2C0738:
再转到111.JPG对应的FAT表,721553*4=2886212.转十六进制为2C0A44转到对应的FAT偏移地址:
此时可转到FAT表对应的簇号:
222.JPG也是使用同样的方法就不再介绍。
然后我们将111.JPG文件彻底删除,转到删除前111.JPG对应的FDT项看其变化.
可以看到该FDT的第一字节被改写为E5H,其它没有改变。再转到FAT对应的FAT项,
可以看到之前对应的FAT表项全部被清空。
我们再将anli该文件夹彻底删除,看FDT和FAT变化情况。
先看FDT变化情况:
可以看出,该FDT项第一字节被改为E5H表示删除,其它无变化,
再转到对应的FAT项看其变化情况:
可以看到FAT表全部被清空。
转载于:https://blog.51cto.com/taoyanping/204266