Распаковка роутера Rom файл [закрыт]

-2

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

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

Ответы:

2

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