比如手頭上有個路由器固件,文件名為hc6361.bin
hexdump -C hc6361.bin | grep hsqs
得到結果為
00190000 68 73 71 73 5e 0b 00 00 7c 5a 03 58 00 00 04 00 |hsqs^...|Z.X....|
可見hsqs的開始位置是0x190000,dd命令是不支持16進制的,先轉換為10進制,0x190000轉為10進制后為1638400,接着可以構建dd命令了。
dd if=hc6361.bin of=hc6361.squashfs skip=1 bs=1638400
這樣就得到了hc6361.squashfs文件了,解壓squashfs文件需要用到unsquashfs命令
unsquashfs hc6361.squashfs運行該命令后,會在當前目錄生成文件夾squashfs-root,里面就是解壓出來的文件系統