获得当前磁盘的文件类型格式(文件恢复学习笔记一)

来源:互联网 发布:windows系统电视 编辑:程序博客网 时间:2024/05/22 04:39


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


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码值.



NTFS 解析:

1、每个簇的扇区数

第0扇区: 0xD(1个字节) 存储的是每个簇的扇区数

2、NTFS的MFT 起始扇区

第0扇区:0x30-----0x33(4个字节),如果要获得文件的MFT在磁盘的地址,方法如下:

//MFT起始扇区起始地址 = (    buffer[51] * 0x1000000+
                                                    buffer[50] * 0x10000+
                                                    buffer[49] * 0x100+
                                                    buffer[48]) * 每个簇的扇区数;

将地址进行处理以后获得MFT的起始簇 再乘以每个簇的扇区数;

3、 逻辑盘总的扇区数

第0扇区:0x28-----0x2B(4个字节),存放的是逻辑盘的扇区数

总扇区数 =    buffer[43] * 0x1000000+
                        buffer[42] * 0x10000+
                        buffer[41] * 0x100+
                        buffer[40];




原创粉丝点击