Рубрика «программирование микроконтроллеров» - 14

ATSHA204A: маленький гигант большого крипто. Часть 1: ой, какой он у вас маленький - 1

Рано или поздно, занимаясь DIY-разработкой, проектированием IoT устройств и тому подобным творчеством (или работой), вы приходите к необходимости защищать свои устройства и их коммуникации от взлома, кражи и подделки хранимых и передаваемых данных. Особенно это актуально в популярной области «интернета вещей», где вся система является распределённой и между её частями, хабами, датчиками и прочими элементами, происходит постоянный обмен информацией.

Первое, что приходит в голову — это реализация криптографической защиты программными средствами, например, защита передаваемых данных при помощи связки SHA-256/AES. Для большинства современных микроконтроллеров существуют соответствующие библиотеки, которые успешно работают даже на таких слабых MCU как ATmega328.

Но когда вы глубже погружаетесь в тему, становится очевидным, что любая реализация криптографической защиты на основе внутренних механизмов микроконтроллеров (даже таких популярных как STM32) априори является паллиативной и ущербной, поскольку микроконтроллеры общего назначения не являются специализированными криптографическими устройствами со всеми вытекающими из этого последствиями.

Что же делать?Читать полностью »

Итак, это случилось. Я добыл Flipper Zero в бою (ну, на самом деле мне его выдали на хакатоне), и естественно, что интереснее всего не играть в него, используя уже сделанные кем-то функции, а писать что-то новое. Примерно так же я развлекался с Pebble. Тут, кстати, все очень похоже — МК, RTOS, небольшой монохромный экранчик, С (ну, С++ тоже есть, но зачем).

Читать полностью »

Проверяем код дельфина Flipper Zero на чистоту с помощью PVS-Studio
Flipper Zero — швейцарский нож для гиков и пентестеров с открытым исходным кодом. Так получилось, что пути этого проекта и анализатора PVS-Studio пересеклись. Философский вопрос: начинать ли проверять проект, зная, что авторы проекта уже исправляют ошибки? Попробуем.

Читать полностью »

15с, 16c или 41c – вам какой? Собираем собственный эмулятор калькулятора HP - 1


Я всю свою жизнь пользовался калькуляторами HP RPN, и мне жаль, что RPN-версии больше не производят. Они были упразднены в угоду стандартным инфиксным калькуляторам. Тем не менее я всегда хотел иметь HP15c, но вот никак не подворачивался случай его купить. Так что это моя первая попытка создать его самостоятельно.Читать полностью »

Почти в каждом микроконтроллере с интегрированной флэш памятью есть защита от вычитывания прошивки. Это делается чтобы защитить интеллектуальную собственность, криптографические ключи и алгоритмы от злоумышленников. Микроконтроллеры серии STM32, получившие широкое распространение в последнее время, особенно часто подвергаются атакам, однако нет практического опыта или информации касательно защищенности STM32 от подобных атак доступной публично. В этой статье рассмотрим системы защиты прошивки на примере STM32f0 серии.

Концепт защиты

Читать полностью »

Хакаем CAN шину авто. VAG диагностический бортовой компьютер - 1


С огромным увлечением исследую протоколы CAN шины и разрабатываю устройства взаимодействующие с автомобилем. У меня уже есть голосовое управление центральным замком, виртуальная панель приборов и даже мобильное приложение для моей Skoda Octavia A5.

Теперь я решил разработать диагностический бортовой компьютер для автомобилей группы VAG (VW, Audi, Skoda, Seat). Моими техническими требованиями было: OLED дисплей, лёгкая установка и подключение, множество диагностических параметров. В качестве компонентной базы выбрал:Читать полностью »

Открытый проект индуктивного абсолютного энкодера - 1

Без энкодеров не обходится ни один промышленный робот, принтер, лифт,  гимбал и проч. Но и в более простых вещах энкодеры тоже нужны. При этом индустриальный энкодер на 1024 точки может обойтись дороже самого мотора. Здесь представлен проект индуктивного энкодера способного упростить жизнь создателям мехатроники.

Читать полностью »

В этой статье мы поставим все необходимые инструменты для того, чтобы начать разработку микросхемы. Также мы установим Process Design Kit, про который мы говорили в предыдущей статье.

Напоминаю, что я продолжаю идти к цели — сделать свой собственный Отечественный Процессор (TM). Продолжение процесса разработки можно посмотреть под катом.

Как разработать микросхему, от идеи до результата. Часть 2. Установка программного обеспечения - 1

Читать полностью »

Низкоуровневое обнаружение Wi-Fi устройств в домашней сети - 1

Чтобы сделать собственное уникальное устройство для «умного дома» сейчас достаточно купить микроконтроллер и электронные компоненты. Конечно, на рынке уже есть множество «умных» устройств, но не все производители предоставляют открытое API, и уж точно единицы разрешают (или по крайней мере не запрещают) создавать собственные прошивки. Иногда наступает тот момент, когда кажется, что разработать и запрограммировать собственное устройство будет лучшим решением.

В этой статье я расскажу про несколько способов «‎научить» микроконтроллер распознавать присутствие людей дома исключительно с помощью Wi-Fi.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js