几天来,我一直在尝试提取路由器固件的文件系统。检查供应商提供的图像后,我可以在其上看到一个SquashFS标志:

DECIMAL     HEX         DESCRIPTION
-------------------------------------------------------------------------------------------------------
52          0x34        uImage header, header size: 64 bytes, header CRC: 0x1A27096C, created: Tue Nov 27 06:52:32 2012, image size: 3448768 bytes, Data Address: 0x80000000, Entry Point: 0x8023A000, data CRC: 0x584BBD98, OS: Linux, CPU: MIPS, image type: OS Kernel Image, compression type: lzma, image name: "Linux Kernel Image"
116         0x74        LZMA compressed data, properties: 0x5D, dictionary size: 33554432 bytes, uncompressed size: 2445108 bytes
983092      0xF0034     Squashfs filesystem, little endian, non-standard signature,  version 3.0, size: 2463170 bytes,  637 inodes, blocksize: 65536 bytes, created: Tue Nov 27 06:51:11 2012 


这不是我第一次找到此标头,但找不到解压缩它的解决方案。

到目前为止已尝试:


所有版本的unsquashfs和firmware-mod-tools。
修改unsquash工具可以识别的已知头文件。
此修补程序http://sandeen.net/wordpress/computers/uncompressing-cisco-x2000-firmware-images/


您可以在此链接中找到有关此问题的更多信息,但没有解决方案:

http://forums.modem-help.co.uk/viewtopic.php?t=9668

有人知道如何实现这一目标吗?

评论

SquashFS已被许多供应商破解为支持LZMA,因此,如果没有有关供应商/型号的更多信息,就很难指出确切的答案。您是否看过供应商是否为此设备(或其他设备)发布了任何GPL代码? FWIW,固件-mod-kit能够从Igor Skochinsky的答案中的链接中提取squashfs映像,该映像具有相同的魔术字节。

实际上,固件模块套件确实支持LZMA。我在Zyxel路由器中遇到了类似的问题,该路由器也使用了squashfs的修改版本并设法解决了这个问题,但是相应的库需要在编译时使用,即IIRC。

@Nucklear:您是否正在尝试在32或64位系统上提取它?我曾遇到过被黑客入侵的unsquashfs工具在64位系统上无法正常工作的问题。

@ devttys0嗨,这是此型号的供应商网站:buffalotech.com/products/wireless/single-band-routers / ...在那儿我看不到任何GPL代码,我使用的是64位Kali发行版。我将在32位系统上对其进行测试,并将结果发布在此处。问候

@ devttys0是的,您是对的,问题是在64位系统中完成的,我准备了32位VM,并使用最新版本的firmware-mod-kit中包含的squashfs-3.2-r2-lzma对其进行了未压缩的压缩

#1 楼

0x73687371显然是一个神奇的值,一些供应商用来指示LZMA压缩。

由于我没有图像,所以我无法对其进行测试,但这是一个博客文章,其中包含一些说明和源代码链接,应该可以处理:

http://www.poppopret.org/?p=204

编辑:在与下载站点进行了一些挣扎之后,我能够解密的shsq二进制文件。我可以使用7-Zip 9.21 beta轻松打开它:



大概任何更高版本也可以使用。

您可以找到源代码用于处理SquashFS的代码位于7z922.tar.bz2中,文件为CPP/7zip/Archive/SquashfsHandler.cpp,因此您可以尝试找出它的工作原理以及其他方法的问题。

评论


您好Igor,感谢您的回复,但是您可以看到我在该博客中发表了评论(最后评论),但是该解决方案对我不起作用。

– Nucklear
13年6月8日在9:41

#2 楼

从以下位置尝试修补程序:
http://sourceforge.net/p/squashfs/patches/20/

在X86_64 Debian安装上似乎可以正常工作。