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

1

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

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

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

Ответы:

1

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

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

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

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

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

AndrejaKo
источник
1

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

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

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

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