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

Исходники загрузчика, поставляемого с SDK

Br.Misha

New member
Здравствуйте!
Использую загрузчик, который поставляется с SDK (boot_v1.2.bin). Есть ли где-то его исходники?
Спасибо!
 

pvvx

Активный участник сообщества
Здравствуйте!
Использую загрузчик, который поставляется с SDK (boot_v1.2.bin). Есть ли где-то его исходники?
Спасибо!
А цель его использования? Много места в Flash и медленнее грузится? :)
Или скучно и он больше китай-глюков добавляет? :confused:
 

Br.Misha

New member
Цель - обновление через OTA.
Глюки, да, были, но если прошивку грузить своими методами, без использования system_upgrade_start, тогда обновляется отлично. FLASH мне вполне достаточно (стоит 1мб)
 

pvvx

Активный участник сообщества
Цель - обновление через OTA.
Для OTA вроде есть rboot. И вроде он встроен уже в sming...
http://richard.burtons.org/tag/rboot/
Я про него ничего не знаю, но при первых появлениях он был специальным тормозящим загрузку boot.
А к китайскому исходников нет и не будет. У них почти каждую версию SDK пишется, что они что-то там опять починили с boot. :) А если они пишут, что починили - это значит встроили новые глюки по описанной починке :)

Вот берем SDK 1.5.1 - "boot.bin is updated to version 1.5, resolving boot failure when firmware is upgraded over the air (OTA)." - это настораживает.
 
Последнее редактирование:

Br.Misha

New member
rBoot пробовал, были какие-то заморочкис makefile(да, я с мейкфайлами не дружу :) ), да и вроде как в нем есть какие-то особенности при энергосберегающем режиме, поэтому решил использовать родной бутлоадер, но может в процессе ещё раз rBoot попробую.
Для меня основной проблемой была защита прошивки. Если, допустим, в случае с бутлоадером, память разделяется на несколько областей - бутлоадер, прошивка1, прошивка2. Если в данный момент будет выполняться прошивка1, при этом, в области прошивки2 будет лежать старая версия прошивки, тогда злоумышленник сможет залить свою прошивку в область прошивки1, которая, к примеру, считает с флеша область прошивки2 и передаст по юарту, тогда он получит прошивку устройства и сможет делать копии. Конечно же, в данном случае после перепрошивки и запуска бутлоадером прошивки1 можно затирать область прошивки2, но всеравно, если отследит момент окончания прошивки, то может её стырить. Ещё, как вариант, в область памяти противоположной прошивки добавлять некую проверочную строку, если её нет, тогда прошивка не запускается. Но хотелось бы более надежный метод.
 

pvvx

Активный участник сообщества
rBoot пробовал, были какие-то заморочкис makefile(да, я с мейкфайлами не дружу :) ), да и вроде как в нем есть какие-то особенности при энергосберегающем режиме, поэтому решил использовать родной бутлоадер, но может в процессе ещё раз rBoot попробую.
Родной класный - он меняет переменные в сохранениях WiFi конфигурации, при этом контрольки их не поправляет :)
Ещё он интересен тем, что во время загрузки (пока ещё питание не устаканилось) стирает и переписывает сектора... Очень удобно - плохой конткат питания при включении и всё хорошо :)
Для меня основной проблемой была защита прошивки. Если, допустим, в случае с бутлоадером, ...
А великому злоумышленнику считать прошивку путем обычного esptool read_flash ? :) Паранойя мешает? :)
Или просто скачать её с модуля ESP8266 по WiFi думаете сложная задача, если используется китайский SDK? :)
Короче тут всё ясно - болезнь.
 
Последнее редактирование:

Br.Misha

New member
Родной класный - он меняет переменные в сохранениях WiFi конфигурации, при этом контрольки их не поправляет :)
Ещё он интересен тем, что во время загрузки (пока ещё питание не устаканилось) стирает и переписывает сектора... Очень удобно - плохой конткат питания при включении и всё хорошо :)
По поводу конфигурации - я её просто по иному адресу записываю (сектор 124). А по поводу перезаписи сектора. Вы уверены, что именно во время загрузки это происходит, а не по окончанию прошивки?

А великому злоумышленнику считать прошивку путем обычного esptool read_flash ? :) Паранойя мешает? :)
Или просто скачать её с модуля ESP8266 по WiFi думаете сложная задача, если используется китайский SDK? :)
Про read_flash не знал, буду что-то думать.
 

pvvx

Активный участник сообщества
А по поводу перезаписи сектора. Вы уверены, что именно во время загрузки это происходит, а не по окончанию прошивки?
https://github.com/pvvx/esp8266web/blob/master/info/libs/boot/boot_1_2.c без куска загрузчика дальнейших модулей...
Про read_flash не знал, буду что-то думать.
Бесполезно.
 

Br.Misha

New member
А если в прошивке делать некую привязку к chip id? Тоесть, перед самой заливкой прошивки получить id, в бинарнике установить соответсвующий ключ и только после этого заливать во флеш?
Конечно же, chip id на нескольких девайсах может совпадать, да и затем можно считать и дазасемблить прошивку, но всеравно, так хоть какая-то защита.
 

pvvx

Активный участник сообщества
А если в прошивке делать некую привязку к chip id?
chip id у всех ESP8266 одинаков.
Вы настолько больны? Я уже более 20 лет лепил всякие устройства и некоторые выпускались тысячами в месяц, но никогда защиты не ставил. По тому очень хорошо себя чувствую и не болею данной фигней :) А вскрыл более трех тысяч опухолей которые вы пытаетесь прилепить. :) Только это всё вскрытое никому нафиг не сдалось. Любой может сделать лучше с нуля. Главное информация и так на виду - в функционировании устройства. И устройство даже не требуется - вы её сами выложите в рекламе. :p
 
Последнее редактирование:

Br.Misha

New member
ну тогда будет просто ключ по MAC, если стырят прошивку и на всех своих девайсах установят одинаковый MAC, тогда при наличии двух одинаковых устройств в одной сети, они начнут тупить на большинстве роутеров (сам когда-то на этом попался)
 

pvvx

Активный участник сообщества
ну тогда будет просто ключ по MAC, если стырят прошивку и на всех своих девайсах установят одинаковый MAC, тогда при наличии двух одинаковых устройств в одной сети, они начнут тупить на большинстве роутеров (сам когда-то на этом попался)
А мак устанавливается в SDK любой и найти эту процедуру нет никакой проблемы.
Мир давно отказался от всяких защит от копирования. Это несет только убытки. Никому ваше устройство не нужно. Найдут лучше и дешевле, пока вы будете возиться со своими защитами :) Тем более из ходового покупают лучше то, что можно переписать и где всё открыто. :p
Вы напишите хоть зачем вам защита, т.е. на каком таком устройстве c ESP8266 можно что-то ещё заработать. Ваша прошивка и участие больше не потребуются. Прикину и если выгодно сразу сделаем и завалим все ларьки :)
"Защиту" ныне делают исключительно для "дурака", чтобы устройство не заломали всякие Ардуинщиники. Они любят везде подключиться на проводках и потом сдать нерабочее устройство обратно. :) А если вы где кинете всем программу перепрошивки, то "Вася из их двора" починет это устройство и оно будет более ходовым из-за ремонтопригодности и доп. рекламы от ремонта. :p Но вот копаться в ваших кодах уж точно никто не будет...
 
Последнее редактирование:

Br.Misha

New member
да, но изначально мак установлен а самом модуле. По крайней мере, я заливал одну и ту же прошивку в разные модули и на всех мак отличался.
 

pvvx

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