解压路由器 Rom 文件

解压路由器 Rom 文件

有人知道路由器 Rom 文件(从路由器界面下载)通常保存在什么文件类型或文件系统中吗?是否有一个工具(我们这里不讨论像 zip/7z/rar 这样的存档工具)可以用来解压/正确地重新打包固件文件?我问这个问题的原因是我想摆弄一下,可能对它们进行一些更改,然后用修改后的固件刷新我的路由器。路由器不支持自定义和花哨的第三方固件,因此我需要修改制造商的库存固件。

答案1

一个名为的工具宾沃克可能是分析固件的一个很好的起点。它将生成一个列表,其中确切包含固件文件。它还能够提取已识别的块,但我使用的是反而。

虽然很有用,宾沃克并不完全准确。我实际上正在努力解决 ZynOS 固件问题,宾沃克据说这是 LZMA 压缩文件,但没有 LZMA 工具可以解压它。它看起来像一大包数据,没有任何已知的文件结构。

这对您来说可能是坏消息,但有时不可能简单地将其解压、更改某些内容并重新打包(例如我的 Linksys,其固件只是一个带有典型 Linux 文件系统的 SquashFS 分区)。我将进行进一步研究,如果我偶然发现一些有趣的东西,我将更新我的帖子。

你应该得到类似的输出宾沃克

    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

列:

  1. 目标文件中的位置(十进制)
  2. 目标文件中的位置(十六进制)
  3. 区块的简短描述

相关内容