En grupp utvecklare har skapat ett Python-verktyg för att kringgå autentiseringsrutinen för MediaTek SP Flash Tool. Kolla in det nu!
Enheter med MediaTek-kretsuppsättningar har ett BROM (skrivskyddat boot-minne), som vanligtvis laddar förladdaren körbar och startar sedan Android-systemet, men innehåller också ett alternativt startläge som kallas Nedladdningsläge. Den är strikt avsedd för OEM-service och kan användas för att lösa upp en enhet, precis som Qualcomms nödladdningsläge (EDL). Ett MediaTek-tillverkat proprietärt program som kallas "SP Flash Tool" kan använda detta gränssnitt för att tvinga fram flash av systemprogramvaran på en enhet. Eftersom nedladdningsläget på låg nivå faktiskt har full kontroll över enhetens lagring, har många OEM-tillverkare inklusive Xiaomi och Realme började fördunkla den blinkande processen. På grund av denna praxis kan firmware blinkande via nedladdningsläge endast utföras av ett signerat "Download Agent"-program som har auktoriserats av motsvarande OEM, vilket i huvudsak betyder att
du kan inte flasha eller ta bort din egen smartphone om du inte har tillstånd från enhetstillverkaren att göra det.Nåväl, XDAs fantastiska utvecklargemenskap har återigen kommit till undsättning. Baserat på en boot ROM-exploatering ursprungligen upptäckt av XDA Senior Member xyz`, utvecklare Dinolek och k4y0z har kommit med en generisk bypass-metod, som är kompatibel med en mängd olika MediaTek-drivna enheter som annars skulle kräva autentisering medan de blinkar. Metoden, som använder sig av SoC-specifika nyttolaster, fångar upp pre-flash-förfrågningarna från SP Flash Tool och ställer kraftfullt in värdena för två avgörande parametrar ("Serial Link Authentication" och "Download Agent Authentication") som falsk för att fortsätta blinkningsprocessen utan någon form av auktorisation.
Det är viktigt att notera att utnyttjandet av nyttolaster kräver en speciellt anpassad USB-drivrutin för en framgångsrik avlyssning. Om du kör Windows måste du installera en libusb-baserad filterdrivrutin för att åsidosätta standarddrivrutinuppsättningen. Linux-användare, å andra sidan, måste applicera en specifik patch till kärnan. Om du inte vill röra ditt primära operativsystem kan du använda FireISO – en startbar GNU/Linux ISO designad speciellt för detta ändamål.
När det kommer till åtkomst till MediaTek-nedladdningsläget behöver du bara stänga av målenheten, hålla nere Volym upp-knappen (volym ner för Xiaomi-telefoner) och koppla in din telefon till din PC. Du bör se en ny seriell enhet listad under Enhetshanteraren (Windows) eller i utdata från dmesg | grep usb
(Linux).
Följ nu denna enkla 5-stegsprocess för att inaktivera bootrom-skyddet:
- ladda ner och installera Pytonorm. Windows-användare bör välja "Lägg till Python X.X till PATH" när du uppmanas att göra det.
- Installera de nödvändiga beroenden med hjälp av
pip
:pip install pyusb pyserial json5
- Ladda ner bypass-verktyget.
- Extrahera arkivet, kör verktyget och anslut din telefon i MediaTek Download-läge. Du bör få "Protection disabled" i slutet av loggen.
- Windows:
pythonmain.py
- Linux:
./main.py
- Windows:
- Efter det, utan att koppla bort din telefon, kör SP Flash Tool i UART-anslutningsläge.
Och det är allt! Autentiseringsrutinen förbigås och du är nu redo att flasha/upplösa din telefon. Om någon mer erfaren vill ta detta ett steg längre, kan de flasha en modifierad partitionsbackup till reparera ett trasigt IMEI, men detta ligger utanför ramen för den här artikeln.
Listan över SoCs som för närvarande stöds finns nedan. Bypassmetoden är teoretiserad att fungera på samma sätt på andra MediaTek-kretsuppsättningar, men någon måste först koda en lämplig nyttolast för att inaktivera bootrom-skyddsrutinen.
Lista över stödda SoCs
- mt6261
- mt6572
- mt6580
- mt6582
- mt6735
- mt6737
- mt6739
- mt6755
- mt6757
- mt6761
- mt6763
- mt6765
- mt6768
- mt6771
- mt6785
- mt6799
- mt6873
- mt8127
- mt8163
- mt8173
- mt8695
Läs mer
Slutsats
Om du kommer ihåg, visade sig MediaTek-chipset tidigare vara mottagliga för ett farligt rootkit för nästan ett år sedan, och det utnyttjades aktivt av hackare för att få root-åtkomst. Med tanke på det är det okänt varför det taiwanesiska chipdesignföretaget fortfarande inte har åtgärdat felet i sina chipset som gör det möjligt att besegra förtroendekedjan medan den blinkar. Även om vi bara har sett den goda sidan av situationen, är det ännu värre ur ett säkerhetsperspektiv när man tänker på de hundratals mindre kända enhetsmodellerna som använder dessa MediaTek-chips.
Det finns en annan aspekt av situationen från synvinkeln av den anpassade utvecklingsgemenskapen, vars intressen vi representerar. En majoritet av MediaTek-enheter befinner sig i en ohållbar kombination av lätta att bygga upp och svåra att återuppliva. Dessutom begränsar kravet på tvångsgodkännande verkligen potentialen för eftermarknadsutveckling på dem. Bypass-metoden är inget annat än en strimma av hopp för MediaTek-enhetsägare, som bara vill ta bort besväret med att ta loss moddingscenen.
De som är intresserade av att utforska kodbasen för bypassmetoden bör ta en titt på GitHub-länken nedan. Du kan också interagera med utvecklarna genom att besöka Diskussions tråd.
MediaTek SP Flash Tool Authentication Bypass GitHub Repo