我已经下载了一些 D-Link 路由器的固件更新文件DAP2690-firmware-v101-rc019.bin
(链接)。
我已经使用binwalk -e DAP2690-firmware-v101-rc019.bin
(Binwalk v1.2b) 提取了它,现在我在文件夹中有根文件系统squashfs-root
。
我想仅从提取的文件(最好仅从文件夹squashfs-root
)中了解此固件的 linux 内核版本。
我怎样才能做到这一点?
我已经下载了一些 D-Link 路由器的固件更新文件DAP2690-firmware-v101-rc019.bin
(链接)。
我已经使用binwalk -e DAP2690-firmware-v101-rc019.bin
(Binwalk v1.2b) 提取了它,现在我在文件夹中有根文件系统squashfs-root
。
我想仅从提取的文件(最好仅从文件夹squashfs-root
)中了解此固件的 linux 内核版本。
我怎样才能做到这一点?
我会去检查在文件系统上编译的模块。每个模块都有一个vermagic
编号,该编号必须等于内核 vermagic 才能insmod
加载模块。
这是一个准确描述如何提取它的链接。它还显示了如何使用strings
以查找内核版本。
squashfs-root
文件夹旁边有一个A0
文件。
binwalk A0
透露:
DECIMAL HEX DESCRIPTION
-------------------------------------------------------------------------------------------------------------------
0 0x0 ELF 64-bit MSB MIPS32 rel2 executable, MIPS, version 1 (SYSV)
2969600 0x2D5000 Linux kernel version "2.6.16.26-Cavium-Octeon (william@J10) (gcc version 4.1.1 (Cavium@J10) (gcc version 4.1.1 (Cavium Networks Development Build)) "
2991185 0x2DA451 LZMA compressed data, properties: 0x40, dictionary size: 2097152 bytes, uncompressed size: 2097216 bytes
3329399 0x32CD77 LZMA compressed data, properties: 0x40, dictionary size: 16777216 bytes, uncompressed size: 1073741824 bytes
3429479 0x345467 LZMA compressed data, properties: 0x40, dictionary size: 33554432 bytes, uncompressed size: 131072 bytes
3429503 0x34547F LZMA compressed data, properties: 0x40, dictionary size: 33554432 bytes, uncompressed size: 131072 bytes
3429527 0x345497 LZMA compressed data, properties: 0x40, dictionary size: 33554432 bytes, uncompressed size: 131072 bytes
3504750 0x357A6E LZMA compressed data, properties: 0x5B, dictionary size: 16777216 bytes, uncompressed size: 88 bytes
3915776 0x3BC000 gzip compressed data, from Unix, last modified: Thu Mar 11 16:11:03 2010, max compression