对于路由器固件的格式和前面所说的PE文件格式大不相同,下面通过几个小工具对固件的解析结果来对其格式进行说明。
可以看出来它的文件类型为data。
接下来使用hexdump工具来查看文件中的每一个字节,使用-C命令可以设置hexdump输出为hex+ASCII的方式,便于阅读。通过这个工具输出的txt的文件很大,通过看输出文件的前一部分可以知道此固件是属于dlink的。
作为初始的信息收集,strings可以说是最常用的工具之一,它可以显示文件中所有可打印的数据。从获得的string信息中可以看到它的类型为firmware。
binwalk会分析进制文件中可能的固件头或者文件系统,然后输出识别出的每个部分以及对应的偏移量。从下图的输出结果中可知该固件采用的是Squashfs文件系统。