Ein Tool namens binwalk ist ein guter Ausgangspunkt, um eine Firmware zu analysieren. Es wird eine Liste erstellt, die die Firmware-Datei enthält. Es ist auch in der Lage, identifizierte Blöcke zu extrahieren, aber ich verwende stattdessen dd .
Binwalk ist zwar sehr nützlich, aber nicht ganz genau. Ich habe Probleme mit ZynOS-Firmware und binwalk sagt, dass es sich um ein komprimiertes LZMA-Archiv handelt, aber keines der LZMA-Tools kann es entpacken. Es sieht aus wie ein großes Datenpaket ohne bekannte Dateistruktur.
Es kann eine schlechte Information für Sie sein, aber manchmal ist es nicht möglich, sie einfach auszupacken, zu ändern und erneut zu packen (wie mein Linksys, bei dem die Firmware nur eine SquashFS-Partition mit einem typischen Linux-Dateisystem ist). Ich werde weitere Nachforschungen anstellen und wenn ich etwas Interessantes finde, werde ich meinen Beitrag aktualisieren.
Sie sollten eine ähnliche Ausgabe von binwalk erhalten .
DECIMAL HEX DESCRIPTION ------------------------------------------------------------------------------------------------------------------- 65790 0x100FE LZMA compressed data, properties: 0x7E, dictionary size: 4194304 bytes, uncompressed size: 65536 bytes 84992 0x14C00 ZynOS header, header size: 48 bytes, rom image type: ROMBIN, uncompressed size: 66696, compressed size: 16847, uncompressed checksum: 0xCB32, compressed checksum: 0xD5A5, flags: 0xE0, uncompressed checksum is valid, the binary is compressed, compressed checksum is valid, memory map table address: 0x0 85043 0x14C33 LZMA compressed data, properties: 0x5D, dictionary size: 8388608 bytes, uncompressed size: 66696 bytes 128002 0x1F402 GIF image data, version "89a", 200 x 50 136194 0x21402 GIF image data, version "89a", 560 x 50 328486 0x50326 Copyright string: " (c) 2001 - 2012 TP-LINK TECHNOLOGIES CO., LTD.LOGIES CO., LTD." 350208 0x55800 ZynOS header, header size: 48 bytes, rom image type: ROMBIN, uncompressed size: 5077932, compressed size: 1121804, uncompressed checksum: 0xB4F9, compressed checksum: 0x84CA, flags: 0xE0, uncompressed checksum is valid, the binary is compressed, compressed checksum is valid, memory map table address: 0x0 350259 0x55833 LZMA compressed data, properties: 0x5D, dictionary size: 8388608 bytes, uncompressed size: 5077932 bytes
Säulen:
- Position in der Zieldatei (dezimal)
- Position in der Zieldatei (hexadezimal)
- Kurze Beschreibung eines Blocks