软件安全学习笔记(5):FAT32文件系统与数据恢复

一、FAT32文件系统结构

1、引导扇区:描述分区大小、簇的大小、FAT表个数与大小、分区引导程序等。

2、FAT(文件分配表)FAT1+FAT2:记录数据存储区每一个簇的使用情况,形成每个文件的簇链表

3、数据存储区:

存储两类数据:目录项、文件数据


二、几个概念

1、簇:文件系统将磁盘以一定数量的扇区为单位进行划分,这样的单位称为簇。是文件空间分配的最小单位。

2、FAT表:微软在FAT文件系统中用于磁盘数据索引和定位引进的一种单向链式结构。

FAT表中的表项个数=簇的个数,用来记录每一个簇的占用情况。若为0,则表示对应簇空闲。

FAT32的每个表项32位,4个字节。可表达的最大簇号为4G

3、簇链:一个文件所占用簇的序号形成的单向链表。

实现方法:在文件占用簇的对应簇号的FAT项,填写下一簇的簇号。如果为最后一簇,输入"FFFFFF0F".


三、文件的存储

1、存储过程:

根据文件大小在FAT表中定位足够的空闲簇——>在数据存储区创建目录项——>在FAT中构建簇链表——>在对应分配的簇中写入数据。

2、目录项的含义:

文件名+后缀名+文件属性+保留+文件创建时间+日期+访问日期+首簇高16位+更新日期及时间+首簇低16位+文件大小


四、文件删除

目录项变化:首簇高位清零、文件名首位修改为E5

簇链表变化:全部清零

文件内容:无变化


五、文件恢复

1、还原文件名首位:

长文件名:逆向定位完整文件名

2、确定高位并还原

参考相邻目录项首簇高位。

从0往上试探,看首簇指向内容是否为文件内容

3、修复FAT表簇链

通过文件大小计算所占簇数目

假设连续存储,进行簇链修补。末项用0fffffff。


  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值