XDA Senior Member duraaraa heeft geprobeerd valse OTA-verzoeken van Xiaomi-apparaten te maken om toegang te krijgen tot nachtelijke builds van MIUI.
In een poging toegang te krijgen tot Xiaomi's nightlies - de nog niet uitgebrachte, interne versies van Xiaomi's MIUI-besturingssysteem - XDA Senior Member duraara reverse-engineeren van het over-the-air (OTA) updateframework van het in China gevestigde bedrijf. De twee work-in-progress-exploits dwingen Xiaomi-apparaten om een nachtelijke build uit te voeren in plaats van de nieuwste commerciële firmware, wat in theorie zou kunnen zijn geïnstalleerd op kant-en-klare apparaten als (1) de OTA-applicatie van MIUI reverse-engineered is en (2) de testbuilds zijn ondertekend met dezelfde sleutels als de officiële constructies.
Methode 1: Een Xiaomi OTA-update-URL maken
De eenvoudigste van de twee methoden is het verkrijgen van toegang tot de OTA-update-URL, die instructies naar het clientapparaat stuurt over hoe de genoemde update moet worden gedownload.
Deze URL bijvoorbeeld, bevat vlaggen die Xiaomi's OTA-update-app vertellen waar versie 7.9.21 van MIUI 9, een interne testbuild, te vinden is.{"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
Toen onlangs een stabiele release in China begon uit te rollen -- 8.5.7.0.NDECNEF -- duraara gebruikte de exploit om de upgrade-URL van de firmware te vinden.
Methode 2: Een Xiaomi OTA-updateverzoek opstellen
De tweede methode, die wat complexer is, houdt in dat je de decoderingssleutel van de Xiaomi-updateserver bemachtigt. Dat vereist het decompileren van de updater-applicatie en het gebruiken van Xposed om netwerkverkeer vast te leggen en te analyseren.
Wanneer de decoderingssleutel ("miuiotavalided11", bijvoorbeeld) aanwezig is, kan elke gebruiker in theorie een nep-upgradeverzoek genereren.
Xiaomi OTA-upgrades forceren
duraara gebruikte de twee methoden om niet-uitgebrachte MIUI-builds op de servers van Xiaomi te vinden, maar is er nog niet in geslaagd een nightly op een Xiaomi-apparaat te downloaden en te installeren. Hij vraagt leden van de ontwikkelingsgemeenschap om hieraan deel te nemen.
Bekijk de XDA Forums-thread om nieuwe ontwikkelingen te volgen en/of uw expertise aan te bieden.
Discussie over reverse engineering Xiaomi OTA's