Nyní je snadné obejít ověřování SP Flash Tool MediaTek

Skupina vývojářů vytvořila obslužný program Python, který obchází autentizační rutinu MediaTek SP Flash Tool. Podívejte se na to hned!

Zařízení s čipovými sadami MediaTek mají BROM (bootovací paměť pouze pro čtení), která obvykle nahrává preloader spustitelný a následně spouští systém Android, ale také obsahuje alternativní režim spouštění známý jako Režim stahování. Je striktně určen pro OEM servis a lze jej použít k odcizení zařízení, stejně jako Režim nouzového stahování Qualcomm (EDL). Proprietární program vyrobený společností MediaTek s názvem „SP Flash Tool“ může toto rozhraní využít k vynucení flashování systémového softwaru na zařízení. Vzhledem k tomu, že režim stahování na nízké úrovni má efektivně plnou kontrolu nad úložištěm zařízení, mnoho výrobců OEM, včetně Xiaomi a Realme začal zatemňovat proces blikání. Kvůli této praxi může flashování firmwaru prostřednictvím režimu stahování provádět pouze podepsaný program „Download Agent“, který byl autorizován příslušným OEM, což v podstatě znamená, že

svůj vlastní smartphone nemůžete flashovat ani odpojovat, pokud k tomu nemáte povolení od výrobce zařízení.

Fantastická vývojářská komunita XDA opět přišla na pomoc. Na základě spouštěcí ROM-exploit původně objevil od XDA Senior Member xyz`, vývojáři Dinolek a k4y0z přišli s generickou metodou bypassu, která je kompatibilní s širokou škálou zařízení poháněných MediaTek, která by jinak vyžadovala autentizaci při flashování. Metoda, která využívá užitečné zatížení specifické pro SoC, zachycuje pre-flash dotazy ze SP Flash Tool a násilně nastavuje hodnoty dvou klíčových parametrů. ("Serial Link Authentication" a "Stáhnout Agent Authentication") jako false, aby mohl proces blikání pokračovat bez jakéhokoli povolení.


Je důležité poznamenat, že užitečné zatížení zneužití vyžaduje pro úspěšné zachycení speciálně upravený ovladač USB. Pokud používáte Windows, musíte nainstalovat ovladač filtru založený na libusb, abyste přepsali výchozí sadu ovladačů. Na druhou stranu uživatelé Linuxu potřebují aplikovat konkrétní náplast do jádra. V případě, že se nechcete dotknout svého primárního operačního systému, můžete využít FireISO – bootovatelný GNU/Linux ISO navržený speciálně pro tento účel.

Pokud jde o přístup do režimu stahování MediaTek, stačí vypnout cílové zařízení, podržet tlačítko pro zvýšení hlasitosti (snížení hlasitosti u telefonů Xiaomi) a připojit telefon k počítači. Měli byste vidět nové sériové zařízení uvedené ve Správci zařízení (Windows) nebo ve výstupu dmesg | grep usb (Linux).

V tomto okamžiku deaktivujte ochranu bootrom podle tohoto jednoduchého 5krokového procesu:

  1. Stáhněte a nainstalujte Krajta. Uživatelé Windows by měli na výzvu vybrat "Přidat Python X.X do PATH".
  2. Nainstalujte požadované závislosti pomocí pip:
    pip install pyusb pyserial json5
  3. Stáhněte si obslužný program bypass.
  4. Rozbalte archiv, spusťte nástroj a připojte telefon v režimu stahování MediaTek. Na konci protokolu byste měli dostat "Ochrana vypnuta".
    • Okna:
      pythonmain.py
    • Linux:
      ./main.py
  5. Poté bez odpojení telefonu spusťte nástroj SP Flash Tool v režimu připojení UART.

A to je vše! Ověřovací rutina je vynechána a nyní jste připraveni flashnout/odemknout telefon. Pokud někdo zkušenější chce udělat krok dále, může flashovat upravenou zálohu oddílu opravit zpackané IMEI, ale to je nad rámec tohoto článku.

Seznam aktuálně podporovaných SoC naleznete níže. Předpokládá se, že metoda bypassu funguje stejným způsobem na jiných čipových sadách MediaTek, ale někdo musí nejprve nakódovat vhodnou zátěž, aby deaktivoval rutinu ochrany bootromu.

Seznam podporovaných SoC

  • mt6261
  • mt6572
  • mt6580
  • mt6582
  • mt6735
  • mt6737
  • mt6739
  • mt6755
  • mt6757
  • mt6761
  • mt6763
  • mt6765
  • mt6768
  • mt6771
  • mt6785
  • mt6799
  • mt6873
  • mt8127
  • mt8163
  • mt8173
  • mt8695

Přečtěte si více

Závěr

Pokud si vzpomínáte, již téměř před rokem bylo zjištěno, že čipové sady MediaTek jsou náchylné na nebezpečný rootkit, a byl aktivně využíván hackery k získání přístupu root. Vzhledem k tomu není známo, proč tchajwanská společnost zabývající se návrhem čipů stále neopravila chybu ve svých čipových sadách, která umožňuje porazit řetězec důvěry při blikání. Přestože jsme viděli pouze dobrou stránku situace, z hlediska bezpečnosti je to ještě horší, když vezmete v úvahu stovky méně známých modelů zařízení využívajících tyto čipy MediaTek.

Je tu ještě jeden aspekt situace z pohledu komunity custom development, jejíž zájmy zastupujeme. Většina zařízení MediaTek se ocitá v neudržitelné kombinaci snadného zdění a obtížného oživení. Kromě toho požadavek nuceného povolení skutečně omezuje potenciál rozvoje trhu s náhradními díly. Metoda bypassu není nic jiného než jiskřička naděje pro majitele zařízení MediaTek, kteří chtějí jen odstranit potíže spojené s unbrickingem z moddingové scény.

Zájemci o prozkoumání kódové základny metody bypass by se měli podívat na odkaz GitHub níže. Můžete také komunikovat s vývojáři na stránce diskusní vlákno.

MediaTek SP Flash Tool Authentication Bypass GitHub Repo