Squashfs Binary Format【二进制格式】【实战分析】【代码】

1 . bin 文件背景

本文章逆向的 bin 文件 , 是从某大某飞的固件提取,TTL 串口连接电路板 , 查看启动日志

根据启动日志中的分区表将之分割为独立分区镜像
Creating 4 MTD partitions on "jz_sfc":
0x000000000000-0x000000040000 : "boot"
0x000000040000-0x000000200000 : "kernel"
0x000000200000-0x000000740000 : "root"
0x000000740000-0x000001000000 : "appfs"

使用 dd command ,截断 Squashfs bin 文件 , 也就是 root 分区:

dd if=xfp.bin   bs=1   count=5505024   skip=2097152   of=root.bin

2 . bin 文件分析

打开文件 , 搜索魔术字段 hsqs , 定位到 superblock

Hex View  00 01 02 03 04 05 06 07  08 09 0A 0B 0C 0D 0E 0F
 
00200000  68 73 71 73 77 01 00 00  17 35 E9 62 00 00 02 00  hsqsw....5.b....
00200010  13 00 00 00 04 00 11 00  C0 00 01 00 04 00 00 00  ................
00200020  43 17 86 07 00 00 00 00  80 B5 52 00 00 00 00 00  C.........R.....
00200030  78 B5 52 00 00 00 00 00  FF FF FF FF FF FF FF FF  x.R.............
00200040  A0 9B 52 00 00 00 00 00  90 A5 52 00 00 00 00 00  ..R.......R.....
00200050  20 B3 52 00 00 00 00 00  6A B5 52 00 00 00 00 00   .R.....j.R.....

2.1  超级块   The Superblock

超级块是SquashFS归档文件的第一部分。

它的大小始终为96字节,并包含有关存档的重要信息,包括其他部分的位置。

Superblock 之字段一   【魔术数字】 , 字节数量 : 4 

下图可以看到 , 前四个字节的 ASCII 码为 hsqs :

Hex View  00 01 02 03 04 05 06 07  08 09 0A 0B 0C 0D 0E 0F ascii
 
00200000  68 73 71 73                                      hsqs

Superblock 之字段二   【索引节点数量】  , 字节数量 4 :

Hex View  00 01 02 03 04 05 06 07  08 09 0A 0B 0C 0D 0E 0F
 
00200000              77 01 00 00                               w...

由于SquashFS文件系统 , 总是以小端序格式存储整数 , 所以 索引节点数量为 177 .

Superblock 之字段三   【修改时间】  , 字节数量  , 4  :

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

weixin_45554038

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值