Easyelectronics.ru

Электроника для всех
Текущее время: 18 янв 2020, 16:13

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



JLCPCB – Прототипы печатных плат за $2/10pcs (Любой цвет!)
Крупнейший производитель печатных плат и прототипов. Более 600000 клиентов и свыше 10000 заказов в день!
Получите скидку на почтовую отправку при первом заказе в JLCPCB!

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

Зарегистрирован: 06 июн 2011, 10:55
Сообщения: 102
Откуда: Иркутск
Кароч, есть бутлоадер шифрующий/дешифрующий 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
Сообщения: 1833
HEX это тупик.
BIN наше всё.


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

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

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


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

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


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


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


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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

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