首页 > 其他分享 >FAT32文件系统解析:

FAT32文件系统解析:

时间:2024-03-27 16:30:09浏览次数:28  
标签:引导 字节 FAT32 扇区 FAT 文件系统 之后 跳转 解析

首先,打开U盘,现在基本都是NTFS文件系统,重新在网上买了一个FAT32的U盘:

用winhex打开其逻辑磁盘:


然后根据分析分析:

首先是DBR部分:

FAT引导记录的前3个字节是跳转指令(Jump Instruction),用于跳转到引导代码的执行位置。这个指令告诉系统在引导记录中的哪个位置开始执行代码。它通常是一个无条件跳转指令,将控制权转移到引导代码的起始位置。

如果FAT引导记录的00号、01号、02号字节存储的是0xEB、0x58、0x90,代表这是一个有效的FAT引导记录的跳转指令。这个跳转指令告诉系统在引导记录中的哪个位置开始执行代码。具体解释如下:

00号字节(0xEB)是跳转指令的操作码,表示无条件跳转。

01号字节(0x58)是跳转指令的目标地址的相对偏移量。在这种情况下,偏移量为0x58,表示跳转到引导记录的第88个字节处。

02号字节(0x90)是NOP指令,用于填充指令的长度。

所以,这个跳转指令告诉系统从引导记录的第88个字节处开始执行代码。

OEM名称(OEM Name):引导记录的第3到第10字节是OEM名称,用于标识制造商或开发商。它通常是一个8字节的字符串,如"MSDOS5.0"。

BPB字段:

前两个字节为0x0200:十进制为512,也就是每个扇区512个字节。

后一个字节为0x40:十进制64,也就是每簇64个扇区,32768个字节,32kB大小

用“Chkdsk”命令查看信息中可以对应:

之后的两个字节为0x0036:十进制为54,也就是FAT表起始位置为第54个扇区处

之后的两个字节为0x02:十进制为2,也就是有两个FAT表,第二个表为第一个表的备份

之后的两个字节,为根目录项数,FAT32以突破该限制,无效,故为0x0000

之后的两个字节,为扇区总数,小于32M使用,故为0x0000

之后的一个字节,为存储介质描述负,为0xF8,表示该FAT32文件系统的存储介质是一个固定磁盘

之后的两个字节,为每FAT表占用扇区数 ,小于32M使用,故为0x0000

之后的两个字节0x003F,为逻辑每磁道扇区数

之后的两个字节0x00FF,为逻辑磁头数

之后的四个字节0x00000040,为系统隐含扇区数

之后的四个字节0x0752FE60,为扇区总数,大于32M使用

之后的四个字节0x00003A95,为每FAT表扇区数,大于32M使用

之后的两个字节0x0000,标记

之后的两个字节0x0000,版本(通常为0)

之后的四个字节0x00000002,根目录起始簇

之后的两个字节0x0001,Boot占用扇区数

之后的两个字节0x0006,备份引导扇区位置

之后的十四个字节,为保留字段

之后的一个字节0x29,为扩展引导标记

之后的四个字节0x00CF51F3,为序列号

之后的十个字节0x202020454D414E204F4E,为卷标,转成字符即“NO NAME”

之后的八个字节0x2020203233544146,文件系统,转成字符即“FAT32”

引导程序代码:

有效结束标志:

第二是FSINFO部分:

前四个字节就是扩展引导标志,前面就是0xAA55

在0x3E4,也就是偏移为0x1E4的地方是签名,之后的四个字节0x001D36EE,为空闲簇数,在引导区中可知一个簇32K,经计算,有58G空间,而属性中标识:基本是准的

后四个字节0x00001338为下一个可用簇号

之后为14字节的未用部分,为全0,之后即是0x55AA的结束标志

第三是FAT表部分:

由引导记录中的BPB结构可知,整个保留区(也就是DBR+FSINFO)占54个扇区,共27648个字节,故可找到FAT表的起始部分:

FAT表访问是几号簇中填的谁下一个簇就是谁

首先0号簇和1号簇中的

为FAT的开始标识,通常2号簇为根目录,其号为0xFFFFFFF,即为根目录大小占一个簇,而此时我们的U盘中只有四个文件:

而其中test1.txt和test2.txt大小仅占32k(一个簇):

所以在FAT表中就是第三号簇和第四号簇,我们可以发现,第五号簇中填的第六个,以此类推,一直向下找,找到这个文件的结束符号:

从第五号簇到这部分就是我们最大的那个exe:

之后的这部分就是剩余的PDF的簇区间:

可知PDF文件大小:

在winhex中刚好占有15个簇。

FAT表至此结束,之后的就是未分配的空间,故全为0。

标签:引导,字节,FAT32,扇区,FAT,文件系统,之后,跳转,解析
From: https://blog.csdn.net/weixin_54452942/article/details/137071374

相关文章

  • FAT32文件系统的数据隐写
    一、环境(1)VMwareWorkstation虚拟机:虚拟机装有Win10操作系统,winXP,以及实验用的WinHex工具;(2)Kinsgton8G优盘:该优盘采用FAT32文件系统;(3)优盘数据文件:优盘内的原始文件,为了模拟优盘真实使用环境。 二、内容首先格式化:然后向里面拷贝一些文件:之后用winhex打开U盘逻辑磁盘......
  • 深入解析以太坊Dencun升级:提升网络性能与安全的关键举措
    近年来,以太坊网络一直在不断演进和发展,为了应对日益增长的用户需求和挑战,以太坊社区不断提出并实施各种升级和改进措施。其中,Dencun升级作为最新的一项重大改革,旨在提升以太坊网络的性能和安全性,为其未来发展奠定更坚实的基础。本文将深入解析Dencun升级的关键举措,以及这些举措......
  • 【赛题解析】【网络建设与运维】第三阶段Linux Vsftpd部分答案解析
    培训、环境、资料、考证公众号:波比网络公众号2:波比网络工作室网络建设与运维群:685678820波比网络专注于技能提升,赋能ftp服务任务描述:请采用ftp服务器,实现文件安全传输。1.配置 linux1为ftp服务器,安装vsftpd,新建本地用户xiaoming,本地用户登陆ftp后的目录为/var/ft......
  • 36.网络游戏逆向分析与漏洞攻防-游戏网络通信数据解析-数据解码器的实现
    免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动!如果看不懂、不知道现在做的什么,那就跟着做完看效果内容参考于:易道云信息技术研究院VIP课上一个内容:35.登录成功数据包内容分析码云地址(master分支):https://gitee.com/dye_your_fingers/titan码云版本号:9474c7......
  • TorchV的RAG实践分享(三):解析llama_index的数据存储结构和召回策略过程
    1.前言LlamaIndex是一个基于LLM的数据处理框架,在RAG领域非常流行,简单的几行代码就能实现本地的文件的对话功能,对开发者提供了极致的封装,开箱即用。本文以官方提供的最简单的代理示例为例,分析LlamaIndex在数据解析、向量Embedding、数据存储及召回的整个源码过程。通过学习框架......
  • Cron 表达式解析
    Cron表达式解析Cron表达式是一种强大的工具,用于在特定时间自动执行计划任务。无论是在服务器维护、数据库备份,还是在发送定时邮件等场景,cron表达式都能提供精确的时间控制。Cron表达式的基本结构Cron表达式由6或7个由空格分隔的时间字段组成,每个字段代表了不同的时间单位:......
  • 【蓝桥杯选拔赛真题48】C++九进制回文数 第十四届蓝桥杯青少年创意编程大赛 算法思维
    目录C++九进制回文数一、题目要求1、编程实现2、输入输出二、算法分析三、程序编写四、程序说明五、运行结果六、考点分析七、推荐资料C++九进制回文数第十四届蓝桥杯青少年创意编程大赛C++选拔赛真题一、题目要求1、编程实现提示信息:回文数:反向排列与原......
  • 深入解析Spring Cloud:微服务架构的关键
    随着业务的发展和技术的演进,单体应用逐渐暴露出诸多问题,如难以维护、扩展性差等。为了解决这些问题,微服务架构应运而生。微服务架构将一个大型应用拆分成多个独立、可扩展、松耦合的服务,每个服务实现应用的一部分功能。SpringCloud作为一套微服务架构的解决方案,提供了众多开箱......
  • 深度解析:邻氯苯腈市场为何成为投资新宠?
    一、行业简述   邻氯苯腈,作为一种精细化工原料,具有独特的化学结构和稳定的性质,使得它在农药、染料、医药等多个领域都有广泛的应用。这种原料的特殊性在于其结构中的氯原子和腈基团,这些特性使得邻氯苯腈能够参与到许多复杂的化学反应中,从而合成出各种具有特定功能的产品......
  • 【蓝桥杯省赛真题33】python单词排序 中小学青少年组蓝桥杯比赛 算法思维python编程省
     目录python单词排序一、题目要求1、编程实现2、输入输出二、算法分析三、程序编写四、程序说明五、运行结果六、考点分析七、 推荐资料1、蓝桥杯比赛2、考级资料3、其它资料python单词排序第十三届蓝桥杯青少年组python比赛省赛真题一、题目要求(注:input......