Wszystkie smartfony i tablety Xiaomi będą miały włączoną ochronę przed wycofaniem. Co to jest i jak uniknąć zepsucia urządzenia z tego powodu?
Już w lipcu Xiaomi rozłożony MIUI 10 Global Beta 8.7.5 dla ośmiu urządzeń Xiaomi. Kiedy użytkownicy zainstalowali aktualizację na swoim Xiaomi Redmi Note 5 Pro, oni nieświadomie sflashował kompilację z włączoną ochroną przed cofaniem. Użytkowników, którym nie podobała się MIUI 10 Global Beta, spotkała przykra niespodzianka, gdy próbowali ponownie zainstalować najnowszą wersję ROM MIUI 9 Global Stable: ich telefony zostały zepsute! Nie był to rodzaj cegły, którą można naprawić, przywracając kopię zapasową TWRP, flashując nową pamięć ROM lub używając MiFlash do przywrócenia obrazu fabrycznego. Jest to twarda, nie do odzyskania cegła, która wymaga użycia trybu EDL do naprawy. Jednak tryb EDL nie jest dostępny, jeśli nie masz autoryzowanego konta, więc wielu użytkowników nie miało możliwości naprawienia tego problemu swojego telefonu, z wyjątkiem wysłania go do autoryzowanego centrum serwisowego lub płacenia za korzystanie z czyjegoś konta w EDL dostęp. W tym artykule wyjaśnimy wszystko, co musisz wiedzieć o nowym zabezpieczeniu przed cofnięciem Xiaomi, dzięki czemu unikniesz zepsucia nowego telefonu.
Dlaczego Xiaomi wymaga długiego czasu oczekiwania na odblokowanie bootloadera, autoryzacji EDL i ochrony przed wycofaniem?
Chiński gigant elektroniczny Xiaomi jest najpopularniejszą marką smartfonów w Indiach dzięki szerokiemu wyborowi urządzeń budżetowych i średniej klasy. Podobnie jak Huawei, Xiaomi również sprzedaje mnóstwo smartfonów na swoim rodzimym rynku w Chinach. Wiele z tych urządzeń nigdy nie jest sprzedawanych poza Chinami, ale nie powstrzymuje to ludzi przed ich importowaniem. Na Aliexpress, Gearbest i wielu innych stronach internetowych pojawili się nieoficjalni sprzedawcy produktów Xiaomi, dzięki czemu każdy spoza Chin może kupić najnowsze produkty Xiaomi. Stanowiło to wyzwanie dla firmy, ponieważ oprogramowanie dostarczane na chińskie urządzenia o nazwie „MIUI Chiny” nie obejmuje Usług Google Play, Sklepu Google Play ani języków innych niż angielski lub Mandarynka. Dlatego każdy, kto importuje urządzenie Xiaomi z Chin, nie powinien otrzymywać gotowych aplikacji i usług Google.
Jednak zewnętrzni sprzedawcy detaliczni znaleźli sposób na obejście tego problemu, aby przekonać klientów, że sprzedają urządzenia Xiaomi z „oficjalną” globalną pamięcią ROM MIUI. Sprzedawcy detaliczni kupowaliby urządzenia Xiaomi hurtowo, odblokowywali bootloader, sami zmieniali oprogramowanie lub flashowali niestandardowe ROM taki jak Xiaomi.eu (nieoficjalne ROMy oparte na MIUI China, ale z większą liczbą języków i funkcji), a następnie sprzedaj urządzenie. Większość konsumentów nie miałaby pojęcia, że korzysta z nieoficjalnego/zmodyfikowanego oprogramowania i zamiast tego obwiniałaby Xiaomi za brak aktualizacji lub napotkane błędy. Co gorsza, niektórzy sprzedawcy celowo dołączają złośliwe lub reklamowe oprogramowanie, aby móc zarobić trochę dodatkowych pieniędzy. Praktyka ta aktywnie szkodziła reputacji Xiaomi, ponieważ recenzenci technologii i konsumenci zostali wciągnięci w schematy tych nieoficjalnych sprzedawców detalicznych, dlatego musieli znaleźć sposób na powstrzymanie podejrzanych sprzedawców detalicznych przed sprzedażą zmodyfikowanych urządzeń w cielsko.
Jednym z rozwiązań jest całkowite zablokowanie odblokowania bootloadera, czyli: drastyczny ruch, który niedawno podjął Huawei. Widząc sukces swojej marki wśród entuzjastów, Xiaomi nie zdecydowało się jeszcze na blokowanie odblokowania bootloadera. Zamiast tego wdrożyli kilka blokad drogowych, aby chronić użytkowników przed działaniami złośliwych zewnętrznych sprzedawców detalicznych.
Czas oczekiwania na odblokowanie programu ładującego
Po pierwsze, wdrożyli okres oczekiwania na odblokowanie bootloadera. Urządzenia Xiaomi, z wyjątkiem Xiaomi Mi A1, Xiaomi Mi A2 i Xiaomi Mi A2 Lite z systemem Android w ramach programu Android One wymagają użycia autorskiego narzędzia Xiaomi Mi Unlock do odblokowania program rozruchowy. Po wysłaniu prośby o odblokowanie bootloadera, Mi Unlock zmusza cię do czekania, zanim zatwierdzi twoją prośbę i odblokuje bootloader. Czas oczekiwania wynosił wcześniej 3 dni, a na początku 2018 r. wzrósł do 15 dni, a ostatnio wzrósł do 30 lub aż 60 dni W niektórych przypadkach. (Nowa submarka Xiaomi, Poco, skrócił czas oczekiwania do 3 dni po otrzymaniu opinii od społeczności prawie wszyscy inni muszą jeszcze długo poczekać.) Dodanie czasu oczekiwania do procesu odblokowania programu ładującego skutecznie spowalniało działanie zewnętrznych sprzedawców detalicznych, ale jest również, co zrozumiałe, irytujące dla entuzjastów, którzy chcą odblokować program ładujący, aby zrootować swoje urządzenie, flashować niestandardowe ROMy i niestandardowe flashowanie jądra.
Autoryzacja EDL
Następnie firma zaczęła blokować tryb EDL na swoich urządzeniach. EDL oznacza tryb awaryjnego pobierania i jest to alternatywny tryb rozruchu na wszystkich urządzeniach Qualcomm, który jest powszechnie używany do odblokowania urządzenia. Aby móc korzystać z trybu EDL, musisz znaleźć tak zwanego „programistę”, który został autoryzowany przez producenta OEM (Xiaomi) do użytku na Twoim urządzeniu. Tryb EDL jest bardzo potężny I bardzo niski poziomi jest rutynowo używany przez centra serwisowe do naprawy urządzeń. Jednak tryb EDL był również powszechnie używany do flashowania oficjalnych i zmodyfikowanych ROMów MIUI Global na chińskich urządzeniach Xiaomi bez odblokowywania bootloadera. Zasadniczo tryb EDL stał się kolejnym sposobem, w jaki zewnętrzni sprzedawcy detaliczni mogli ominąć Xiaomi. Xiaomi nie chce, aby konsumenci kupowali chińskie wersje swojego sprzętu z zainstalowaną globalną pamięcią ROM, więc zrobili dwie rzeczy: uniemożliwili uruchomienie globalnej pamięci ROM, jeśli urządzenie nie jest w wersji globalnej (z komunikatem ostrzegawczym „Nie można zainstalować tego MIUI na tym urządzeniu”) i dlatego nie można używać trybu EDL, chyba że masz autoryzowany Mi konto.
Aktualizacja: Mamy więcej szczegółów na temat ostatnich ograniczeń nałożonych przez Xiaomi w zakresie flashowania wersji MIUI spoza regionu. Jeśli zastanawiasz się nad importem smartfona lub tabletu Xiaomi, naprawdę powinieneś to zrobić dla bezpieczeństwa przeczytaj ten artykuł!
Zabezpieczenie przed cofaniem
Wreszcie zaimplementowali ochronę przed cofnięciem w najnowszych wersjach MIUI dla najnowszych urządzeń Xiaomi. Być może słyszałeś już o zabezpieczeniu przed cofnięciem. Google dodał wsparcie dla tej funkcji w systemie Android 8.0 Oreo i uczynił to obowiązkowym dla urządzeń uruchamianych z systemem Android Pie. Zabezpieczenie Google przed wycofaniem to funkcja systemu Android Verified Boot 2.0 (znanego również jako Verified Boot), która zapobiega uruchomieniu urządzenia, jeśli wykryje, że jego wersja została obniżona do starszej, niezatwierdzonej wersji oprogramowania zbudować. Ochrona przed wycofywaniem jest konieczna, aby uniemożliwić atakującym załadowanie starszego oprogramowania na urządzenie podatne na exploit. Największa różnica między implementacją Google i Xiaomi polega na tym, że ochrona Google przed wycofaniem jest wyłączona, jeśli odblokujesz program ładujący, podczas gdy Xiaomi nie może zostać wyłączony. Po zainstalowaniu kompilacji z włączoną ochroną przed wycofaniem na urządzeniu Xiaomi nie ma już odwrotu. Na przykład ochrona przed cofnięciem jest włączona dla Xiaomi Mi 8 i Xiaomi Redmi Note 5 Pro, zaczynając odpowiednio od MIUI 10 China 8.9.6 i MIUI 10 Global Beta 8.7.5.
Ochrona przed wycofywaniem uniemożliwia nieautoryzowanemu sprzedawcy korzystanie z exploitów w starszych wersjach MIUI, chroniąc w ten sposób użytkowników przed wykorzystywaniem. Jednak zaskoczyło to również wielu, ponieważ Xiaomi wdrożyło go w Redmi Note 5 Pro bez wcześniejszego informowania użytkowników. Ponieważ TWRP nie ma żadnych kontroli, które mogłyby powstrzymać użytkowników przed instalacją starszego, nieautoryzowanego MIUI wersjach, wiele osób przypadkowo uszkodziło swoje urządzenia podczas zmiany wersji beta ROM MIUI na MIUI stabilny ROM. Wszystkie obecnie obsługiwane urządzenia Xiaomi docelowo zyskają zabezpieczenie przed wycofaniem, więc jest to niezwykle ważne że wiesz, jak to sprawdzić przed obniżką wersji i co możesz zrobić, jeśli jest ochrona przed wycofaniem włączony.
Jak sprawdzić ochronę przed wywróceniem
Kiedy rozmawialiśmy o ochronie przed wycofywaniem danych, która zapobiega uruchamianiu na urządzeniu starszego, niebezpiecznego oprogramowania, powiedzieliśmy, że Verified Boot „wykrywa” obecność starszego oprogramowania. Zasada działania tego wykrywania polega na tym, że Verified Boot ma indeks wycofywania, który jest porównywany z indeksem wycofywania obrazów, które mają zostać zainstalowane. W zależności od porównania wskaźników wycofania, nastąpią następujące zdarzenia:
- Jeśli bieżący indeks wycofania to mniej niż indeks wycofania w obrazach, które mają być flashowane, a następnie obrazy będą migać i bieżący indeks wycofania zostanie zwiększony aby dopasować nowy indeks wycofania.
- Jeśli bieżący indeks wycofania to równy do indeksu wycofania w obrazach, które mają być flashowane, a następnie obrazy będą migać i indeks wycofania nie ulegnie zmianie.
- Jeśli bieżący indeks wycofania to większy niż indeks wycofania w obrazach, które mają być flashowane, a następnie obrazy zostaną odrzucone Jeśli jesteś flashowanie przez fastboot lub Mi Flash. (TWRP nie sprawdza indeksów wycofywania przed flashowaniem, dlatego prawie wszystkie cegły były wynikiem obniżenia wersji przez TWRP.)
Teraz, gdy lepiej rozumiesz indeks wycofywania, oto jak sprawdzić bieżący indeks wycofywania na swoim urządzeniu i obraz, który chcesz sflashować.
Jak znaleźć bieżący indeks wycofania
- Uruchom ponownie w trybie fastboot
- Wprowadź następujące polecenie:
fastboot getvar anti
- Jeśli dane wyjściowe są puste, oznacza to, że funkcja zapobiegająca cofaniu nie została jeszcze włączona. Jeśli na wyjściu pojawi się liczba, będzie to bieżący indeks wycofania.
Jak znaleźć indeks wycofania obrazów
- Pobierz ROM „fastboot” odpowiednik ROMu odzyskiwania, który próbujesz zainstalować. Pamięć ROM do odzyskiwania zawsze zawiera nazwę marketingową urządzenia w nazwie pliku i kończy się rozszerzeniem .zip. Pamięć ROM fastboot zawsze ma nazwę kodową urządzenia w nazwie pliku i kończy się na .tar.gz.
- Wyodrębnij flash-all.bat z archiwum .tar.gz. 7Zip z łatwością sobie z tym poradzi.
- Otwórz plik flash-all.bat w edytorze tekstu, takim jak Notepad++ i poszukaj następującej linii:
set CURRENT_ANTI_VER=#
- Ta liczba (#) to indeks wycofania wersji MIUI, którą chcesz sflashować. Jeśli ta liczba jest równa lub większa niż bieżący indeks wycofania, można bezpiecznie flashować w TWRP, Mi Flash itp. Jeśli ta liczba jest mniejsza niż bieżący indeks wycofania, NIE MUSUJ TEGO ROMU PRZEZ TWRP.
Unikanie pełnej, nieodzyskiwalnej cegły powinno być proste, pod warunkiem, że sprawdzisz wskaźniki wycofywania przed obniżką za pomocą TWRP. Dla bezpieczeństwa powinieneś trzymać się Mi Flash lub fastboot, aby flashować ROMy MIUI tak jak telefon bootloader ma wbudowane zabezpieczenia, które uniemożliwiają przejście na wersję z niższym wycofaniem indeks.
W jaki sposób ochrona Anti-Rollback wpływa na niestandardowe ROMy?
Jeśli planujesz nigdy więcej nie flashować MIUI, niewiele się dla ciebie zmieni. Jeśli chcesz flashować ROM AOSP, taki jak LineageOS, Pixel Experience, Resurrection Remix, Carbon ROM, itp., nadal będziesz musiał odblokować bootloader poprzez Mi Unlock, uruchomić TWRP, a następnie sflashować niestandardowy ROM. Jedyną zauważalną różnicą jest sposób instalacji TWRP poprzez fastboot. Ponieważ ochrona przed cofaniem blokuje flashowanie obrazu TWRP, musisz najpierw sflashować „fałszywy” obraz. Obraz fikcyjny to pusty plik, który nie służy żadnemu innemu celowi niż wysłanie polecenia do programu ładującego, aby wiedział, że później może zaakceptować inne flashowania. (Jeśli spojrzysz na skrypt flash-all z poprzedniej sekcji, tak naprawdę robi to oficjalnie Xiaomi.) Alternatywnie, możesz „szybko uruchomić” obraz TWRP, przenieść obraz TWRP do pamięci urządzenia, a następnie sflashować obraz TWRP z poziomu TWRP. Nie podaję szczegółowych instrukcji dotyczących żadnej metody, ponieważ zachęcam do odwiedzenia forum dotyczącego Twojego urządzenia, aby uzyskać instrukcje dotyczące konkretnego urządzenia.
Indeks forum XDA dla wszystkich urządzeń Xiaomi
Jest jednak jedno zastrzeżenie. Nie można z góry stwierdzić, czy indeks wycofania został zwiększony z powodu zaktualizowanego programu ładującego, modemu, dostawcy lub innych partycji. Pamiętaj, że niestandardowe pamięci ROM zwykle zmieniają tylko partycje systemowe i rozruchowe, ale aby zapewnić naprawdę bezpieczeństwo urządzenia dzięki najnowszym aktualizacjom poprawek zabezpieczeń, będziesz czasami trzeba sflashować najnowsze obrazy zawarte w najnowszych oficjalnych ROMach MIUI. Twórcy niestandardowych pamięci ROM będą musieli ręcznie sprawdzić indeks wycofania tych kompilacji, zanim zalecą Ci aktualizację — w ten sposób dowiesz się, kiedy nowa aktualizacja zablokuje Cię w niektórych wersjach MIUI, jeśli planujesz wrócić do MIUI z ROM AOSP.
Co mam zrobić, jeśli zepsułem telefon?
Jeśli uszkodziłeś telefon, uruchamiając zabezpieczenie przed cofnięciem, masz bardzo niewiele opcji.
- Wyślij urządzenie do autoryzowanego centrum serwisowego w celu naprawy. Centra serwisowe mają możliwość przywrócenia urządzenia w trybie EDL.
- Mam nadzieję, że istnieje sposób na ominięcie autoryzacji EDL (w zasadzie exploit), aby móc ręcznie przywrócić urządzenie za pomocą odpowiedniego programisty.
Jak widać, zamurowanie telefonu poprzez włączenie zabezpieczenia przed cofnięciem nie jest żartem. Naprawdę musisz zachować ostrożność, zanim zaczniesz flashować starszą wersję MIUI.
Często zadawane pytania (FAQ)
- Czego unikać, jeśli nie chcę zepsuć swojego urządzenia?
- Nie flashuj wersji MIUI z indeksem wycofania mniejszym niż bieżący indeks wycofania urządzenia. Instrukcje znajdziesz powyżej.
- Nie flashuj oficjalnej globalnej pamięci ROM MIUI na chińskim sprzęcie Xiaomi z zablokowanym programem ładującym.
- Czy nadal mogę instalować niestandardowe ROMy AOSP, jądra, Magisk, Xposed, Substratum, ARISE i inne mody?
- Tak.
- Czy nadal mogę przełączać się między MIUI Global Stable, MIUI Global Developer, MIUI China Stable i MIUI China Developer?
- Tak, ale przed zainstalowaniem starszej wersji MIUI musisz porównać wskaźniki wycofania.
- Dlaczego Xiaomi nie wyłącza zabezpieczenia przed wycofaniem po odblokowaniu bootloadera?
- To dobre pytanie.
- Dlaczego Xiaomi mocno blokuje Twój telefon, jeśli zostanie uruchomione zabezpieczenie przed cofnięciem, czego Google nie robi?
- To kolejne dobre pytanie.
- Dlaczego Xiaomi nie wyświetla standardowego ostrzeżenia o zweryfikowanym rozruchu, aby pokazać użytkownikowi, że ktoś manipulował przy oprogramowaniu?
- Świetnie radzisz sobie z tymi świetnymi pytaniami! A tak na serio, to można to w pewnym stopniu uzasadnić, ponieważ możliwe jest wyłączenie tego ekranu powitalnego - przynajmniej na niektórych urządzeniach.
Specjalne podziękowania dla uznanego programisty XDA yshalsager i młodszy członek XDA Franztesca za pomoc w tym artykule!