(一)整体结构

(二)DBR和boot sector


50字节06表示备份dbr所在位置为06扇区
13字节表示簇大小为08
14、15字节表示保留扇区数目为201E即8222
16字节表示FAT文件表数为02个
44字节表示FAT文件目录首簇号为02
36字节表示每个FAT系统有4081个扇区
FAT在保留扇区之后即8222扇区
FAT2在8222+4081即12303扇区
DIR在12303+4081=16384扇区
(三)FAT和FAT directory


前两行卷标,之后每两行(或四行,扩张文件名占两行)为一个文件
前八个字节是文件名称
9到11字节是扩展名
15、16创建时间
17、18最后访问时期
19、20创建日期
21、22起始簇号高16位
27、28起始簇号低16位
23、24、25、26修改时间和修改日期
(四)底层恢复已删除文件(未彻底删除)
上层已经删除:

Ctrl+f通过搜索文件名搜索文件位置(如12345678txt)

计算8400896/512=16408

前面文件名只影响文件名不影响里面的内容,扩展名202020为文件属性,之后属性填10
时间属性随便填,上图为复制的12345678txt的时间属性,位置为刚才计算的00000500分别填入相应位置
保存,就成功了(这种方法要搜索文件名)


(五)数据隐藏分析
隐藏在其他文件数据区:


发现数据没有出现,成功隐藏,这是因为此文件大小属性记录在目录项中,单在数据项改变数据不能改变记录项中文件大小属性,而文件打开时通过记录项来打开,记录项只记录了之前输入的大小,所以只能显示aaa。
在再上层的aaa.txt中写入观察底层:


所以放在已有数据的文本内或可修改数据的文件内是不安全的。
而存在其他簇中相对安全,因为数据占用簇时,在整个系统中显示被占用,之后的上层操作不会对已占用的簇有影响。
网友评论