DECIMAL HEX DESCRIPTION
-------------------------------------------------------------------------------------------------------------------
43892 0xAB74 U-Boot boot loader reference
131072 0x20000 Squashfs filesystem, little endian, version 4.0, compression:gzip, size: 818155 bytes, 712 inodes, blocksize: 131072 bytes, created: Wed Jan 8 16:01:03 2014
1242666 0x12F62A uImage header, header size: 64 bytes, header CRC: 0xBFAA8D79, created: Wed Jan 8 12:41:47 2014, image size: 1457340 bytes, Data Address: 0x80002000, Entry Point: 0x80006F30, data CRC: 0x81C66D08, OS: Linux, CPU: MIPS, image type: OS Kernel Image, compression type: lzma, image name: "MIPS Linux-2.6.32"
1242730 0x12F66A LZMA compressed data, properties: 0x5D, dictionary size: 8388608 bytes, uncompressed size: 4631160 bytes
2705410 0x294802 Squashfs filesystem, little endian, version 4.0, compression:gzip, size: 22862751 bytes, 1711 inodes, blocksize: 131072 bytes, created: Wed Jan 8 16:01:06 2014
26285890 0x1911742 LZMA compressed data, properties: 0x5D, dictionary size: 8388608 bytes, uncompressed size: 1393 bytes
26287433 0x1911D49 gzip compressed data, from Unix, last modified: Thu Jan 9 11:32:52 2014
当我得到
unsquash -s file.squashfs
时,我得到: br /> Found a valid SQUASHFS 4:0 superblock on file.squashfs.
Creation or last append time Wed Jan 8 15:01:06 2014
Filesystem size 22326.91 Kbytes (21.80 Mbytes)
Compression gzip
Block size 131072
Filesystem is exportable via NFS
Inodes are compressed
Data is compressed
Fragments are compressed
Always_use_fragments option is not specified
Xattrs are compressed
Duplicates are removed
Number of fragments 133
Number of inodes 1711
Number of ids 1
所以我有点困惑为什么它不会解压缩。我也尝试过使用squashfs的最新工具。任何人都可以给我一些指导,说明如何继续进行并调试此问题?
#1 楼
供应商以修改SquashFS而臭名昭著。从历史上看,他们这样做是为了修补LZMA支持,因为SquashFS仅在4.0版之前才正式支持gzip压缩。即使SquashFS 4.0现在正式支持gzip和LZMA,许多供应商仍然使用其“ hacked”版本的SquashFS。有些人甚至在SquashFS标头中交换了gzip / LZMA标志(例如,标头报告说它实际上是LZMA时已被gzip压缩)。那里有大约20种左右的unsquashfs实用程序,一种可能有效(所包含的unsquashfs_all.sh脚本是您的朋友)。如果它们都不起作用,那么最好的选择是从供应商那里为您的设备或其他设备(供应商通常重用代码)寻找可能包含其补丁squashfs实用程序的GPL版本。评论
不,已经尝试过
–卢卡斯·考夫曼(Lucas Kauffman)
14年1月14日在16:19
已经尝试过FMK?还是已经尝试寻找GPL代码?或两者?您可能应该编辑问题,以表明您尝试过的所有事情,以便获得更多有用的答案。另外,如果其他人要分析固件映像或SquashFS映像以尝试找到答案,则可能会有所帮助。
–devttys0
2014年1月14日下午16:58
已经尝试过FMK,它是Zyxel路由器,实际上还查看了GPL代码,在运行它之前修补了我的squashfs,没有结果:(
–卢卡斯·考夫曼(Lucas Kauffman)
14年1月14日在17:02
您修补了(即正式的)squashfs工具,还是修补了他们在GPL版本中提供的squashfs工具?您不会收到解压缩错误,这表明解压缩可能正常工作和/或它们可能已修改了SquashFS格式的其他部分。
–devttys0
2014年1月14日17:12
我修补了官方工具,是否知道在Zyxel的情况下可以找到这些工具?
–卢卡斯·考夫曼(Lucas Kauffman)
2014年1月14日17:47
评论
检查图像是否被截断,即是否具有SquashFS标头,但它期望的压缩数据可能不存在。您使用的文件大小是多少?
我还添加了binwalk输出,总文件大小约为25.2 MB
@LucasKauffman您能否指定此squashfs映像来自哪个固件,和/或提供下载链接?