Jump to content

Question

Posted

Возможно, глупый вопрос. Но сейчас озадачился периодическим сохранением прошивки из роутера по cron. 

Соответственно, для этого использую команду cli наподобие:

copy flash:/firmware USBFLASH:/firmware-cli

Также для сравнения сохраняю прошивку через веб (Система-Файлы). Прошивки по размеру получаются одинаковыми, но почти в самом конце 6 байт отличаются. Пробовал несколько раз. Байты одни и те же различаются, их содержимое также не изменяется (что для CLI, что для веба):

Сравнение файлов firmware-web и firmware-cli
00BB0030: 10 7C
00BB0031: CE 91
00BB0032: 99 91
00BB0034: E0 68
00BB0035: 3E F5
00BB0036: C1 95

Это нормально? По какой причине это происходит? Безопасно ли восстанавливаться с прошивки, сохраненной через CLI (не дают мне покоя различия в этих 6 байтах:-?)?

  • Thanks 1

7 answers to this question

Recommended Posts

  • 0
Posted
59 минут назад, gvan сказал:

Возможно, глупый вопрос. Но сейчас озадачился периодическим сохранением прошивки из роутера по cron. 

Соответственно, для этого использую команду cli наподобие:


copy flash:/firmware USBFLASH:/firmware-cli

Также для сравнения сохраняю прошивку через веб (Система-Файлы). Прошивки по размеру получаются одинаковыми, но почти в самом конце 6 байт отличаются. Пробовал несколько раз. Байты одни и те же различаются, их содержимое также не изменяется (что для CLI, что для веба):


Сравнение файлов firmware-web и firmware-cli
00BB0030: 10 7C
00BB0031: CE 91
00BB0032: 99 91
00BB0034: E0 68
00BB0035: 3E F5
00BB0036: C1 95

Это нормально? По какой причине это происходит? Безопасно ли восстанавливаться с прошивки, сохраненной через CLI (не дают мне покоя различия в этих 6 байтах:-?)?

Если затем попробовать прошить через Web, он принимает оба файла без ошибок?

  • 0
Posted
5 минут назад, Le ecureuil сказал:

Если затем попробовать прошить через Web, он принимает оба файла без ошибок?

Так я и не пробовал файл, полученный через CLI файл, засовывать через веб. Пока такой необходимости не было. А различие в содержимом меня как раз и насторожило, т.к. опасаюсь испортить роутер.

  • 0
Posted
24 минуты назад, gvan сказал:

Так я и не пробовал файл, полученный через CLI файл, засовывать через веб. Пока такой необходимости не было. А различие в содержимом меня как раз и насторожило, т.к. опасаюсь испортить роутер.

Web валидирует прошивку и подпись, поэтому он не даст вам засунуть испорченную, а также просто неправильный файл. Можете попробовать.

  • Thanks 1
  • 0
Posted
8 минут назад, Le ecureuil сказал:

Web валидирует прошивку и подпись, поэтому он не даст вам засунуть испорченную, а также просто неправильный файл. Можете попробовать.

Да, проверку файл прошел. Прошивка на роутер загрузилась.

Будем считать изменения в 6 байтах неважными, но подозрительными...

  • Thanks 1
  • 0
Posted

Апну тему.

Обратил внимание, что на последних версиях прошивки 2.09 мой скрипт бэкапа стал делать новую копию прошивки, как-будто я ее обновляю каждый день. Но это не так.

Стал разбираться и определил, что прошивка, сохраненная в файл через CLI каждый раз в бинарном виде отличается.

Делаю две копии одной и той же прошивки с разницей в пару секунд и сравниваю:

ndmq -p 'copy flash:/firmware ADATA:/backup/firmware-cli' -P message
ndmq -p 'copy flash:/firmware ADATA:/backup/firmware-cli2' -P message
cmp -l firmware-cli firmware-cli2
	12124209  44  14
	12124210   0 270
	12124211 145 144

Всегда различаются байты с указанными номерами. Размер прошивки одинаковый.

Но если сохранять через веб, то бинарные файлы получаются одинаковыми байт в байт.

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

  • Thanks 1
  • 0
Posted
9 часов назад, gvan сказал:

Апну тему.

Обратил внимание, что на последних версиях прошивки 2.09 мой скрипт бэкапа стал делать новую копию прошивки, как-будто я ее обновляю каждый день. Но это не так.

Стал разбираться и определил, что прошивка, сохраненная в файл через CLI каждый раз в бинарном виде отличается.

Делаю две копии одной и той же прошивки с разницей в пару секунд и сравниваю:


ndmq -p 'copy flash:/firmware ADATA:/backup/firmware-cli' -P message
ndmq -p 'copy flash:/firmware ADATA:/backup/firmware-cli2' -P message
cmp -l firmware-cli firmware-cli2
	12124209  44  14
	12124210   0 270
	12124211 145 144

Всегда различаются байты с указанными номерами. Размер прошивки одинаковый.

Но если сохранять через веб, то бинарные файлы получаются одинаковыми байт в байт.

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

Ага, проблема найдена, и исправлена.

Исправление появится во всех следующих сборках всех веток.

  • Thanks 2

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

This site uses cookies. By clicking "I accept" or continuing to browse the site, you authorize their use in accordance with the Privacy Policy.