Teraz je ľahké obísť autentifikáciu SP Flash Tool od MediaTek

Skupina vývojárov vytvorila pomôcku Python na obídenie autentifikačnej rutiny MediaTek SP Flash Tool. Pozrite si to teraz!

Zariadenia s čipsetmi MediaTek majú BROM (boot read-only memory), ktorá zvyčajne načítava prednahrávač spustiteľný a následne zavádza systém Android, ale obsahuje aj alternatívny režim zavádzania známy ako Režim sťahovania. Je striktne určený pre OEM servis a dá sa použiť na odmurovanie zariadenia, podobne Režim núdzového sťahovania spoločnosti Qualcomm (EDL). Proprietárny program vyrobený spoločnosťou MediaTek s názvom „SP Flash Tool“ môže využiť toto rozhranie na vynútenie flashu systémového softvéru na zariadení. Keďže nízkoúrovňový režim sťahovania má efektívne plnú kontrolu nad úložiskom zariadenia, mnohí výrobcovia OEM vrátane Xiaomi a Realme začal zahmlievať proces blikania. Kvôli tejto praxi môže flashovanie firmvéru prostredníctvom režimu sťahovania vykonať iba podpísaný program „Download Agent“, ktorý bol autorizovaný príslušným výrobcom OEM, čo v podstate znamená, že

nemôžete flashovať ani oddeľovať svoj vlastný smartfón, pokiaľ na to nemáte povolenie od výrobcu zariadenia.

Fantastická vývojárska komunita XDA opäť prišla na pomoc. Založené na boot ROM-exploit pôvodne objavil od XDA Senior Member xyz`, vývojári Dinolek a k4y0z prišli s generickou metódou bypassu, ktorá je kompatibilná so širokou škálou zariadení poháňaných MediaTek, ktoré by inak vyžadovali autentifikáciu počas blikania. Metóda, ktorá využíva užitočné zaťaženia špecifické pre SoC, zachytí predflashové dotazy vykonané nástrojom SP Flash Tool a násilne nastaví hodnoty dvoch kľúčových parametrov. ("Overenie sériového spojenia“ a „Stiahnuť overenie agenta“.") ako nepravdivé, aby sa pokračovalo v procese blikania bez akéhokoľvek povolenia.


Je dôležité poznamenať, že užitočné zaťaženie vyžaduje špeciálne vylepšený ovládač USB na úspešné zachytenie. Ak používate systém Windows, musíte nainštalovať ovládač filtra založený na libusb, aby ste prepísali predvolenú sadu ovládačov. Na druhej strane používatelia Linuxu potrebujú aplikujte špecifickú náplasť do jadra. V prípade, že sa nechcete dotknúť primárneho operačného systému, môžete využiť FireISO – bootovateľný GNU/Linux ISO navrhnutý špeciálne na tento účel.

Pokiaľ ide o prístup do režimu sťahovania MediaTek, stačí vypnúť cieľové zariadenie, podržať tlačidlo na zvýšenie hlasitosti (zníženie hlasitosti pre telefóny Xiaomi) a pripojiť telefón k počítaču. Mali by ste vidieť nové sériové zariadenie uvedené v Správcovi zariadení (Windows) alebo vo výstupe dmesg | grep usb (Linux).

V tomto bode postupujte podľa tohto jednoduchého 5-krokového procesu na deaktiváciu ochrany bootrom:

  1. Stiahnite si a nainštalujte Python. Používatelia systému Windows by mali po zobrazení výzvy vybrať možnosť „Pridať Python X.X do PATH“.
  2. Nainštalujte požadované závislosti pomocou pip:
    pip install pyusb pyserial json5
  3. Stiahnite si obtokový nástroj.
  4. Rozbaľte archív, spustite pomôcku a pripojte telefón v režime sťahovania MediaTek. Na konci protokolu by ste mali dostať "Ochrana vypnutá".
    • Windows:
      pythonmain.py
    • Linux:
      ./main.py
  5. Potom bez odpojenia telefónu spustite SP Flash Tool v režime pripojenia UART.

A je to! Overovacia rutina sa vynechá a teraz ste pripravení na flashovanie/odblokovanie telefónu. Ak chce niekto skúsenejší postúpiť o krok ďalej, môže flashovať upravenú zálohu oddielu opraviť pokazené IMEI, ale to je nad rámec tohto článku.

Zoznam aktuálne podporovaných SoC nájdete nižšie. Predpokladá sa, že metóda bypassu funguje rovnakým spôsobom na iných čipových súpravách MediaTek, ale niekto musí najprv nakódovať vhodné užitočné zaťaženie, aby deaktivoval rutinu ochrany zavádzania.

Zoznam podporovaných SoC

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

čítaj viac

Záver

Ak si pamätáte, už takmer pred rokom sa zistilo, že čipsety MediaTek sú náchylné na nebezpečný rootkit, a bol aktívne zneužitý hackermi na získanie prístupu root. Vzhľadom na to nie je známe, prečo taiwanská spoločnosť zaoberajúca sa návrhom čipov stále neopravila chybu vo svojich čipových súpravách, ktorá umožňuje poraziť reťaz dôvery počas blikania. Hoci sme videli len dobrú stránku situácie, z hľadiska bezpečnosti je to ešte horšie, keď vezmeme do úvahy stovky menej známych modelov zariadení využívajúcich tieto čipy MediaTek.

Je tu ešte jeden aspekt situácie z pohľadu komunity custom development, ktorej záujmy zastupujeme. Väčšina zariadení MediaTek sa nachádza v neudržateľnej kombinácii ľahko murovateľnej a ťažko oživiteľnej. Okrem toho požiadavka núteného povolenia skutočne obmedzuje potenciál rozvoja trhu s náhradnými dielmi. Metóda bypassu nie je ničím iným ako zábleskom nádeje pre majiteľov zariadení MediaTek, ktorí chcú len odstrániť problémy súvisiace s odbúravaním z moddingovej scény.

Tí, ktorí majú záujem preskúmať kódovú základňu metódy obídenia, by sa mali pozrieť na odkaz GitHub nižšie. Môžete tiež komunikovať s vývojármi na stránke diskusné vlákno.

MediaTek SP Flash Tool Authentication Obíde GitHub Repo