Оригинал ↗

Реверс-инжиниринг электросамоката и новая прошивка для него на RustПроизводитель Egret GT утверждает, что разъём USB-C на дисплее нужен только для зарядки телефонов. Автор из спортивного интереса купил коммутационную плату USB-C, проверил осциллографом каждый контакт и обнаружил, что два из них используются как шина CAN в нарушение стандарта. Дальше начался классический реверс: сниффинг трафика, дамп прошивки контроллера двигателя и модуля дисплея через SWD, разбор всего в Ghidra.Внутри нашлось много интересного. Обновление прошивки на самокате идёт по CAN без криптографии, а весь основной жизненный цикл обновления располагается внутри одной функции загрузчика. Это значит, что модифицировать прошивку любого самоката можно без аутентификации. К этому моменту у автора уже накопилось достаточно материала, чтобы написать свою прошивку с нуля.Посмотрим, что получилось из этой затеи и как на Rust собрать GUI для микроконтроллера с 32 КБ ОЗУ.

Оригинал: https://u.habr.com/oYGtR
#ai#habr

← к ленте