文件恢复学习笔记 获取文件格式 fat32

根据磁盘的第一个扇区一些特征值来区分当期的文件格式
 

1、FAT32格式的特征:
 

0扇区: 0x52----0x56(5个字节),这5个字节的值分别为:0x46 ,0x41 ,0x54,0x33,0x32,其实就是字符“FAT32”的ascall码值。
 

2、FAT16格式特征:
 

0扇区:0x36-----0x3A(5个字节),这5个字节的值分别为:0x46,0x41,0x54,0x31,0x36;字符形式"FAT16"的ascall码值。
 

3、NTFS格式特征:
 

0扇区:0x3------0x6(4个字节),这4个字节的值分别为: 0x4E,0x54,0x46,0x53;字符形式“NTFS”的ascall码值.

 

 

Fat32 解析:

读起始扇区buffer

 

0扇区: 0x0D (1个字节),用来存放每个簇多少个扇区 buffer[13]

 

0扇区: 0x0E 0x0F(2个字节)用来存放文件分配表的起始扇区buffer[15]*0x100h+buffer[14]

buffer[15]*0x100h+buffer[14]*200h  =起始扇区地址

 

0扇区:0x024----0x027(4个字节)用来存放文件分配表占用的扇区数buffer[39]* 0x10000h + buffer[38] * 0x1000h+ buffer[37] *0x100h + buffer[36];

 

0扇区:0x02C----0x02F(4个字节)用来存放根目录的起始簇

buffer[47] * 0x10000h+ buffer[46] * 0x1000h+ buffer[45] *0x100h + buffer[44];

 

 

0扇区:0x020----0x023(4个字节)用来存放所读逻辑盘的大小

buffer[35] * 0x10000h+ buffer[34] * 0x1000h+ buffer[33] *0x100h + buffer[32];

 

读文件分配表的起始扇区

判断每4字节

是结束簇   1字节 <=255 & 1>=248

                       2字节 ==255

                       3字节 ==255

                       4字节 ==15

是未分配簇 1字节 ==0

                       2字节 ==0

                       3字节 ==0

                       4字节 ==0

是已分配簇 1字节*10000h+

                       2字节*1000h+

                       3字节*100h+

                       4字节

                      大于1 &&小于 4294967280

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值