Распаковка роутера в файл Rom

3537
user1863359

Кто-нибудь знает, в каком типе файла или файловой системе обычно сохраняется Rom-файл маршрутизатора (загружаемый из интерфейса маршрутизатора)? Есть ли инструмент (мы не говорим об инструменте архивирования, например, zip / 7z / rar), который я мог бы использовать для распаковки / правильной перепаковки файла прошивки? Причина, по которой я спрашиваю, заключается в том, что я хочу поиграться, возможно, добавлю в них некоторые изменения, и мой маршрутизатор будет сброшен с измененной прошивкой. Маршрутизатор не поддерживает нестандартные и модные прошивки сторонних производителей, поэтому я должен модифицировать стоковую прошивку производителя.

-2
Это сильно зависит от операционной системы, на которой работает маршрутизатор, и его загрузчика. Нет стандартного формата среди всех роутеров. LawrenceC 10 лет назад 2
Да, это будет полностью зависеть от марки / модели и версии маршрутизатора, и даже если вы укажете эту информацию нам, маловероятно, что кто-то когда-либо пробовал это раньше на * этом конкретном маршрутизаторе * - особенно если это не тот, который традиционно может быть перепрошит, например, OpenWRT. Horn OK Please 10 лет назад 0
Вот спецификация роутера, о которой я говорил: TP-LINK TD-W8951ND с прошивкой ZynOS user1863359 10 лет назад 0
Вы понимаете, даже если вы распакуете файл, это будет скомпилированная версия прошивки, верно? Ramhound 10 лет назад 0
Я понятия не имею, но есть служба (веб-сайт), позволяющая вам загрузить файл Rom и извлечь информацию, это то, что мне нужно, но мне нужно кое-что на местном user1863359 10 лет назад 0
может ли кто-нибудь помочь мне здесь user1863359 10 лет назад 0

1 ответ на вопрос

2
itachi

Инструмент с именем binwalk может быть хорошей отправной точкой для анализа встроенного программного обеспечения. Он выдаст список, который точно содержит файл прошивки. Он также способен извлекать идентифицированные блоки, но вместо этого я использую dd .

Несмотря на то, что binwalk очень полезен, он не совсем точен. Я на самом деле борюсь с прошивкой ZynOS, и binwalk говорит, что это сжатый архив LZMA, но ни один из инструментов LZMA не может его распаковать. Это выглядит как большой пакет данных без какой-либо известной файловой структуры.

Это может быть плохой информацией для вас, но иногда невозможно просто распаковать его, что-то изменить и снова упаковать (например, мой Linksys, где прошивка представляет собой просто раздел SquashFS с типичной файловой системой Linux). Я буду заниматься дальнейшими исследованиями, и если мне удастся найти что-то интересное, я обновлю свой пост.

Вы должны получить аналогичный вывод из binwalk .

 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. Краткое описание блока
что вы подразумеваете под "я использую дд"? user1863359 10 лет назад 0
спасибо за ответ, я уже попробовал инструмент binwalk и столкнулся с теми же проблемами .... на самом деле я не очень знаком с Linux Os и ищу инструмент win .... я использовал онлайн-сервис [http://50.57.229.26/zynos.php] но сейчас он не работает !! ... последнее, пожалуйста, объясните мне, что вы подразумеваете под "я использую dd"? user1863359 10 лет назад 0
«dd» - это инструмент бинарного копирования общего назначения. Предположим, что вы хотите извлечь GIF, расположенный со смещением _128002_, затем просто введите в консоли: ** dd if = firmware.bin of = image1.gif bs = 1 skip = 128002 count = 8132 **. Значение "count" - это разница смещения сегмента назначения и следующего смещения сегмента, в данном случае: 136194-128002. В некоторых случаях, опция извлечения binwalk может быть лучшим выбором. Попробуй, попробуй и ... Попробуй. itachi 10 лет назад 0

Похожие вопросы