我正在尝试使用 binwalk 提取 Ubiquiti Networks ER-X 的固件。目前我已经下载了固件的副本并解压缩了它。我打开了包含文件系统内容的文件夹,发现compat squashfs.tmp squashfs.tmp.md5 version.tmp vmlinux.tmp vmlinux.tmp.md5. 我检查了哪个文件最大,发现squashfs.tmp最大,大小约为 78MB。我用 -e 标志运行 binwalk ,但没有提取文件系统。链接到固件。
提取基于 SquashFS 的文件系统
逆向工程
米普
垃圾桶
2021-07-06 15:42:05
1个回答
我能够很好地提取文件系统。我使用了 Binwalk v2.1.2b 并已sasquatch安装。
提取的文件系统:
_squashfs.tmp.extracted/squashfs-root $ ls
bin boot config dev etc home lib media mnt opt proc root root.dev run sbin selinux srv sys tmp usr var
它确实适用于 MIPS 设备:
$ file bin/bash
bin/bash: ELF 32-bit LSB executable, MIPS, MIPS-II version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.26, BuildID[sha1]=1b20797b11fa0a481a334f911ac5dfa27ce20c75, stripped
确保您的所有工具都是最新的,并且安装了必要的插件。从安装页面:
Binwalk 依赖多个外部实用程序来自动提取/解压缩文件和数据:
# Install standard extraction utilities $ sudo apt-get install mtd-utils gzip bzip2 tar arj lhasa p7zip p7zip-full cabextract cramfsprogs cramfsswap squashfs-tools sleuthkit default-jdk lzop srecord # Install sasquatch to extract non-standard SquashFS images $ sudo apt-get install zlib1g-dev liblzma-dev liblzo2-dev $ git clone https://github.com/devttys0/sasquatch $ (cd sasquatch && ./build.sh) # Install jefferson to extract JFFS2 file systems $ sudo pip install cstruct $ git clone https://github.com/sviehb/jefferson $ (cd jefferson && sudo python setup.py install)