• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе 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

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