• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Работа flash

Andrey

New member
Кто то на другом форуме писал что прошивка хранится во флэш зашифрованная. Если это так, то ключ шифрования для каждого модуля свой? Он прописывается на заводе или в прошивке которую льют по COM порту?
 

brig

New member
Было бы неплохо, если люди, умеющие читать/писать флеш (здесь есть такие), написали бы простую утилитку для считывания бинарного образа флеш и сохранения его на диск.
 

Andrey

New member
А для чего вам это? И в чём сложность утилитку самому сделать? Или для этого нужно прошивку специальную делать?
У меня собственно вопрос был можно ли потом просто припаивать прошитые флэшки или нужно будет по компорту всегда прошивать? Если она шифрованная с ключом в микросхеме то нет, зато можно на этом построить дополнительную защиту устройства.
 

brig

New member
А для чего вам это?
Ну, мало ли...
Одно из применений - получение образа прошивки, которая нигде не публиковалась, а присутствует только в составе устройства.
Или, к примеру, ребята, работающие над NodeMCU, никак не решат проблем с корректной записью файлов. Используя такую утилитку можно провести тесты и обнаружить косяки, не работать вслепую...
в чём сложность утилитку самому сделать?
Сложность - в отсутствии простоты (извините за каламбур). Не все "на ты" с SDK. Если вам не сложно, почему бы не сделать полезную вещь?
Если она шифрованная......
Скорее всего, нет. Посмотрите дамп любой прошивки: текстовые сообщения читабельны.
 

pvvx

Активный участник сообщества
Кто то на другом форуме писал что прошивка хранится во флэш зашифрованная. Если это так, то ключ шифрования для каждого модуля свой? Он прописывается на заводе или в прошивке которую льют по COM порту?
Ничего там не шифруется. Это ляпнули на сахаре, по недосмотру :)
Флеш любого размера давно читается в файл даже в интернет эксплорере. Но никто не проверял, есть или нет функции чтения flash у встроенного BIOS (встроенного загрузчика, ROM, в процессоре, с помощью которого производится загрузка программирование flash).
Причина в том, что это никому не нужно. И реализуется это 100% путем загрузки в режиме BOOT кода в память, а не во флеш. Загрузчик всё это позволяет сделать.
 
Последнее редактирование:

goodwin

Member
Ничего там не шифруется. Это ляпнули на сахаре, по недосмотру :)
Это были хотелки ;)
Раз уж применяется внешняя флэш, была надежда, что китайцы предусмотрели какой-нибудь механизм защиты кода, как это делается в серьезных чипах. Например, аппаратное шифрование/дешифрование при обращении к флэш, использующее тот же MAC/ID из ROM, в качестве ключа.
Сейчас преодолел природную лень - подоткнулся к флэш программатором. Увы, облом'c - дампы одинаковы. Грустно залил программатором прошиву во флэш - работает.
 
Последнее редактирование:

Andrey

New member
С другой стороны будет меньше проблем с программированием флэша при производстве.
Думаю МАС в качестве ключа использовать не стоит. Он выдаётся в открытом виде с каждым Ethernet пакетом.
 
Сверху Снизу