PS:本文所用到的程序见 – https://github.com/G4rb3n/IoT_Sec_Tutorial
首先我们需要安装固件提取工具 binwalk,由于该工具的安装流程比较繁琐,建议直接使用Kali Linux,该系统默认安装有 binwalk。
https://github.com/ReFirmLabs/binwalk
提取固件系统的参数是-e,我们可以加上-t -vv参数查看详细的提取过程。通过输出信息,可以得知该固件系统没有加密压缩,且系统为Squashfs。
binwalk -t -vv -e RT-N300_3.0.0.4_378_9317-g2f672ff.trx
提取出来的文件夹为_RT-N300_3.0.0.4_378_9317-g2f672ff.trx.extracted,其中的squashfs-root就是我们想要的该固件的文件系统。
那么binwalk的是怎么实现提取的呢?原理就是,通过自带的强大的magic特征集,扫描固件中文件系统初始地址的特征码,若匹配成功&