ISO9660文件系统分析

本文介绍了ISO9660文件系统的基本结构,包括Volume Descriptor、Primary Volume Descriptor和Directories的内容。通过hexdump工具分析ISO文件,重点解析了如何找到文件的LBA号和大小,并展示了将这些理论应用于编程实现的思路。
摘要由CSDN通过智能技术生成

写光盘(的文件系统)驱动程序ing,所以需要用到ISO9660文件系统的规范,研究了一个下午弄懂了

总体情况

首先我们先要有一个makeisofs这样的制作iso文件的工具,用它来制作一个iso文件,里面放上几个非空文件(至于为什么非空,最后会有介绍)

然后再有一个hexdump这样二进制文件查看器

先来看一下这个表格

ISO 9660 File System
System Area (32,768 B) Unused by ISO 9660
Data Area
Volume Descriptor (2,048 B)
Volume Descriptor (2,048 B)
...
Volume Descriptor Set Terminator (2,048 B)
Optional space
Root directory
Directories and files
先看第一行,说的是前 32768个字节被保留,十进制不好表示,换成十六进制就是0x8000

照此我们先用hexdump看一下我的mkisofs生成的iso文件

hexdump -C os.iso | less

00000000  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00008000  01 43 44 30 30 31 01 00  4c 49 4e 55 58 20 20 20  |.CD001..LINUX   |
00008010  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00008020  20 20 20 20 20 20 20 20  43 44 52 4f 4d 20 20 20  |        CDROM   |
00008030  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00008040  20 20 20 20 20 20 20 20  00 00 00 00 00 00 00 00  |        ...
  • 2
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值