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

3177
Flint

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

РЕДАКТИРОВАТЬ - Когда я опубликовал этот вопрос, я думал, что программа обновления dyndns в прошивке маршрутизатора была простым сценарием bash, и я подумал, что могу сделать небольшое редактирование сценария, но оказалось, что на самом деле это двоичное приложение, когда я проверил все процессы запущены в роутере, поэтому этот вопрос больше не актуален

1
На самом деле не существует (де-факто) стандарта для этого. Не могли бы вы предоставить производителя или, лучше, модель? Bob 12 лет назад 1
Какая подпись файла? Проверить с помощью `$ fileloaded_firmware.bin`? 12 лет назад 0

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

1
AndrejaKo

Что сказал Боб.

Также могут помочь zip, 7-zip и друзья, потому что часто сам файл изображения сжимается, и иногда формат, используемый изображением, может быть открыт одной из обычных утилит сжатия.

Стандартная процедура для фактической модификации прошивки состоит в том, чтобы получить все инструменты, необходимые для сборки прошивки, получить источник прошивки, изменить параметры и собрать прошивку самостоятельно. Это может или не может быть невозможно в зависимости от самого маршрутизатора. Маршрутизаторы часто используют операционную систему GNU / Linux, и из-за лицензии, используемой для нее, им необходимо сделать общедоступными исходные коды для некоторых частей встроенного программного обеспечения. Они часто хранятся где-то на сайте производителя, хотя производители нередко нарушают лицензию и не публикуют измененные источники.

Точная ситуация зависит от производителя вашего маршрутизатора и модели маршрутизатора.

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

1
Journeyman Geek

Прошивка маршрутизатора, скорее всего, представляет собой скомпилированный двоичный файл - распаковывать нечего, если только вы не разберете прошивку, не настроите ее (в значительной степени на уровне сборки) и не перекомпилируете ее.

Если это маршрутизатор с доступным источником - например, WRT54GL, то нужно найти источник и скомпилировать его.

Хотелось бы заметить, что запускать динамические DNS-клиенты или писать быстрый и грязный клиентский сценарий динамического DNS-сценария относительно просто, что НАМНОГО более простой способ получить то, что вы хотите.

В Zone Edit, где вы получаете две зоны бесплатно, вы можете обновить запись A для динамического IP-адреса, используя `curl`. Вы также можете получить скрипт для проверки изменения публичного IP-адреса с помощью `curl icanhazip.com`. paradroid 12 лет назад 0
Я использую особенно хакерский метод, получая IP-адрес с моей веб-страницы маршрутизатора с помощью w3m (который имеет самый лучший веб-вывод любого клиента Cli, grep и cut для извлечения IP-адреса, и периодически обновляя его с помощью wget. Все еще проще * и * безопаснее, что фьюзинг с прошивкой;) Journeyman Geek 12 лет назад 0

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