Реверс-инжиниринг обновлений Xiaomi OTA для поиска невыпущенных обновлений

Старший член XDA duraaraa пытается создать поддельные OTA-запросы от устройств Xiaomi для доступа к ночным сборкам MIUI.

В попытке получить доступ к Сяоминочные журналы — неизданные собственные версии операционной системы MIUI от Xiaomi — старший участник XDA дураараа провести реверс-инжиниринг системы беспроводного обновления (OTA) китайской компании. Два эксплойта, находящихся в стадии разработки, вынуждают устройства Xiaomi использовать ночную сборку вместо последней коммерческой прошивки, что теоретически может быть устанавливается на готовые устройства, если (1) OTA-приложение MIUI было реконструировано и (2) тестовые сборки были подписаны теми же ключами, что и версия официальные сборки.

Метод 1: создание URL-адреса обновления Xiaomi OTA

Более простой из двух методов предполагает доступ к URL-адресу обновления OTA, который отправляет клиентскому устройству инструкции о том, как загрузить указанное обновление. Этот URL, например, содержит флаги, которые сообщают приложению OTA-обновлений Xiaomi, где найти версию 7.9.21 MIUI 9, внутреннюю тестовую сборку.

{"UserLevel":9,"LatestVersion":{"type":"rom","device":"chiron_global","name":"XM-MIMIX2-GLOBAL 7.9.21","description":"MIUI\u5347\u7ea7","descriptionUrl":"http:\/\/update.miui.com\/updates\/updateinfo\/7.9.21\/chiron_global_0_7.9.21_4494ccfcc506caca9904efb74b489e0a.html","md5":"7f94ca393fae77c6171e6c7a551bea2e","filename":"miui_MIMIX2Global_7.9.21_7f94ca393f_7.1.zip","filesize":"1.6G","codebase":"7.1","version":"7.9.21","branch":"X"},"UpdateList":[{"type":"rom","device":"chiron_global","name":"XM-MIMIX2-GLOBAL 7.9.21","description":"","descriptionUrl":"http:\/\/update.miui.com\/updates\/updateinfo\/7.9.21\/chiron_global_0_7.9.21_4494ccfcc506caca9904efb74b489e0a.html","md5":"7f94ca393fae77c6171e6c7a551bea2e","filename":"miui_MIMIX2Global_7.9.21_7f94ca393f_7.1.zip","filesize":"1.6G","codebase":"7.1","version":"7.9.21","branch":"X"}],"IncrementalUpdateList":[],"MirrorList":["http:\/\/bigota.d.miui.com"],"Signup":{"version":"","total":"","rank":""},"AuthResult":0,"ForceUpdate":0

Когда недавно в Китае начала распространяться стабильная версия — 8.5.7.0.NDECNEF — дураара использовал эксплойт, чтобы найти URL-адрес обновления прошивки.

Метод 2. Создание запроса на обновление OTA Xiaomi

Второй метод, который немного более сложен, включает в себя получение ключа расшифровки сервера обновлений Xiaomi. Для этого потребуется декомпилировать приложение обновления и использовать Xposed для захвата и анализа сетевого трафика.

Когда ключ дешифрования (например, miuiotavalided11) имеется, любой пользователь теоретически может сгенерировать поддельный запрос на обновление.

Принудительное обновление Xiaomi OTA

дураараа использовал два метода для поиска невыпущенных сборок MIUI на серверах Xiaomi, но пока не смог загрузить и установить ночную версию на устройство Xiaomi. Он просит членов сообщества разработчиков принять участие в этих усилиях.

Чтобы следить за новыми разработками и/или делиться своим опытом, посетите ветку форума XDA.


Обсуждение реверс-инжиниринга OTA Xiaomi