Комментарии 10
Очень сильный разбор. Особенно понравилось, что статья не скатилась в "смотрите, я расшифровал RC4", а показывает весь практический путь: от MITM и APK patching до восстановления бинарного формата FDS. Такие материалы редкость - обчно либо поверхностный тутор либо дамп кода без объяснения мышления.
Отдельно кайфанул с момента про timezone в 15-минутных интервалах и 404 из-за неправильного suffix это прям классический reverse engineering experience, когда полдня подозреваешь auth/security, а проблема оказывается в одном байте формата :)
Ну и вообще круто, что итогом стал не PoC "на один вечер", а полноценный self-hosted pipeline с SQLite и Telegram-ботом. Спасибо за публикацию.
Достойный материал, побольше бы такого на Хабре
xioami а точнее huami особенно полюбила все шифровать после того как по ее браслетам прошлись хакеры с солонкой. у них и поверх bluetooth свое собственное шифрование с ключем в учетке.
собственно обмен по bluetooth отреверсили хорошо. можно получать все эти данные напрямую вообще без облаков, и сон и циферблаты. но генерацией и установкой ключа толи не занимались толи не получилось, поэтому его выдирают из облака
Huami тут не причем, и она давно с Сяоми не работает
С ключами, там приватный ключ у Сяоми, как вы handshake сделаете?
А в девайсе зашиты персональные ключи, которые простым смертным недоступны, они в спец партиции флешки.
А ещё теперь Сяо внедряет аппаратную защиту от смена региона.
Статья отличная, но качество данных, собираемых самими часами оставляет желать лучшего. Мне они например показывают, что я спал аж 9 часов, по факту я разбитый проснулся, потому что ребенок 9-месячный будил как минимум 4 раза за ночь, которые я запомнил, потому что полностью проснулся. Один из этих разов я не мог уснуть и с 4 утра до 6 примерно тупил в телефон, потом уснул где-то на полтора часа до будильника. Часы ничего не зафиксировали - спит!
именно Xiaomi Smart Band 10 ? Жалобы на он во время тупления в телевизор нередко можно слышать, но у недосыпа могут быть и более глубокие причины.
Один типа ученый в ютубе анализирует часы именно по этому параметру, сравнивает с фазами сна полученных на ЭКГ (самодельном). Довольно большой разброс у разных производителей.
А можно не мучать кота, а
Выгружать curl с самих часов
Настроить синхронизацию Google fit, Strava и брать открытые данные с них.
Выгружать JSON себе на сервер, а не на Сяоми, и не зависеть от сервисов Сяо.

Реверс-инжиниринг Xiaomi Smart Band 10