Zacznę spisywać tutek, bo aktualnie już nie jest "tak prosto" jak kiedyś było - trochę nam HTC "namieszało" z zabezpieczeniami 🙂
A przed chwila skończyłem całą procedurę uzyskiwania SuperSU, S-Off i przywrócenia "10-ki" do funkcjonalności (szyfrowanie!!).
1. Odblokowanie bootloadera.
Aby w ogóle móc zacząć zabawę z MODowaniem, trzeba odblokować bootloader.
Odblokowanie bootloadera powoduje kompletne i nieodwracalne "WIPE", czyli przywrócenie do ustawień fabrycznych!
Przed przystąpieniem do zabawy - wykonaj kopie koniecznych dla siebie danych (zdjęć, dokumentów etc.)
Aby odblokować bootloader, musimy mieć zainstalowane w systemie:
- sterowniki (np. HTCDriver_4.2.0.001.exe ),
- mini-SDK: fastboot_adb_071114_r21.rar , najlepiej rozpakowane na partycji "C" naszego twardego dysku w podkatalogu np. "ADB",
- ładujemy akumulator w naszym telefonie co najmniej do 75% jego pojemności,
- w menu telefonu wybieramy "Ustawienia/Informacje/Informacje o telefonie/Więcej" i tutaj 7-krotnie klikamy w "Wersja kompilacji", dzięki czemu uzyskamy dostęp do ukrytego dla przeciętnego użytkownika podmenu w głównej gałęzi, o nazwie "Opcje programistyczne",
- w "Opcjach programistycznych" stawiamy "ptaszka" (włączamy) opcję "Odblokowanie OEM", oraz opcję "Debugowanie USB",
- w menu "Ustawienia/Zabezpieczenia" stawiamy "ptaszka" (włączamy) opcję "Nieznane źródła".
Jeżeli nie mamy konta na HTCDev.com , to musimy je utworzyć. Jest istotne by adres e-mail był PRAWDZIWY, ponieważ na ten adres HTC prześle plik z kodem do odblokowania bootloadera.
Następnie przechodzimy na stronę: http://www.htcdev.com/bootloader/ i wybieramy z "Supported device" nasz model telefonu, w tym przypadku jest to HTC10,
dalej postępujemy zgodnie z kreatorem na tej stronie czyli:
- musimy zatwierdzić zapoznanie się z ostrzeżeniami o utracie danych i gwarancji,
- wyłączamy telefon przyciskiem "Power",
- wciskamy przycisk "Volume down" oraz "Power" - dzięki temu uruchomimy telefon w trybie "Download mode",
- podłączamy telefon kablem USB do naszego komputera (o którym mowa powyżej),
- w komputerze, otwieramy wcześniej utworzony katalog z "Mini-SDK" Wciśnij klawisz shift i kliknij katalog prawym przyciskiem myszki, po czym z menu kontekstowego wybierz pozycję Otwórz okno poleceń tutaj,
- w tak otwartym (nie zamykamy go po tej czynności, przyda nam się parę minut później) oknie terminala wpisujemy komendę:
fastboot oem get_identifier_token - otrzymamy taką zawartość (oczywiście sama treść będzie w przypadku każdego urządzenia inna):
- teraz zaznaczamy i kopiujemy (Ctrl+C) wszystko w zakresie od "Identifier token start" do "Identifier token end" włącznie (jak na powyższym obrazku),
- tak skopiowany tekst, "wklejamy" (Ctrol+V) w pole (z naszego kreatora na HTCDev) na stronie Unlock - Page 2
opisane jako "My Device Identifier Token" i wciskamy "Submit",
- sprawdzamy mejla o którym mowa na początku naszego tutoriala - znajdziemy w nim mejla (jeżeli mejla nie ma - sprawdż w SPAMie) od HTCDev z plikiem "Unlock_code.bin" który posłuży nam do odblokowania bootloadera.
- plik "Unlock_code.bin" kopiujemy do naszego katalogu z "Mini-SDK" który utworzyliśmy na początku "zabawy",
- w oknie terminala (którego nie zamknęliśmy po wygenerowaniu naszego kodu źródłowego) wpisujemy komendę:
fastboot flash unlocktoken Unlock_code.bin - po chwili, na ekranie telefonu wyświetli się
- jeżeli akceptujemy i jesteśmy pewni że chcemy odblokować bootloader - wciskamy przycisk głośności i wybieramy "YES" (lub "No" dla rezygnacji z odblokowania bootloadera),
- swój wybór zatwierdzamy przyciskiem "POWER".
- aby upewnić się że operacja przebiegła pomyślnie, uruchom telefon w trybie "Download mode" lub w trybie "Booloadera" - w nagłówku powinien widnieć status *** UNLOCKED ***
Od tej chwili masz "otwartą ścieżkę" do dalszego MODowania 🙂
2. Wgrania (flash) custom recovery TWRP.
Aby móc wgrać custom ROM, czy tez wykonać kopię (NANDBackup), przywrócić wcześniej wykonana kopię, potrzebne jest modyfikowane recovery. Obecnie jest dostępne w zasadzie tylko jedno, a mianowicie TWRP. Jest to projekt otwarty, kod jest publikowany - TWRP Recovery Site
Poniżej tutorial jak bezpiecznie wgrać (zaflashować) to custom recovery.
- ze strony: TWRP Dowlonad - HTC10/ pobieramy najaktualniejszy build recovery (aktualnie jest to wersja v3.0.2-2),
- pobrany plik z recovery "TWRP-3.0.2-4-pme.img" kopiujemy do naszego katalogu z "Mini-SDK" który utworzyliśmy na początku "zabawy",
- podłączamy telefon kablem USB do naszego komputera,
- uruchamiamy telefon w trybie "Download mode",
- w komputerze, otwieramy wcześniej utworzony katalog z "Mini-SDK". Wciśnij klawisz shift i kliknij katalog prawym przyciskiem myszki, po czym z menu kontekstowego wybierz pozycję Otwórz okno poleceń tutaj,
- w tak otwartym oknie terminala wpisujemy komendę:
fastboot flash recovery twrp-3.0.2-4-pme.img * nazwę możemy sobie zmienić na dowolną, ale wówczas wpisujemy WŁAŚCIWĄ nazwę tego pliku w komendzie!
- po wgraniu custom recovery (na ekranie telefonu widać postęp), wciskamy przycisk "Power",
- teraz OBLIGATORYJNIE wkładamy do telefonu kartę microSD,
- w oknie terminala wpisujemy komendę:
fastboot reboot-bootloader - po uruchomieniu w trybie "Bootloadera", sterując przyciskami głośności wybieramy "Recovery mode" i zatwierdzamy przyciskiem "Power",
- telefon uruchomi nam się w trybie "Recovery", ale już z naszym TWRP Recovery 🙂
Co zrobić dalej - opiszę poniżej.
3. Wykonanie OBRAZU SYSTEMU który będzie (póki co) baaaardzo przydatny w przyszłości, oraz uzyskanie praw root`a.
Skoro wykonaliśmy flash TWRP zgodnie z poprzednim krokiem i mamy już na pokładzie urządzenia zewnętrzną kartę microSD, to należy wykonać BEZWZGLĘDNIE OBRAZ systemu.
Będzie on potrzebny po wielokroć, dla flashoholiców 😉
Proszę postępować dokładnie i zgodnie z poniższymi wskazówkami:
- po wykonaniu rebootu z poprzedniego kroku, TWRP wita nas ostrzeżeniem,
- wciskamy przycisk "READ ONLY", nie przesuwamy suwaka!!!
- teraz przechodzimy do sekcji "Backup" (lub po polsku "Kopia"),
- wybieramy jako miejsce wykonywania backupu - zewnętrzną kartę microSD!!
- zaznaczamy do backupu BEZWGLĘDNIE partycje "Obraz systemu" i "Boot", pozostałe jak ktoś chce także może zrobić, ale bez partycji "DATA".
- możemy sobie zrobić caffe z expresu lub parzoną w tym czasie jak będzie tworzona kopia-obraz systemu 🙂
- po wykonaniu kopii-obrazu systemu, przechodzimy do głównego katalogu TWRP i wybieramy opcję "Reboot do bootloadera",
- kiedy nasz telefon się uruchomi w trybie bootloadera, wybieramy z niego "Reboot to recovery",
- przesuwamy tym razem suwak i uruchamiamy normalnie TWRP,
- przechodzimy do sekcji "Advanced" (lub "Zaawansowane jeżeli mamy TWRP po polsku),
- wybieramy opcję "Sideload",
- przesuwamy suwak by uruchomiić serwer "Sideload".
Z poziomu komputera, pobieramy sobie z wątku o SuperSU na XDA, najnowszy jego build: SuperSU
Zapisujemy ten plik w naszym katalogu "Mini-SDK". Skoro już to mamy to robimy:
- podłączamy telefon kablem USB do naszego komputera,
- w komputerze, otwieramy wcześniej utworzony katalog z "Mini-SDK" Wciśnij klawisz shift i kliknij katalog prawym przyciskiem myszki, po czym z menu kontekstowego wybierz pozycję Otwórz okno poleceń tutaj,
- w tak otwartym oknie terminala wpisujemy komendę:
adb sideload BETA-SuperSU-v2.74-2-forceencrypt.zip * nazwa pliku z SuperSU może być inna, w zależności od tego którą pobraliśmy - należy wprowadzić więc właściwą, posiadaną nazwę
- wyłączamy serwer "Sideload",
- w głównym menu TWRP wybieramy "Reboot" i restarujemy do systemu.
Po wykonaniu powyższych czynności - osiągnęliśmy odblokowanie bootloadera, wgraliśmy custom recovery TWRP, wykonaliśmy OBRAZ SYSTEMU oraz prawa root`a (SuperSU).
4. Uzyskanie S-Off przy pomocy Sunshine (płatne 25$).
Po wykonaniu poprzednich kroków, mamy stockowy system, doposażony w aplikację nadającą nam uprawnienia root`a.
Stąd dzieli nas już tylko malutki kroczek do uzyskania flagi "S-Off", która zdejmuje wszystkie kajdany i pęta, oraz uwalnia HTC10.
Pozwala także na wykonanie np. downgrade firmware, zmianę CID/MID, flash firmware bez podpisu cyfrowego etc itp.
A więc procedura jak to bezpiecznie zrobić:
- udajemy się na stronę: XDA - Sunshine albo bezpośrednio na: Ttheroot.ninja
- w telefonie musimy mieć włączoną transmisję danych albo być w sieci WiFi,
- pobieramy na swojego HTC10 aplikację Sunshine: SunShine-latest.apk
Jeżeli wcześniej wykonaliście dokładnie punkty tutoriala, to bez problemu zainstalujecie aplikację Sunshine. Jeżeli wystąpi przeszkoda, będziecie musieli włączyć opcję umożliwiającą instalację aplikacji z nieznanych źródeł.
- instalujemy Sunshine i uruchamiamy,
- nadajemy jej uprawnienia root`a ("wyskoczy" okno SuperSU),
- aplikacja przeprowadzi testy o czym będą wyświetlane stosowne informacje/kroki,
- jeżeli będzie wszystko OK (a będzie pod warunkiem że zrobiliście ww kroki zgodnie z tutorialem) - aplikacja poprosi o wprowadzenie tokenu/kodu (o ile ktoś takowy posiada) lub o dokonanie opłaty licencyjnej, która wynosi 25$. Licencja jest "przywiązywana" do urządzenia, i zmiany systemu, firmware, radia etc nie pozbawia nas ponownego użycia tej aplikacji w przyszłości. Jedynie przy zmianie płyty głównej - wówczas chcąc korzystać z Sunshine trzeba będzie ponownie wnieść opłatę licencyjną. Płatność można wykonać albo z PayPal`a lub bezpośrednio ze swojej karty debetowej/kredytowej.
- po finalizacji płatności - Sunshine wykonuje ostatni krok jakim jest ...S-Off. Po zakończeniu pracy - konieczny będzie reboot.
Tutaj tracimy wszystkie dane - więc zalecane jest WCZEŚNIEJSZE wykonanie kopii swoich danych!!
Po wykonaniu reboot`u, status sprawdzamy w trybie "Download mode".
5. Brak sygnału GSM/LTE, po wykonaniu WIPE, po wyłączeniu OBLIGATORYJNEGO SZYFROWANIA lub żądanie podania hasła do uruchomienia telefonu
Teraz będzie coś, czego nigdy wcześniej nie "trenowaliśmy" przy MODowaniu słuchawek 😃
Otóż HTC10 jest domyślnie szyfrowane, pamięć wewnętrzna (zewnętrzna może być, wedle naszych ustawień).
KAŻDA ingerencja w strukturę systemową powoduje ODSZYFROWANIE (utrata kluczy) i wyłączenia radia (łączność GSM/LTE), czyli w sumie robi cegiełkę z takiego świetnego urządzenia 🙂
Po reboot kiedy zakończył pracę Sunshine (w poprzednim kroku, naszym oczom ukaże się poniższy obrazek:
Ale spokojnie, nie musicie rwać sobie włosów z głowy, jest na to rozwiązanie, które wybawi z opresji wasze HTC10, jeżeli wcześniej zastosowaliście się do tutoriala 🙂
Sposób, trochę uciążliwy, ale jest i to skuteczny - a to najważniejsze.
Oto co należy wykonać by przywrócić funkcjonowanie radia i przywrócenia szyfrowania:
- uruchamiamy recovery TWRP,
- przechodzimy do sekcji "Wipe" i wybieramy przycisk "FORMAT DATA",
- po zakończeniu działaniu i wyczyszczeniu partycji "Data", przechodzimy w TWRP do sekcji "Restore" (lub "Przywróć" jeżeli mamy polski język),
- wybieramy zewnętrzną kartę microSD i wskazujemy wcześniej utworzony OBRAZ SYSTEMU, zaznaczając do przywrócenia: "Obraz systemu" oraz "Boot". NIC WIĘCEJ!
- po przywróceniu tych danych wykonujemy PEŁNY REBOOT do systemu (może on trochę potrwać, ponieważ będzie przeprowadzane SZYFROWANIE danych w pamięci wewnętrznej),
- po całkowitym uruchomieniu systemu, sprawdzeniu czy jest szyfrowanie i czy działa GSM/LTE - wyłączamy go,
- uruchamiamy telefon w trybie "Download mode",
- z trybu "Download mode" przechodzimy do "Bootloadera",
- kiedy nasz telefon uruchomi się w trybie bootloadera, wybieramy z niego "Reboot to recovery",
- przesuwamy tym razem suwak i uruchamiamy normalnie TWRP,
- przechodzimy do sekcji "Advanced" (lub "Zaawansowane jeżeli mamy TWRP po polsku),
- wybieramy opcję "Sideload",
- przesuwamy suwak by uruchomiić serwer "Sideload".
- podłączamy telefon kablem USB do naszego komputera,
- wykorzystujemy wcześniej pobrany SuperSU który mamy w katalogu z "Mini-SDK",
- w komputerze, otwieramy wcześniej utworzony katalog z "Mini-SDK" Wciśnij klawisz shift i kliknij katalog prawym przyciskiem myszki, po czym z menu kontekstowego wybierz pozycję Otwórz okno poleceń tutaj,
- w tak otwartym oknie terminala wpisujemy komendę:
adb sideload BETA-SuperSU-v2.71-20160331103524.zip * nazwa pliku z SuperSU może być inna, w zależności od tego którą pobraliśmy - należy wprowadzić więc właściwą, posiadaną nazwę
- wyłączamy serwer "Sideload",
- w głównym menu TWRP wybieramy "Reboot" i restartujemy do systemu.
Mamy teraz wszystko: odblokowany bootloader, custom recovery TWRP, root`a, S-Off, szyfrowanie oraz działające radio 🙂