Pokazywanie postów oznaczonych etykietą jak zrootować. Pokaż wszystkie posty
Pokazywanie postów oznaczonych etykietą jak zrootować. Pokaż wszystkie posty

poniedziałek, 11 listopada 2013

Jak zrootować Androida przy pomocy Fedory (oraz jak to cofnąć ;-) )

Ten post jest bardziej o Androidzie i usuwaniu pewnych "przeszkód" dających nad nim całkowitą władzę niz o Fedorze, ale pokazuje jak przy pomocy Fedory można łatwo "zrootować" dowolne urządzenie z Androidem.

UWAGA!!! Tzw. rootowanie urządzenia z Androidem zazwyczaj narusza warunki gwarancji. Należy rozważyć możliwe konsekwencje przed przystąpieniem do wykonania poniższej procedury.

Wszystkie podane poniżej polecenia sprawdziłem i wykonałem na posiadanym przeze mnie urzadzeniu. Są one bezpieczne dla tabletu jednak nie biorę żadnej odpowiedzialności za uszkodzenia systemu i/lub sprzętu, które wynikną z przeprowadzenia powyższej procedury.


W tym przypadku moja zasługa jest stosunkowo niewielka. Posłużyłem się świetnym i prostym opisem stworzonym przez PMS z polskiego forum tematycznego android.com.pl.
Dla osób chcących skorzystać z oryginału (lub wykonać rootowanie z systemu Kubuntu/Ubuntu/Xubuntu) podaję → bezpośredni link do postu.

Czynności wykonałem na tablecie Mistral traveler II (MI-T72A) z wgranym Androidem 4.0.3. Podawane przeze mnie nazwy opcji pochodzą z tego tabletu, ale w zależności od urządzenia i wersji systemu mogą się nieco różnić.
Do dzieła...

  1. Przede wszystkim należy przejść do ustawień (na tablecie lub telefonie) do "Opcji programistycznych" i włączyć "Debugowanie USB" oraz w części "Zabezpieczenia" włączyć "Nieznane źródła"
  2. W Fedorze włączamy terminal i instalujemy niezbędne narzędzia
    yum install android-tools
  3. Podłączamy tablet przez USB (nie montujemy) i sprawdzamy poleceniem lsusb czy urządzenie jest widoczne w systemie. W moim przypadku wygladało to tak:
    $ lsusb
    Bus 001 Device 003: ID 18d1:deed Google Inc.
    ID urządzenia w przypadku wszystkich tabletów MI-T72A powinien byc ten sam: 18d1:deed
  4. Następne polecenia będziemy wykonywać jako root na Fedorze:
    su -
    Hasło: podajemy hasło roota
  5. Z konsoli uruchamiamy edytor tekstu
    [root@localhost ~]# nano /etc/udev/rules.d/51-android.rules
    wpisujemy w jednej linii:
    SUBSYSTEM=="usb", ATTRS{idVendor}=="18d1", SYSFS{idProduct}=="deed", MODE="0666"
    i wychodzimy z zapisem.
  6. restartujemy udev oraz - na wszelki wypadek, bo na razie nie powinien działać - serwer ADB
    [root@localhost ~]# systemctl restart systemd-udevd.service
    [root@localhost ~]# adb kill-server
    [root@localhost ~]# adb start-server
    * daemon not running. starting it now on port 5037 *
    * daemon started successfully *
  7. Sprawdzamy czy ADB widzi nasze urządzenie
    [root@localhost ~]# adb devices
    List of devices attached
    13010710000000000022 device
    numer urządzenia może się różnić od widocznego powyżej.
  8. Przygotowania po stronie Fedory skończone - teraz będziemy z Fedory działać na Androidzie.
    Najpierw zachowamy ustawienia naszego tabletu, żeby móc je pod koniec procesu odtworzyć.
    Dla ustalenia uwagi zakładam, że pliki zapisujemy i rozpakowujemy do katalogu /katalog. Oczywiście można zapisać pliki w dowolnym innym katalogu i odpowiednio zmodyfikować dalsze polecenia.
    [root@localhost ~]# adb backup -f /katalog/settings.ab com.android.settings
    Now unlock your device and confirm the backup operation.
    W tym miejscu Fedora czeka na zezwolenie wykonania backupu. Pozwolenie takie dajemy odblokowując urządzenie z Androidem i wciskając widoczny na ekranie Andka przycisk "Utwórz kopię zapasową danych".
    Upewniamy się, że plik został utworzony:
    [root@localhost ~]# ls -l /katalog/settings.ab
    -rw-r----- 1 root root 796971 11-11 10:37 settings.ab
  9. Instalujemy plik special_ab.bin, który utworzy w tablecie plik /data/local.prop. Ściągamy go ze strony Android ICS "adb restore" directory traversal vulnerability. Plik jest załącznikiem do zamieszczonego pod tym adresem posta.
    [root@localhost ~]# adb restore /katalog/special_ab.bin
  10. Restartujemy tablet.


  11. W czasie restartu tabletu ze strony AndroidSU.com ściągamy plik Superuser-3.1.3-arm-signed.zip i rozpakowujemy.


  12. Wciąż jako root wykonujemy polecenia:
    [root@localhost ~]# adb remount
    [root@localhost ~]# adb push /katalog/system/bin/su /system/bin
    [root@localhost ~]# adb shell chmod 4755 /system/bin/su
    [root@localhost ~]# adb push /katalog/system/bin/su /system/xbin
    [root@localhost ~]# adb shell chmod 4755 /system/xbin/su
    [root@localhost ~]# adb install /katalog/system/app/Superuser.apk
    i pliki su i Superuser.apk znalazły się na tablecie


  13. Usuwamy z tabletu /data/local.prop (zmodyfikowany wcześniej przez special_ab.bin) oraz odtwarzamy nasze ustawienia zapisane wcześniej do settings.ab
    [root@localhost ~]# adb shell rm /data/local.prop
    [root@localhost ~]# adb restore /katalog/settings.ab


  14. Restartujemy ponownie tablet i możemy cieszyc się zrootowanym systemem Android :)


BARDZO WAŻNE - unroot urządzenia Niestety niektóre aplikacje wymagają, żeby nasz Android nie był zrootowany. W takim przypadku należy z naszego Androida zajrzeć na stronę sklepu Google i pobrać darmowy program "OTA rootkeeper". Umożliwia ot zarówno tymczasowe ukrycie plików "su" na naszym tablecie jak i ich całkowite wykasowanie (czyli usunięcie roota) na Androidzie. To ostatnie może być przydatne, gdy np. trzeba odnieść sprzęt do serwisu.