Hlavní navigace

HTC Hero: získáváme roota

Adam Štrauch

Android ve vašem telefonu se k vám většinou dostane bez práv uživatele root. Je to samozřejmě správně, ale pro některé věci jsou jeho práva nezbytná. Naštěstí šikovné komunitě se většinou podaří různé kulišárny výrobců obejít nebo prolomit a i běžný uživatel si může funkce telefonu rozšířit podle svého. Dnes se podíváme, jak na to s HTC Hero.

rootování alias su

Pojem rootování telefonu může znalého uživatele trochu klamat. Víceméně jde o to, dostat program su do souborového systému našeho Androida. Když se vám to podaří, můžete si se softwarem telefonu dělat prakticky cokoli, což může vést až ke zničení telefonu. Proto byste se měli mít velmi na pozoru, když něco děláte. Uvědomte si, že telefon není běžný stroj, ale poškození určité části paměti, třeba spuštěním programu se špatnými parametry, telefon nepřežije a budete z něj mít hezké těžítko.

Na různých fórech najdete návody, které popisují krok za krokem jak se k rootu v telefonu dostat. Kolem se často pohybují uživatelé, co se postup pokusili využít, ale kvůli chybě telefon přestal reagovat. Často jde o uživatele, kteří o Linuxu maximálně slyšeli a netuší, co zadávají do konzole, když tam to su kopírují. Osobně nikomu takovému tento ani jiné postupy nedoporučuji a když už se rozhodnete, pokuste se patřičný postup co nejlépe pochopit, aby nedošlo ke zbytečnému zničení telefonu.

Druhá rada, kterou bych chtěl zmínit, je – nikdy nepanikařte. Telefon odepíšete, když si třeba přepíšete prvních 512kB flash paměti, kde je uloženo SPL (o tom níže). Pokud se vám podaří nějakým způsobem zničit kterýkoli jiný oddíl, vždycky vede cesta zpět přes oficiální aktualizační program nebo i jinak.

Pokud se rozhodnete použít cokoli v následujícím textu, tak i když jsem vše použil na svém telefonu, neručím za následky, které by to mohlo mít.

Flash paměť

Flash paměť Android telefonů je rozdělena na několik částí. Je možné, že se v různých telefonech počet částí liší, ale na mém HTC Hero jich je šest. Na nich jsou uloženy různé části systému, o kterých bychom měli něco vědět.

SPL (Second Program Loader)

V prvních 512 KB je uloženo tzv. SPL. Je to něco jako složitější zavaděč, který je zaváděn jednodušším zavaděčem, který se nazývá IPL (Initial Program Loader). SPL je středem všech potíží, které máme pokud chceme získat práva roota na našem telefonu. Přes SPL je možné nabootovat do jakéhokoli systému i přes USB kabel a tím jednoduše manipulovat s telefonem. Bohužel je SPL v nových HTC Hero proti tomuto postupu zamčené. Až se vám podaří dostat k rootu, můžete si tam nahrát takové, které není, ale osobně jsem do toho nešel a nepůjdu. Pokud začnete sahat na SPL, tak když se stane něco špatně, telefon bude zobrazovat maximálně hezký obrázek s Androidem a už nikdy se neposune dál.

Odemčené SPL mají všechny HTC Hero prodaná někdy před zářím 2009, tedy ještě bez prvního oficiálního upgradu pro Evropu.

Recovery

Druhou a velmi důležitou částí flash paměti je i 5 MB velká oblast, který obsahuje tzv. recovery. Je to základní systém, přes který se dají řešit některé problémy a pokud si tam nahrajete nějaké vylepšené recovery, dostanete velmi mocný nástroj, který váš telefon dostane z většiny softwarových problémů a umožní vám nahrát si do telefonu cokoli.

Přesně tudy také vede cesta jak se dostat k rootu v HTC Hero, ale budeme na to muset jít trochu lišácky, přes ne moc povzbudivou díru v jádře.

System

V této části se nachází vše co se týká systému, který běžně při používání telefonu máte nabootovaný. Velikostí je 170 MB a vejde se tam jakákoli běžná varianta Androidu, které se povalují po internetu. Tato část flash paměti je připojena jen pro čtení a žádný program do ní nemůže zapisovat, alespoň pokud nemáte roota, který by provedl remount. Oficiální verze HTC Androida bohužel obsahuje i některé vyloženě zbytečné aplikace a bez roota se jich nezbavíte.

Data

Přibližně stejnou velikost má i část s daty uživatele, kam si aplikace ukládají svá nastavení. Je to část paměti, kde je povolený zápis a krom nastavení tu je všechno co si aplikace neodloží na SD kartu. Instalují se sem také aplikace, které si stáhnete z Marketu nebo i jinak. Na rozdíl od aplikací, co jsou v části paměti se systémem, jdou odinstalovat. S datovou částí flash paměti souvisí i pojem wipe. Ten uvede datovou část do určitého výchozího stavu. Společně s tím se ještě vymaže část flash paměti s cache javovského virtuálního stroje, která má asi 128 MB. Právě wipe je potřeba udělat před změnou systému za jiný. Není to nutné u všech, ale pokud to neuděláte když máte, tak některé aplikace to neustojí. Teoreticky by šlo upravit SPL tak, aby si ukouslo ze systémové části pár MB a dalo je do části s daty. Běžná velikost systému se pohybuje kolem 100 MB, některé ROMky mají i 60 MB, takže se tam 70 až 110 MB jen tak válí.

 RADIO

Nakonec ještě zmíním RADIO. Nepodařilo se mi najít, kde je přesně uložené, ale u HTC Hero na něj sahat nemusíte. Je to balík s firmwarem pro WiFi, GSM modul a Bluetooth. Je to druhá ze dvou věcí, při jejíž manipulaci můžeme telefon uvést do nefunkčního stavu. Osobně jsem na RADIO nesáhl a pokud máte chuť a nervy, MoDaCo dá obrazy i informace.

A jdeme na roota

U každého telefonu se k uživateli root dostáváte různě. Rozhodně to není často oficiální (některé telefony to umožňují společně se vzdáním se záruky) a ani jednoduchá cesta. U HTC Hero není potřeba nic speciálního. Naneštěstí/naštěstí se objevila bezpečnostní chyba, která má velmi vážný charakter, který zastínil fakt, že se používá i pro něco užitečného. Přes tuto díru lze získat roota jako běžný uživatel. Je to tak vážná díra, že nějaký zákeřný program vám může zničit telefon tím, že přepíše SPL nebo RADIO. Výrobce si toho nevšímá a uživatelé jásají, aniž by si uvědomovali riziko.

Dost bylo strašení a začneme odemykat. Začneme tím, že si stáhneme Android SDK a rozbalíme. Najdeme ho na adrese developer.andro­id.com. Po rozbalení najdeme v adesáři tools program adb, který budeme potřebovat. Nejpohodlnější je přidat cestu k adresáři tools do systémové proměnné PATH, aby se adb lépe spouštělo. Jen tak mimo téma tu je i program ddms, který umožňuje krom jiného ukládat do PNG, co se zrovna děje na displayi telefonu. Na Windows jsou potřeba ještě nějaké jiné ovladače pro telefon, ale na Linuxu jsem nemusel instalovat nic a vše fungovalo, jak mělo.

Pokud máme SDK, stáhneme si program FlashEec. Ten dělá to, že zneužije bezpečnostní díru v jádře k tomu, aby nahrál upravené recovery. FlashRec se instaluje jako každý jiný program, který není z Marketu a v menu se objeví pod názvem „Recovery Flasher“. Po spuštění uvidíme velmi jednoduché ovládání se dvěma tlačítky.

flashrec

Nejdříve si zkuste zazálohovat svoji recovery, tedy tu originální tlačítkem „Backup recovery image“. Když se to povede, díra je přítomna v můžeme pokračovat. Pokud ne, tak tady návod končí a musíte si najít jinou cestu. Když je vše zazálohováno, tak si stáhněte nějakou upravenou recovery, která vám dá do ruky váš systém, jak si výrobce nepřál.

Já momentálně používám RA-hero-v1.6.2, kterou najdete opět na MoDaCo fóru. Je to asi nejlepší recovery pro Hero. Po stáhnutí si ji nahrajte na SD kartu a přejmenujte ji na něco kratšího, třeba „recovery.img“. Pak stačí ve flashrec napsat do políčka:

sdcard/recovery.img 

a tapnout na „Flash Recovery Image“. Tady pozor, první lomítko se opravdu nepíše.

Pokud vše projelo bez chyb, tak je čas vypnout telefon a zapnout ho držením POWER+HOME. Tím by měla naběhnout naše nová recovery. Pokud se vám to povedlo, tak je váš telefon kompletně ve vašich rukou a máte otevřenou bránu k pořádnému zálohování, ke změnám v systému nebo ke kompletní výměně systému.

recovery

Pro nás je nyní důležité dostat su do originálního systému, je to takový hlavní důvod, proč tohle všechno dělat. Nejdříve potřebujeme stáhnout su a program Superuser.apk. Su jsem již vysvětlil a Superuser umožní kontrolovat, který program se touto cestou snaží dostat k rootu. Můžete pak povolit, případně zakázat přístup programům, které se zrovna snaží su použít. Je to bezpečnostní ochrana, aby si každý nainstalovaný program nedělal, co chtěl.

Začneme tím, že si stáhneme su_a_su­peruser_apk.tar­.bz2. Rozbalíme je a přes adb nakopírujeme do telefonu. Adb je program a zároveň protokol, který umožňuje pohodlně komunikovat s telefonem. Adb démon běží v SPL, v recovery i v hlavním systému, a tak všechno můžete dělat z pohodlí své klávesnice. Nahrajeme tedy su a nainstalujeme Superuser.apk.

$ adb shell mount /system # přimountujeme souborový systém hlavního systému
$ adb push su /system/bin/ # nahrajeme do něj su
$ adb shell chmod 4755 /system/bin/su # a dáme mu práva ke spuštění
$ adb push Superuser.apk /system/app/ # pak nakopírujeme i Superuser.apk
$ adb shell reboot # a nakonec resetujeme 

A je hotovo, po nabootování hlavního systému budete moci spustit programy pod rootem. Stačí do něj nabootovat a zadat:

$ adb shell
$ su 

Aplikace Superuser se zeptá na povolení přístupu k su a po odtapnutí se místo $ objeví # a práva jsou vaše.

Závěr

Příště se podíváme na to, co všechno se dá s rootem a naší novou recovery na Androidu dělat. Rád bych ještě na závěr poznamenal, že jakýmkoli podobným zásahem ztrácíte záruku. Na druhou stranu je oficiální aktualizační software natolik destruktivní, že flashuje všechno od SPL až po data a ač nechci k podobným nečistě řešeným reklamacím nějak navádět, nenašel jsem za poslední tři měsíce nikoho, komu by nevzali reklamaci, když jak důvod uvedl, že mu oficiální aktualizační aplikace spadla a telefon od té doby nenaběhl. Naštěstí u HTC Hero není potřeba pro trochu těch práv dělat nic, co by zničilo telefon tak, aby to nešlo řešit, i tak si ale dávejte pozor, abyste něco neudělali špatně. Aktualizaci softwaru je lepší řešit přes ROMky vypreparované z oficiální aktualizační aplikace. Ty vám nepřepíšou SPL ani RADIO, ale pouze systém a data a zůstane vám vaše nová recovery. Tyto ROMky najdete opět na MoDaCo fóru.

Budu velmi rád, když mi pomůžete článek vylepšit vašimi postřehy v diskusi.

Našli jste v článku chybu?

10. 3. 2010 7:05

Ďakujem za výborný článok, na niečo také som čakal;-) Chcem sa opýtať či v pokračovaní popíšete aj postup ako dostať Android 2.1 do Hera a či tam bude aj HTC sense alebo nie.

Veľmi sa teším na pokračovanie.

2. 4. 2010 15:55

Daan (neregistrovaný)

uspesne sa mu podary nabootovat recovery_RA_he­ro_v1.6.2.img, ked vsak sa vsak zo svojho linuxu pokusim mountnut /system prikazom /adb shell mount /system, dostanem chybu „error: insufficient permissions for device“

je mozne, ze som si nainstaloval nechtiac nejaku akutalizaciu (telefon som kupil asi tak pred tyzdnom) a tento postup je uz nefunkcny?

DigiZone.cz: „Black Friday 2016“: závěrečné zhodnocení

„Black Friday 2016“: závěrečné zhodnocení

Podnikatel.cz: Přehledná titulka, průvodci, responzivita

Přehledná titulka, průvodci, responzivita

Podnikatel.cz: EET: Totálně nezvládli metodologii projektu

EET: Totálně nezvládli metodologii projektu

Vitalia.cz: 9 největších mýtů o mase

9 největších mýtů o mase

Lupa.cz: Kdo pochopí vtip, může jít do ČT vyvíjet weby

Kdo pochopí vtip, může jít do ČT vyvíjet weby

Vitalia.cz: Mondelez stahuje rizikovou čokoládu Milka

Mondelez stahuje rizikovou čokoládu Milka

Vitalia.cz: Taky věříte na pravidlo 5 sekund?

Taky věříte na pravidlo 5 sekund?

Vitalia.cz: Když přijdete o oko, přijdete na rok o řidičák

Když přijdete o oko, přijdete na rok o řidičák

120na80.cz: Na ucho teplý, nebo studený obklad?

Na ucho teplý, nebo studený obklad?

Měšec.cz: U levneELEKTRO.cz už reklamaci nevyřídíte

U levneELEKTRO.cz už reklamaci nevyřídíte

Podnikatel.cz: K EET. Štamgast už peníze na stole nenechá

K EET. Štamgast už peníze na stole nenechá

Měšec.cz: mBank cenzuruje, zrušila mFórum

mBank cenzuruje, zrušila mFórum

Vitalia.cz: Co pomáhá dítěti při zácpě?

Co pomáhá dítěti při zácpě?

Měšec.cz: Kdy vám stát dá na stěhování 50 000 Kč?

Kdy vám stát dá na stěhování 50 000 Kč?

Měšec.cz: Air Bank zruší TOP3 garanci a zdražuje kurzy

Air Bank zruší TOP3 garanci a zdražuje kurzy

Lupa.cz: Insolvenční řízení kvůli cookies? Vítejte v ČR

Insolvenční řízení kvůli cookies? Vítejte v ČR

Podnikatel.cz: Zavře krám u #EET Malá pokladna a Teeta?

Zavře krám u #EET Malá pokladna a Teeta?

Vitalia.cz: I církev dnes vyrábí potraviny

I církev dnes vyrábí potraviny

Vitalia.cz: Spor o mortadelu: podle Lidlu falšovaná nebyla

Spor o mortadelu: podle Lidlu falšovaná nebyla

Podnikatel.cz: Udávání a účtenková loterie, hloupá komedie

Udávání a účtenková loterie, hloupá komedie