Ruční root Androidu

Spousta uživatelů telefonu s Androidem touží po získání neomezené moci nad svým zařízením. Vznikají různé programy, které jim s tímto problémem pomohou, já jsem se ale rozhodl ukázat, jak rootnout Android ručně.

Budeme potřebovat několik věcí. Níže uvedené programy si vypůjčím z balíčku SuperOneClick, kde je vše pěkně pohromadě.

  • propojit zařízení s počítačem
  • program adb
  • program zergRush
  • program su
  • program Superuser.apk

Propojení zařízení s počítačem

Vytvořte pravidlo v souboru /etc/udev/rules.d/51-android.rules, kde bude následující obsah:

ACTION=="add", SUBSYSTEM=="usb", SYSFS{idVendor}=="22a4", MODE="0666"

Místo identifikátoru 22a4 uvedete samozřejmě číslo výrobce vašeho zařízení. Podrobnější popis se nachází na Google: http://developer.android.com/guide/developing/device.html. Na uvedené stránce jsou uvedeny identifikátory nejznámějších výrobců. Toto číslo je možné zjistit i z výpisu lsusb (jedná se o první čtveřici celého ID). Pak bude zřejmě nutné restartovat službu udev, aby načetla naše nové pravidlo:

sudo service udev restart

Zkusíme pomocí programu adb zjistit seznam připojených zařízení. adb je součástí android-sdk (http://developer.android.com/sdk/index.html), ale můžete ho najít i v balíčku SuperOneClick. Pokud se nám zobrazí naše zařízení a název netvoří otazníky, máme vyhráno.

adb devices

Může se stát, že v seznamu nebude žádné zařízení. Pomůžeme tomu editací souboru ~/.android/adb_usb.ini (pokud adresář nebo soubor neexistuje, vytvořte). Vložme do něj řádek s identifikátorem našeho výrobce, tedy např.:

# InnoCom USB Vendor ID
0x22a4
# TI USB Vendor ID
0x0451

Teď už stačí jen restartovat démona pomocí adb:

sudo adb kill-server
sudo adb start-server

(Pozn.: Pokud při restartování démona nepoužijeme sudo, může se stát, že zařízení ve výpisu uvidíme, ale objeví se u něj hláška Permissions denied.)

Exploity pro získání roota

Exploity jsou programy, které využívají chyb jiných programů (v našem případě Androidu) a tak mohou vykonávat operace, ke kterým nemají oprávnění. V počítačovém světě se většinou používají pro nekalou činnost, ale jak vidíte, mohou sloužit i dobré věci.

Protože chceme rootnout Android 2.2, použijeme exploit s názvem zergRush (tento exploit ale funguje i na Android 2.3). Jak se můžete sami přesvědčit, jedná se o program napsaný v jazyce C a není nijak složitý. Důležité je, že se za ním skrývá veškerá těžká práce ohledně rootování. Naší jedinou starostí je spustit ho.

Root Androidu

Pokud máme zařízení propojené s počítačem a sehnali jsme si výše zmiňované programy, můžeme se pomocí programu adb směle pustit do rootování:

#Pokud se vyskytla nekde chyba, je mozne cely adresar
#smazat a znovu vytvorit
adb shell mkdir /data/local/tmp
adb push zergRush /data/local/tmp

adb shell
cd /data/local/tmp/
chmod 755 zergRush
./zergRush

adb remount
adb push su /system/bin
adb push su /system/xbin

adb shell
chmod 4755 /system/bin/su
chmod 4755 /system/xbin/su
exit

adb push Superuser.apk /system/app

#Stáhnout BusyBox instalátor z Google Play obchodu a nainstalovat BusyBox.

adb reboot

Verzo Kinzo

Tento postup jsem aplikoval na český telefon Verzo Kinzo s Androidem 2.2. V brzké době plánuji root využít a své Verzo obohatit o nějaký open-source ROM (např. CyanogenMod 7.1).

Zdroje

V druhém odkazu na konci prvního příspěvku je možné stáhnout různé verze programu SuperOneClick, kde se nachází všechny potřebné programy.

  • http://forum.xda-developers.com/showthread.php?p=18615502#post8615502
  • http://forum.xda-developers.com/showthread.php?t=803682a
  • http://shortfuse.org – stránky bohužel spíše nefungují, než fungují
Příspěvek byl publikován v rubrice Blog se štítky a jeho autorem je Petr Pošvic. Můžete si jeho odkaz uložit mezi své oblíbené záložky nebo ho sdílet s přáteli.

10 komentářů u „Ruční root Androidu

  1. Zdravím,jsem také majitelem Verza a zajímalo by mě jak jsi daleko s aplikováním pen-source ROM (např. CyanogenMod 7.1).
    Díky za odpověd

    • V polovině dubna se chystám tomu věnovat víkend a aktualizovat článek. Rád bych na Verzo dostal nejnovější CyanogenMod. Výsledek mého počínání si budete moct přečíst nejpozději do konce měsíce.

  2. Zdravim, jak to vypada s Cyamogenem na Kinzu? Sam sem o tom pred casem uvazoval, ale nova prace a narozeni potomka mi moje plany trochu prekazilo. Ale pomalu zase nadchazi doba kdy bych se k tomu moch vratit. Jak to zatim vypada u Tebe s postupem?

    • Věnoval jsem se po práci několik večerů nahrazení oficiálního recovery nějakým „rozumným“, bohužel neúspěšně. Verzo používá svůj vlastní (zamčený) a dokáže načítat pouze obrazy typu .iwf. Nyní zvažuji, jestli zkoušet dál natvrdo nahradit recovery.

  3. Mám dotaz jak to vypadá s Cyanogenmod ROM na Verzu . Pokusil jste se to tam dát natvrdo? Pokud ano prosím o návod protože zvažuji že bych to udělal ale bojím se bricknutí telefonu. Děkuji za odpověď.

    • Dobrý den, můj exemplář Verza přestal fungovat a nemám už možnost experimentovat s ním, takže Vám nemohu říct, jestli tam CM funguje nebo ne.

        • To nedokážu posoudit, půjčil jsem ho a zpět se mi dostal už nefunkční. Prý se najednou vypnul a přestal fungovat.

          • To se mi stalo taky ale znovu naběhl poté co jsem s ním hodil o zeď. Můžete to zkusit také. 😀

      • Nazdar… mel bych doma nejake kinzo plonkovni… popr to stoji dneska kolem 1000kč… pokud byste chtel muzeme se nejako domluvit

Napsat komentář: Petr Pošvic Zrušit odpověď na komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *