现在我们都经常玩openwrt软路由固件了,有时候需要看看别人编译好的固件包里面的内容,可以解压出来研究,还可以直接移植一些其中已经编译好的程序到我们自己的固件里面。那么接下来就以我编译的VLEDE 固件为例,解压给大家看看,如果你的固件是img和bin结尾的都适用这个方法。

一、虚拟机安装Ubuntu的桌面版的系统,自行安装过程就不再演示

二、安装binwalk和squashfs-tool依赖包

sudo apt install binwalk
sudo apt install squashfs-tools

三、在主目录建立一个文件夹,名称自定义,我这里就命名为m,然后把你需要解压的固件放到m文件家里面

四、打开终端,输入命令,解压这个文件

binwalk -e *.img        这里面的*代表文件名,img是文件的后缀,如果文件是bin的后缀改为bin即可
例子:binwalk -e VLEDE1.3.6.img

这时就可以看到解压出来一个文件夹,打开就可以看到内容了

五、当然还可以做进一步解压,解压里面这个文件

unsquashfs -dest what-in-bin *.squashfs    这里面的*代表文件名,squashfs是文件的后缀
例子:unsquashfs -dest what-in-bin 1080000.squashfs

这个文件夹里面就是固件包含的所有内容了