How to: Uzyskanie uprawnień roota oraz security off – HTC Desire Z
Mój serdeczny przyjaciel Michał Cieplak napisał/zrobił jakiś czas temu bardzo czytelny tutorial rootowania telefonu HTC Desire Z. Wiem, że był jednym z popularniejszych tutoriali w polskim Internecie więc i tech-mania pomoże w przekazaniu tej wiedzy potomnym. Zapraszam wszystkich zainteresowanych korzystania z tej wiedzy do woli. Wpis pierwotnie ukazał się na (nieistniejącym już niestety) blogu Michała. Jest to porada dla osób, które mają jako takie pojęcie o tym co robią, czym jest ROOT i konsola. Wszystkie linki są aktywne – ostatnia aktualizacja 11.2012.
(…) Od pierwszego dnia próbowałem uzyskać prawa ROOTa w jego systemie operacyjnym. Okazało się, ze ROOT w tym telefonie to nie wszystko. Telefon jest jeszcze zabezpieczony przed zmianą ROMów na inne niż te oficjalne dostarczane przez HTC. Na forach internetowych zajmujących się tematem Androida są obszerne tematy opisujące procedurę ROOTowania DZ oraz ustawienia S-OFF. Problem polega na tym, ze są niekompletne. A właściwie nie uwzględniają zmiennej jaka jest rodzaj kompilacji, która warunkuje to jak uzyskać prawa ROOTa w naszym HTC. W związku z tym, że przebrnąłem przez całą tą drogę i moje HTC zostało prawidłowo zROOTowane i pozbawiłem jej blokady zmiany ROMów, postanowiłem sobie to wszystko zanotować na przyszłość. Dodatkowo, może jeszcze komuś się to przyda. A więc od początku:
PAMIĘTAJ. JEŻELI COŚ PÓJDZIE NIE TAK MOŻESZ „UCEGLIĆ” SWÓJ TELEFON. WSZYSTKO ROBISZ WYŁĄCZENIE NA SWOJĄ ODPOWIEDZIALNOŚĆ.
Przygotowania.
Przed rozpoczęciem czegokolwiek w naszym HTC musimy mieć kilka narzędzi, które umożliwią nam pracę.
1. Pobierz Android SDK (link), zainstaluj i zrób update całej dokumentacji.
2. Zainstaluj sterowniki USB do naszego HTC (Wystarczy HTC Sync).
3. Ustaw w telefonie tryb „Debugowania USB” (Ustawienia->Aplikacje->Dla programistów->Debugowanie USB).
4. Pobierz psneuter (link). Po pobraniu rozpakuj wszystkie pliki do katalogu, w którym zainstalowałeś Android SDK …/platform-tools/.
5. Pobierz gfree v0.7 (link). Po pobraniu analogicznie. Wszystkie pliki z paczki rozpakuj do katalogu, w którym zainstalowałeś Android SDK …/platform-tools/.
6. Pobierz pliki do ROOTowania naszego HTC (link). Tak jak wyżej po pobraniu rozpakowujemy pliki do katalogu …/platform-tools/.
7. Pobierz misc_version (link). Narzędzie do zmiany wersji oprogramowania rozpakuj jak wyżej do katalogu …/platform-tools/.
8. Pobierz fre3vo (link). Rozpakuj do katalogu …/platform-tools/.
9. Pobierz firmware w wersji 1.34.405.5 (link). NIE ROZPAKOWUJ TEGO PLIKU. Zmieni jedynie nazwę na PC10IMG.zip i przekopiuj do innych plików w katalogu …/platform-tools/.
10. Pobierz HBOOT (link). I dokładnie tak samo jak wyżej. Rozpakowujemy całość do katalogu …/platform-tools/
Jeżeli nic nie pominąłem, to byłoby na tyle, jeżeli chodzi o konieczne pliki. Zaczynamy zabawę. Podłącz telefon do komputera w trybie „Debugowanie USB”. Uruchom program adb.exe (Start->Uruchom->cmd i przejdź do katalogu w …/platform-tools/). Sprawdź, czy telefon został prawidłowo podłączony i wykryty przez system:
adb devices
Jako ECHO powinieneś otrzymać:
adb server is out of date. killing...* daemon started successfully * List of devices attached SH0BHRT01349 device
Uzyskiwanie TEMP-ROOTa. I teraz, jeżeli masz preinstalowane 2.3.3 lub zrobiłeś update androida do tej wersji to w konsoli wpisz:
adb shell cat /dev/msm_rotator
Powinieneś otrzymać ECHO:
/dev/msm_rotator: invalid length
Jeżeli wszystko jest OK. To w konsoli wypisujemy:
adb push fre3vo /data/local/tmp adb shell chmod 777 /data/local/tmp/fre3vo/data/local/tmp/fre3vo -debug -start FAA90000 -end FFFFFFFF
Jako ECHO powinieneś otrzymać:
Buffer offset: 00000000 Buffer size: 8192Scanning region fb7b0000...Scanning region fb8a0000...Scanning region fb990000...Scanning region fba90000...Potential exploit area found at address fbb4d600:a00.Exploiting device...
Po wykonaniu powyższych poleceń w konsoli powinieneś otrzymać tzw. TEMP ROOT. Sprawdzamy:W konsoli wpisz:
adb shell
Jako ECHO powinieneś otrzymać znak zachęty:
#
W przypadku gdy po odpaleniu komendy shell otrzymasz znak zachęty:
Temp root nie zadziałał. Sprawdź czy niczego nie pominąłeś. 4b. W przypadku, gdybyś miał telefon z androidem 2.2.3, 2.2.2 lub inne starsze, uzyskiwanie tymczasowych uprawnień ROOTa wygląda nieco inaczej. W konsoli wpisz:
adb push psneuter /data/local/tmpadb shell chmod 755 /data/local/tmp/psneuteradb shell /data/local/tmp/psneuteradb shell
Po wykonaniu komendy adb shell powinieneś otrzymać zwrot znaku zachęty
#
Zmiana Firmware.Po uzyskaniu tymczasowego ROOTa dalej wszystko wygląda już tak samo.5. W konsoli wpisz:
adb push misc_version /data/local/tmpadb shell chmod 755 /data/local/tmp/misc_version
6. Uruchom temp roota i po znaku zachęty # wpisz komendę zmiany wersji firmware.
/data/local/tmp/misc_version -s 1.33.405.5
Jako echo komendy otrzymasz:
--set_version set. VERSION will be changed to: 1.33.405.5 Patching and backing up partition 17…
7. Wyjdź z Shell.
exit
8. Następnie przekopiuj plik nowego-starego ROMu na kartę SD. W konsoli wpisz:
adb push PC10IMG.zip /sdcard/
buy Lithium
To może potrwać chwilę… Jak już się przekopiuje zaczynamy process podmiany oprogramowania. 9. W konsoli wpisz:
adb reboot bootloader
10. Wybierz tam opcję „BOOTLOADER” i naciśnij przycisk POWER w celu potwierdzenia.Urządzenie przeskanuje kartę SD w poszukiwaniu update oprogramowania. Jak już ją znajdzie i zweryfikuje system zapyta czy zrobić update. Potwierdź operację wciskając VOL_UP. Jak już się wykona aktualizacja zostaniesz poproszony o wciśnięcie POWER w celu restartu telefonu. Czas żeby zdobyć permanentnego ROOTa i wyłączyć blokadę nadpisów ROOMów (Secure-OFF)
11. Wpisz w konsoli:
adb install AndroidTerm.apkadb push busybox /data/local/tmp/adb push gfree /data/local/tmp/adb push rage /data/local/tmpadb push root /data/local/tmp/adb shell chmod 0755 /data/local/tmp/*adb push su /sdcard/adb push Superuser.apk /sdcard/
12. Gdy już wszystkie pliki przekopiują się na swoje miejsce włącz w telefonie Terminal Emulator i wpisz tam:
/data/local/tmp/rage
Jako ECHO otrzymasz masę komunikatów potwierdzających wykonanie operacji w systemie. Po otrzymaniu na końcu:
Forked #### childs
13. Zrestartuj terminal (Menu-> Reset Term). Aplikacja będzie wymagała Force KILL. Ale to nic. Wymuś jej zamknięcie i uruchom jeszcze raz. Teraz, po uruchomieniu otrzymasz na starcie znak zachęty:
#
Zamiast:
Order Furosemide
$
14. Wpisz teraz w terminalu (Ustawienie Bootloadera w tryb Secure OFF)
/data/local/tmp/gfree -f
15. No i na koniec wpisz w terminalu (Ustawienie Permanentnego ROOTa):
/data/local/tmp/root
16. Po zakończeniu potwierdź wszystko wpisując:
sync
17. Teraz możesz zrestartować telefon. W konsoli wpisz:
adb reboot
Lub po prostu odłącz telefon od kabla USB. Wyłącz i włącz ponownie telefon.
Źródła: XDA-developers
3 Comments
Pingback: Zmiany na blogu | Tech Mania
robię! najwyżej uceglę tego ciągle grzejącego się kloca…
Powinno się udać 🙂 kilka razy robiłem, na różnych egzemplarzach i działało