Easyelectronics.ru

Электроника для всех
Текущее время: 17 май 2021, 17:19

Часовой пояс: UTC + 5 часов



JLCPCB – Прототипы печатных плат за $2/5шт. два слоя. $5/5шт. четыре слоя
Крупнейший производитель печатных плат и прототипов. Более 600000 клиентов и свыше 10000 заказов в день!
Получите скидку на почтовую отправку при первом заказе в JLCPCB!

Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
 Заголовок сообщения: Как правильно парсить прошивку на лету?
СообщениеДобавлено: 02 ноя 2019, 21:34 
Заглядывает иногда

Зарегистрирован: 06 июн 2011, 10:55
Сообщения: 115
Откуда: Иркутск
Кароч, есть бутлоадер шифрующий/дешифрующий AES-128. Принимает этот бутлоадер от W25Qxx памяти прошивку ядра (STM32F4). Стандартный кейловский HEX, пока без изысков. Суть в чём, данные я гружу зашифрованными порциями по 0x100 байт (1 page). Сколько этих порций контроллер не знает. Можно сколхозить, но оно надо?

Далее получив посылку в 100 байт. Расшифровываем её. Получаем 0x100 байт HEX кода. Но распарсить нормально мы его не сможем т.к. посылка не вся, а городить велосипед и в особенности отжирать половину памяти МК для временного хранения расшифрованной прошивки душит жаба.

Вопрос, как просто и элегантно распарсить HEX, который пришёл, но не весь. Может кто уже делал что подобное?
HEX с контрольными суммами всё как положено. Разве, что 0xD, 0xA отбросил, ибо нафиг они вообще?

Show офф


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как правильно парсить прошивку на лету?
СообщениеДобавлено: 02 ноя 2019, 21:46 
Старожил
Аватара пользователя

Зарегистрирован: 04 окт 2011, 10:19
Сообщения: 2192
HEX это тупик.
BIN наше всё.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как правильно парсить прошивку на лету?
СообщениеДобавлено: 03 ноя 2019, 07:51 
Старожил
Аватара пользователя

Зарегистрирован: 26 окт 2013, 07:58
Сообщения: 2670
x893 писал(а):
HEX это тупик.
BIN наше всё.

Абсолютно поддерживаю!
Хотя и HEX зашифровать/дешифровать не проблема.
Но сам формат HEX - лишние заморочки.
Я в своем первом бутлоадере тоже HEX писал, с шифровкой тоже.
Вроде все хорошо, но в один прекрасный момент прошивка перестаёт работать, причем не так что вся, а в определённых местах (функциях).
Начинаешь долго анализировать и выясняется - решил он на какой-то строке выравнивание поменять.
То есть если раньше всегда по 4 байта размером блоки были, то в одной строке ему захотелось сделать 3 байта.
Учел, исправил бутлоадер, но опять при очередной прошивке что то вылезло (не помню уже что конкретно).
Я не уж не говорю, что нужно учитывать все эти относительные сдвиги, которые он вставляет куда ему заблагорассудится.
Да пошёл он нахрен, этот HEX!
Берёшь бинарик и байт за байтом пишешь по нужному адресу и мозг не сношаешь.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как правильно парсить прошивку на лету?
СообщениеДобавлено: 03 ноя 2019, 12:33 
Заглядывает иногда

Зарегистрирован: 06 июн 2011, 10:55
Сообщения: 115
Откуда: Иркутск
Ладно убедили. Будем думать в этом направлении.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 4 ] 


Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: wyfinger


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB