Inżynieria wsteczna Aktualizacje Xiaomi OTA w celu znalezienia niepublikowanych aktualizacji

Starszy członek XDA duraaraa próbował tworzyć fałszywe żądania OTA z urządzeń Xiaomi, aby uzyskać dostęp do nocnych kompilacji MIUI.

Próbując uzyskać dostęp do XiaomiNightlies — niewydane, autorskie wersje systemu operacyjnego MIUI firmy Xiaomi — starszy członek XDA duraara dokonaj inżynierii wstecznej platformy aktualizacji OTA (over-the-air) chińskiej firmy. Dwa exploity, nad którymi trwają prace, zmuszają urządzenia Xiaomi do pobierania nocnej kompilacji zamiast najnowszego komercyjnego oprogramowania, co teoretycznie mogłoby być instalowany na gotowych urządzeniach, jeśli (1) aplikacja OTA MIUI została poddana inżynierii wstecznej i (2) kompilacje testowe zostały podpisane tymi samymi kluczami co wersja oficjalne konstrukcje.

Metoda 1: Tworzenie adresu URL aktualizacji Xiaomi OTA

Prostsza z dwóch metod polega na uzyskaniu dostępu do adresu URL aktualizacji OTA, który wysyła do urządzenia klienckiego instrukcje dotyczące sposobu pobrania aktualizacji. Ten adres URL, na przykład, zawiera flagi informujące aplikację aktualizacyjną OTA Xiaomi, gdzie znaleźć wersję 7.9.21 MIUI 9, wewnętrzną wersję testową.

{"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

Kiedy ostatnio w Chinach zaczęło pojawiać się stabilne wydanie — 8.5.7.0.NDECNEF — duraara wykorzystał exploit do znalezienia adresu URL aktualizacji oprogramowania sprzętowego.

Metoda 2: Tworzenie żądania aktualizacji Xiaomi OTA

Druga metoda, nieco bardziej złożona, polega na pobraniu klucza deszyfrującego z serwera aktualizacji Xiaomi. Wymaga to dekompilacji aplikacji aktualizacyjnej i użycia Xposed do przechwytywania i analizowania ruchu sieciowego.

Gdy klucz deszyfrujący (na przykład „miuiotavalided11”) jest na swoim miejscu, teoretycznie każdy użytkownik może wygenerować fałszywe żądanie aktualizacji.

Wymuszanie aktualizacji Xiaomi OTA

duraara użył obu metod, aby znaleźć niewydane kompilacje MIUI na serwerach Xiaomi, ale nie udało mu się jeszcze pobrać i zainstalować wersji Nightly na urządzeniu Xiaomi. Prosi członków społeczności programistów o włączenie się w te wysiłki.

Aby śledzić nowe wydarzenia i/lub podzielić się swoją wiedzą, odwiedź wątek na forach XDA.


Dyskusja na temat inżynierii wstecznej Xiaomi OTA