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í
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.
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.
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.
A přestal fungovat z důvodu nějaké softwarové chyby, nebo se rozbil nějaký hardware?
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