软件安全学习笔记(5):FAT32文件系统与数据恢复
来源:互联网 发布:一级位面淘宝网txt 编辑:程序博客网 时间:2024/05/16 18:28
一、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 0
- 软件安全学习笔记(5):FAT32文件系统与数据恢复
- FAT32文件系统基本原理与数据恢复编程
- Fat32文件系统存储原理及数据恢复
- Fat32文件系统存储原理及数据恢复
- 软件安全学习笔记(6):NTFS文件系统
- 文件恢复学习笔记 获取文件格式 fat32
- 实际数据恢复案例-手工修复FAT32文件系统
- FAT32文件系统学习(3) —— 数据区(DATA区)
- vmfs文件系统数据恢复软件哪款好?
- fat16和fat32文件系统学习
- sd卡与FAT32文件系统
- 在FAT32和NTFS文件系统中,如何擦除文件内容,让恢复软件无法恢复,C实现
- 用WinHex软件解析FAT32文件系统
- SD卡FAT32文件系统调试笔记
- 软件安全学习笔记(1):系统引导与控制权
- 安卓软件安全与逆向分析学习笔记<一>
- FAT32文件系统
- FAT32文件系统
- Tiny模板编辑器
- weblayer组件介绍
- org.tinygroup.service-服务
- org.tinygroup.binarytree-二叉树
- org.tinygroup.config-统一应用配置
- 软件安全学习笔记(5):FAT32文件系统与数据恢复
- org.tinygroup.context2object-参数对象构建
- org.tinygroup.commons-常用工具类
- org.tinygroup.context-上下文环境
- 【Android】Messenger 跨进程通信
- org.tinygroup.validate-验证框架
- org.tinygroup.ehcache-EhCache缓存解决方案
- Django第三方账号登录
- org.tinygroup.jcscache-JCS缓存解决方案