提取 SquashFS 文件系统的文件

逆向工程 二元分析 固件 linux 垃圾桶
2021-07-09 04:10:08

我已经问过一个类似的问题,但在对文件系统进行更深入的分析后,我发现我误解了这个问题,这就是为什么我决定删除旧问题并创建一个新问题。

我使用 binwalk 从 NAND 闪存中提取了一个 squashfs 文件系统。问题是我看不到它包含的文件,甚至 sasquatch 也无法提取文件。
这就是为什么我认为我正在处理 sasquatch 无法处理的供应商黑客版本的 squashfs。

然而,经过更深入的分析,我发现提取的 squashfs 文件系统在我看来非常可疑,原因有二。
首先,它以一个通用的 squashfs 标头开始,但在标头之后有一个大的 0xFF 字节序列,每 17 个字节被一个 0x01 字节中断。
除此之外,整个序列会被某种 UBI 签名周期性地中断。
你可以在图片中看到这一点。

在我看来可疑的第二件事是,在上面提到的大序列之后,UBI 签名在整个应该是 suqashfs 包含的部分中定期出现(直到结束)。(签名有时彼此不同,但仍然非常相似)。

我也从启动过程分析中知道设备的rootfs是挂载在一个UBI卷之上的:

root=/dev/ubiblock0_1 noinitrd ro ubi.mtd=6 mtdparts=spi0.0:256k(u-boot),64k(u-boot-env),128k(reserved),64k(art);spi0.1:5m (kernel0),5m(kernel1),118m(ubi) rootfstype=squashfs ubi.block=0,1 mem=64M

出现在整个 squashfs 文件中的 UBI 签名是否与它安装在 UBI 卷顶部的事实有关,我该如何处理?
或者我如何安装它/是否可以像这样安装它?

在此处输入图片说明

0个回答
没有发现任何回复~