
Как я прошил наушники soundcore, портировал на них кастомную прошивку и DOOM. Часть 1
nnonick 21 минуту назад Как я прошил наушники soundcore, портировал на них кастомную прошивку и DOOM. Часть 1 5 мин 599 Реверс-инжиниринг * Open source * Звук Игры и игровые консоли DIY или Сделай сам Из песочницы...
18 Temmuz'da Wellington'da en yüksek sıcaklık 14°C olacak mı?
Вот важная новость с фронта ИИ: nnonick 21 минуту назад Как я прошил наушники soundcore, портировал на них кастомную прошивку и DOOM. Часть 1 5 мин 599 Реверс-инжиниринг * Open source * Звук Игры и игровые консоли DIY или Сделай сам Из песочницы Демонстрация порта DOOM (порт будет разобран в следующих частях):Часть 1: из чего состоят наушники, софтверная часть и создание патчера стоковой прошивкиПримерно год назад я заинтересовался тем, что находится внутри моих наушников soundcore Life Q35 с точки зрения софта и железа. Я захотел модифицировать их прошивку, а может, ещё и запустить DOOM (спойлер: у меня получилось).
soundcore Life Q35 — наушники на базе SoC Bestechnic BES2300P (YP). Характеристики чипа:Два ядра ARM Cortex M4F (до 300 МГц)4 МБ Flash памяти~ 1 МБ SRAMДаташит можно посмотреть здесь. Начало: разборка и дамп прошивкиВсё началось с того, что я перехватил и подменил трафик приложения soundcore, скачал с серверов файл с апдейтом с помощью собственного запроса к серверу через curl, что‑то попытался из него вытащить, да забросил это дело.
Технические детали
Через полгода я решил взяться за это исследование серьёзно и разобрать их. Купил UART‑адаптер, паяльник и переборол страх сломать свои основные наушники. В интернете никаких инструкций по разборке и распиновок не было, поэтому пришлось исследовать это самостоятельно.
Я разобрал левую чашу наушников, перевернул плату, нашёл пины UART, подпаялся к ним и... застрял на некоторое время. UART‑пины на левой плате (зарядной)В интернете есть утилиты для прошивки, оставленные и созданные комьюнити проекта openpinebuds (репозиторий, спасибо pine64!
), а также официальный SDK для сборки собственной прошивки. Для начала я, конечно же, решил прочитать память наушников, но как? В официальной инструкции для PineBuds писалось, что нужно положить наушники в кейс, а у меня полноразмерные наушники...
Отраслевые последствия
Я давно замечал: когда наушники выключены, при нажатии кнопки ANC в левом динамике раздается треск с каким‑то странным промежутком, будто просыпается процессор. Это наблюдение стало ключом к режиму загрузчика. После нескольких тестов методом тыка я выяснил: если запустить утилиту для прошивки bestool и зажать кнопку ANC на выключенных наушниках, они просыпаются, шлют sync пакет в UART, входят в режим загрузчика и, наконец, позволяют считать или перезаписать память!
Из чего состоит прошивка и с чем её едят? После считывания дампа возник вопрос: как модифицировать прошивку и из чего она вообще состоит? Binwalk на неё плохо работает, ничего не выдает, а значит, нужно исследовать её вручную.
Этот прогресс даёт важные сигналы о будущем отрасли, и технологический мир внимательно наблюдает.





