You are on page 1of 162

Tytuł oryginału: XDA Developers' Android Hacker's Toolkit:

The Complete Guide to Rooting,ROMs and Theming

Tłumaczenie: Tomasz Walczak

ISBN: 978-83-246-5683-7

This edition first published 2012.


© 2012John Wiley and Sons, Ltd.

Ali Rights Reserved. Authorised translation from the English language edition published by
John Wiley & Sons Limited. Responsibility for the accuracy of the translation rests solely
with Helion S.A. and is not the responsibility ofJohn Wiley & Sons Limited.

No part of this book may be reproduced in any form without the written permission
of the original copyright holder,John Wiley & Sons Limited.

Wiley and the Wiley logo are trademarks or registered trademarks ofJohn Wiley and Sons,
Inc. and/or its affiliates in the United States and/or other countries, and may not be used
without written permission. Android is a trademark of Google,Inc. Ali other trademarks
are the property of their respective owners. John Wiley & Sons, Ltd. is not associated with
any product or vendor mentioned in the book.

Translation copyright © 2013 by Helion S.A.

W szelki e prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu


niniejszej publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą
kserograficzną, fotograficzną, a także kopiowanie książki na nośniku filmowym,
magnetycznym lub innym powoduje naruszenie praw autorskich niniejszej publikacji.

Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi


bądź towarowymi ich właścicieli.

Autor oraz Wydawnictwo HELION dołożyli wszelkich starań,by zawarte w tej książce
informacje były kompletne i rzetelne. Nie biorą jednak żadnej odpowiedzialności ani za ich
wykorzystanie,ani za związane z tym ewentualne naruszenie praw patentowych lub autorskich.
Autor oraz Wydawnictwo HELION nie ponoszą również żadnej odpowiedzialności za ewentualne
szkody wynikłe z wykorzystania informacji zawartych w książce.

Wydawnictwo HELION
ul. Kościuszki 1c,4 4 -100 GLIWICE
tel. 32 231 22 19,32 230 9863
e-mail: helion@helion.pl
WWW: http://helion.pl (księgarnia internetowa,katalog książek)

Drogi Czytelniku!
Jeżeli chcesz ocenić tę książkę,zajrzyj pod adres
http://helion.pl/user/opinie/hakand_ebook
Możesz tam wpisać swoje uwagi,spostrzeżenia, recenzję.

Printed in Poland.

• Poleć książkę na Facebook.com • Księgarnia internetowa


• Kup w wersji papierowej • Lubię to! » Nasza społeczność
• Oceń książkę
,

SPIS TRESCI

o autorach ................................................................................................................... 10

PrzedJnowa .................................................................................................................. 11

Wprowadzenie ............................................................................................................ 13

CZĘŚĆ I CO MUSZĘ WIEDZIEĆ?


Rozdział 1. Jak urządzenie rozpoczyna pracę? Mechanizmy Androida ................... 21
Na bazie pingwina ............................................................................................................ 21
Jak urządzenia z Androidem rozpoczynają pracę? ...................................................... 22
Rozruch ........................................................................................................................ 23
Niestandardowy program rozruchowy ................................................................... 24
Jak przebiega rozruch? ............................................................................................... 25
Niestandardowy program do przywracania systemu - święty Graal ....................... 26

Rozdział 2. Rootowanie urządzeń z Androidem ....................................................... 29

Po co rootować urządzenie? ............................................................................................ 30


Zwiększanie czasu życia urządzenia ......................................................................... 30
Naprawianie usterek fabrycznych ............................................................................ 31
Zwiększanie możliwości ............................................................................................ 32
Dostosowywanie urządzenia do potrzeb ................................................................. 33
Tworzenie kopii zapasowej danych ................................................................................ 33
Dane kontaktowe ........................................................................................................ 34
Aplikacje i ich dane .................................................................................................... 34
Dane na karcie SD ...................................................................................................... 35
4 Spis treści

Jak zrootować urządzenie i uwolnić się spod kontroli producenta? .......................... 3 5


Fabryczne narzędzia d o zastępowania oprogramowania ...................................... 36
Exploity ........................................................................................................................ 37
Zastępowanie oprogramowania za pomocą wbudowanego narzędzia Fastboot .. 38
Techniki oparte na skryptach i jednym kliknięciu ................................................. 39
Rootowanie dwóch konkretnych urządzeń ................................................................... 39
Nexus One ................................................................................................................... 40
HTC Thunderbolt ...................................................................................................... 40
Rootowanie to dopiero początek .................................................................................... 41

Rozdział 3. Wybór odpowiednich narzędzi ............................................................... 43

Do startu, gotów . . . - chwileczkę, czego potrzebuję? ................................................. 43


Podłączanie telefonu do komputera ........................................................................ 43
Narzędzia hakerskie ................................................................................................... 44
Kable USB .......................................................................................................................... 45
Tryb diagnostyczny .......................................................................................................... 46
Co steruje współpracą z urządzeniem? .......................................................................... 47
Jak korzystać z narzędzia ADB? ...................................................................................... 47
Sprawdzanie połączenia z urządzeniem .................................................................. 49
Ponowne uruchamianie usługi ADB ....................................................................... 50
Kopiowanie plików na urządzenie i z niego ........................................................... 5 1
Ponowne uruchamianie urządzenia ......................................................................... 53
Możliwości narzędzia Fastboot ....................................................................................... 54
Odblokowywanie urządzenia .................................................................................... 54
Aktualizowanie urządzenia ....................................................................................... 55
Stosowanie instrukcji flash ........................................................................................ 55
Ponowne uruchamianie urządzenia ......................................................................... 55
Wykorzystanie możliwości pingwina za pomocą powłoki ADB ............................... 56
Poruszanie się po systemie plików ........................................................................... 56
Zarządzanie plikami ................................................................................................... 58
Uprawnienia dostępu do plików .............................................................................. 60
Przekierowania i potokowe wykonywanie instrukcji ............................................ 63
Złączanie ...................................................................................................................... 64
BusyBox - niech moc pingwina będzie z Tobą ........................................................... 64
Instrukcja dd ............................................................................................................... 64
Instrukcja echo ............................................................................................................ 65
Polecenie md5sum ...................................................................................................... 65
HAKOWANIE ANDROIDA 5

Rozdział 4 . Rootowanie a instalowanie niestandardowych programów


do przywracania systemu ............................................................................................ 67

Jak korzystać z exploitów? ............................................................................................... 67


Skrypty z exploitami ................................................................................................... 68
Aplikacje z exploitami ................................................................................................ 69
Uruchamianie skryptu lub aplikacji w urządzeniu ................................................ 70
Narzędzia dla hakerów ..................................................................................................... 70
Narzędzia fabryczne ................................................................................................... 7 1
Narzędzia opracowane przez programistów ........................................................... 7 1
Pliki obrazu .................................................................................................................. 72
Tryb przywracania systemu ............................................................................................. 72
Czym jest tryb przywracania systemu? .................................................................... 73
Uprość sobie pracę - zainstaluj niestandardowy program
do przywracania systemu! ....................................................................................... 73
Korzystanie z aplikacji ClockworkMod ......................................................................... 74
Ponowne uruchamianie urządzenia ......................................................................... 75
Aktualizowanie urządzenia z karty SD .................................................................... 75
Przywracanie ustawień fabrycznych ........................................................................ 76
Opróżnianie pamięci podręcznej ............................................................................. 76
Instalowanie pliku .zip z karty SD ............................................................................ 77
Tworzenie kopii zapasowej i przywracanie stanu urządzenia .............................. 78
Montowanie partycji i zarządzanie pamięcią ......................................................... 80
Zaawansowane opcje .................................................................................................. 8 1
Kopie zapasowe i przywracanie stanu p o poważnych awariach ................................ 83
Środki ostrożności związane z udanym hakowaniem i przywracaniem danych .. 83
Archiwizowanie aplikacji .......................................................................................... 84
Tworzenie kopii zapasowej za pomocą programu do przywracania systemu ... 84
Tworzenie kopii zapasowej za pomocą aplikacji .................................................... 85
Co zrobić, kiedy wystąpią poważne problemy? ...................................................... 85

Rozdział 5. Kompozycje - cyfrowa operacja plastyczna .......................................... 87

Modyfikowanie wyglądu i stylu Androida .................................................................... 88


Modyfikowanie launchera ......................................................................................... 88
Modyfikowanie niestandardowego launchera ........................................................ 88
Narzędzia stosowane do modyfikowania kompozycji ................................................. 89
APKManager ............................................................................................................... 89
Pakiet SDK Androida ................................................................................................. 90
Eclipse ........................................................................................................................... 90
Wybrany ROM ............................................................................................................ 90
7-Zip ............................................................................................................................. 91
Paint.NET .................................................................................................................... 9 1
6 Spis treści

Kreator plików update.zip ......................................................................................... 9 1


Amend2Edify .............................................................................................................. 9 1
Procedura wprowadzania zmian .................................................................................... 92
Procedura tworzenia plików kompozycji ................................................................ 92
Procedura tworzenia gotowego do instalacji pliku .zip ......................................... 96

Rozdział 6. Zdobyłeś uprawnienia administratora - co dalej? ................................ 99

Popularne niestandardowe ROM-y działające w różnych urządzeniach ................ 100


CyanogenMod ........................................................................................................... 100
Projekt Android Open Kang ................................................................................... 100
VillainROM ............................................................................................................... 1 0 1
Modyfikacje jądra ........................................................................................................... 1 0 1
Powiadomienia z podświetlaniem .......................................................................... 1 0 1
Poprawki z serii Voodoo ......................................................................................... 1 0 1
Poprawki związane z wydajnością i czasem pracy na baterii ............................. 102
Aplikacje działające z poziomu konta root ................................................................. 103
SetCPU ....................................................................................................................... 103
Adfree Android ......................................................................................................... 103
Chainfire 3D .............................................................................................................. 1 04
Titanium Backup ...................................................................................................... 1 04

CZĘŚĆ II PORADNIKI DOTYCZĄCE


KONKRETNYCH URZĄDZEŃ I PRODUCENTÓW
Rozdział 7. HTC EVO 3D - zablokowane urządzenie ........................................... 109

Tymczasowy dostęp do konta root ............................................................................... 1 1 0


Wymagania związane z włączaniem opcji S-OFF
i trwałym dostępem do konta root ............................................................................. 1 1 1
Uruchamianie narzędzia Revolutionary ................................................................ 1 1 2
Instalowanie niestandardowego programu do przywracania systemu ............. 1 14
Instalowanie pliku binarnego dającego dostęp do konta root ........................... 1 1 5
Instalowanie aplikacji SuperUser ........................................................................... 1 1 5

Rozdział 8. Nexus One - urządzenie z możliwością odblokowania ...................... 117

Dostępne techniki rootowania ...................................................................................... 1 1 8


Zasoby potrzebne do wykonania procedury ............................................................... 1 1 8
Procedura ......................................................................................................................... 1 18
Uruchamianie Nexusa One w trybie Fastboot ..................................................... 1 1 9
Przenoszenie partycji rozruchowej ........................................................................ 1 20
Pełny dostęp do konta root ..................................................................................... 1 2 1
Instalowanie niestandardowego programu d o przywracania systemu ............. 1 22
HAKOWANIE ANDROIDA 7

Rozdział 9. HTC ThunderBolt - ściśle zablokowane urządzenie .......................... 125

Możliwe metody rootowania ......................................................................................... 1 26


Zasoby potrzebne w tej procedurze .............................................................................. 1 26
Procedura ......................................................................................................................... 1 27
Zapisywanie plików w urządzeniu ......................................................................... 1 27
Tymczasowy dostęp do konta root ........................................................................ 1 28
Sprawdzanie sygnatury MD5 pliku ........................................................................ 1 28
Zapisywanie tymczasowego programu rozruchowego ....................................... 1 29
Instalowanie starszej wersji firmware'u ................................................................. 1 29
Tymczasowy dostęp do konta root w celu odblokowania pamięci MMC ........ 130
Zastępowanie programu rozruchowego ................................................................ 131
Aktualizowanie firmware'u ..................................................................................... 132

Rozdział 10. Droid Charge - instalowanie oprogramowania z a pomocą ODIN-a .. 133

Zasoby potrzebne w omawianej procedurze ............................................................... 134


Procedura ......................................................................................................................... 1 34
Podłączanie ODIN-a do urządzenia ...................................................................... 134
Przenoszenie plików ................................................................................................. 135
Rozwiązywanie problemów ........................................................................................... 136

Rozdział 11. Nexus S - odblokowane urządzenie .................................................. 137

Podłączanie urządzenia do komputera ........................................................................ 138


Zasoby potrzebne w omawianej procedurze ............................................................... 138
Procedura ......................................................................................................................... 138
Odblokowywanie urządzenia .................................................................................. 138
Instalowanie programu do przywracania systemu .............................................. 139
Instalowanie aplikacji SuperUser ........................................................................... 139

Rozdział 12. Motorola Xoom - odblokowany tablet z systemem Honeycomb .... 141

Zasoby potrzebne w procedurze ................................................................................... 142


Procedura ......................................................................................................................... 1 42
Umieszczanie na karcie SD pliku dającego dostęp do konta root ..................... 142
Odblokowywanie Xooma ........................................................................................ 142
Instalowanie programu do przywracania systemu .............................................. 143
Instalowanie programu dającego pełny dostęp do konta root ........................... 144

Rozdział 13. Nook Color - rootowanie za pomocą rozruchowej karty SD ........... 147

Zasoby potrzebne w omawianej procedurze ............................................................... 148


Procedura ......................................................................................................................... 148
Tworzenie rozruchowej karty SD ........................................................................... 148
Rozruch urządzenia z karty SD ............................................................................... 149
Zwiększanie przydatności urządzenia ................................................................... 149
8 Spis treści

Dodatek A Konfigurowanie pakietu SDK Androida i narzędzia ADB .................. 151

Instalowanie pakietu JDK .............................................................................................. 151


Instalowanie pakietu SDK Androida ........................................................................... 1 52
Instalowanie narzędzi platformy .................................................................................. 1 53
Konfigurowanie zmiennych środowiskowych systemu Windows .......................... 155

Skorowidz .................................................................................................................. 157


PO DZI ĘKOWAN IA OD WYDAWCY ORYG I NAŁU
Oto niektóre spośród osób, które przyczyniły się do pojawienia tej książki na rynku:

REDAKCJA I PRODUKCJA
Wiceprezes ds. publikacji popularnych i technicznych - Michelle Leete
Zastępca redaktora ds. zarządzania treścią książek - Martin Tribe
Redaktor wykonawczy - Chris Webb
Zastępca redaktora - Ellie Scott
Redaktor prowadzący - Shena Deuchars
Edytor - Shena Deuchars
Redaktor techniczny - Akshay Dashrath
Kierownik redakcji - Jodi Jensen
Starszy redaktor projektu - Sara Shlaer
Asystent redaktora - Leslie Saxman

MARKETING
Zastępca dyrektora ds. marketingu - Louise Breinholt
Starszy menedżer w dziale marketingu - Kate Parrett

SKŁAD
Skład - Indianapolis Composition Services
Korektor - Linda Seifert
Indekser - Estalita Slivoskey
o AUTORACH

Jason TyIer jest szkoleniowcem z branży IT, a obecnie zajmuje stanowisko dyrektora
ds. technologii w firmie Typefrag.com. Jest zapalonym hakerem Androida - rootuje
i romuje każdy telefon z Androidem, który trafia w jego ręce (jego pierwszym
telefonem był OG Droid).

Will Verduzco ukończył studia z zakresu neurobiologii na Uniwersytecie Johna Hopkinsa,


a obecnie studiuje medycynę. Ponadto zajmuje się administrowaniem portalem XDA
Developers, a od czasu zakupu telefonu HTC Wizard jest uzależniony od technologii
przenośnych. Jednak od momentu pojawienia się telefonu Nexus One miłość Willa
do gadżetów koncentruje się wokół małego zielonego robocika Google'a.
PRZEDMOWA

Witrynę XDA Developers (lub tylko XDA) uruchomiono w 2003 roku. Może się
wydawać, że dziewięć lat to niedużo, jednak w tym czasie Facebook jeszcze nawet
nie powstał. iPhone i pierwszy telefon z Androidem pojawiły się dopiero w 2007 roku.
Dlatego w kontekście internetu witryna XDA jest stara, a w kategoriach smartfonów
- prehistoryczna.

Adres URL xda-developers.com jest nietypowy. W odróżnieniu od adresów większości


popularnych witryn nie jest ani pomysłowy, ani krótki, ani chwytliwy. Powód jest
prosty - witryna ta nie powstała dla Ciebie. Nigdy nie przewidywaliśmy nagłego
wzrostu popularności smartfonów, a nawet jeśli mieliśmy na to nadzieję, nigdy nie
przyszłoby nam do głowy, że dla milionów użytkowników ciekawe będzie to, co dzieje
się na naszym małym, przeznaczonym dla programistów forum.

Witrynę XDA utworzono z myślą o programistach. Nadal jest to serwis głównie dla
nich. Są to niezwykle inteligentni, przeważnie altruistyczni i pracowici ludzie, którzy
(bezpłatnie) dzielą się z innymi swoimi dokonaniami. Kiedy programiści natrafią na tę
książkę, zaczną się martwić, że witryna zostanie zalana (jeszcze większą) grupą nowicjuszy
zadających męczące pytania i przedstawiających irytujące prośby. Programiści zobaczą
tytuł książki, z nadużywanym słowem na "h", i złapią się za głowy.

Dlaczego więc serwis XDA zdecydował się firmować swoją nazwą ten przewodnik?
Mamy mówić szczerze? Ponieważ nie możemy nikomu zabronić wizyt w naszej witrynie,
a wolimy, żeby odwiedzające nas osoby miały choć trochę wiedzy. Ludzie spędzają
więcej czasu na dotykaniu swoich telefonów niż na dotykaniu partnerów. Wiele spośród
tych osób chce móc w pełni dostosować telefon do swoich potrzeb (co w przypadku
partnerów jest zwykle niemożliwe). Użytkownicy chcą usunąć ograniczenia wbudowane
w urządzenia przez operatorów komórkowych i producentów oraz sprawić, że telefony
będą dostosowane do nich.
1 2 Przedmowa

Jednym z autorów tej książki jest pracownik serwisu XDA. Celem autora było podzielenie
się swoim entuzjazmem dotyczącym materiałów znalezionych we wspomnianej witrynie
i w innych zakątkach internetu, a pozwalających dostosować system operacyjny
Android do własnych potrzeb. Ponadto chciał zarazić Cię tym entuzjazmem, a także
przedstawić Ci narzędzia, które pozwalają zamienić ekscytację w czyny. Możliwe,
że część tekstu tej książki jest nieaktualna w momencie, w którym ją czytasz. Dotyczy
to większości pozycji technicznych. Tu jednak nie stanowi to problemu. Nawet jeśli
informacje okażą się nieco przestarzałe (a także jeżeli nie posiadasz żadnego z urządzeń
opisanych w rozdziałach z praktycznymi wskazówkami), zachęcamy do uważnej
lektury. Pozwoli Ci to lepiej zrozumieć zamieszczone w witrynie XDA informacje
na temat Twojego telefonu.

Ponieważ XDA to serwis dla programistów, zależy nam na tym, abyś szanował osoby,
które ciężko pracowały, by inni mogli teraz korzystać z ich dokonań. Chcemy, abyś
odpowiedzialnie korzystał z witryny. Postaraj się przeczytać dostępne informacje przed
zadaniem pytania, poznaj zagrożenia związane z rootowaniem i dostosowywaniem
urządzeń, a kiedy zdobędziesz trochę doświadczenia, pomagaj innym i wnieś wkład
w rozwój społeczności.

Zespół administratorów witryny XDA


WPROWADZENIE

Nie bez powodu większość geeków interesujących się Androidem patrzy z góry
na użytkowników innych popularnych systemów operacyjnych na smartfony.
Użytkownicy iPhone' a mają ograniczone możliwości z uwagi na zamknięty dostęp do
kodu źródłowego i ściśle kontrolowane środowisko. Dla porównania Android pozwala
programistom rozebrać na części i zbudować od nowa prawie każdy składnik systemu
operacyjnego. Oprócz rozwijanych przez programistów aplikacji istnieje też bogaty
zestaw bardziej zaawansowanych elementów - niestandardowe jądra i ROM-y,
kompozycje, narzędzia do zmiany taktowania procesorów itd.

W większości sytuacji zainstalowanie takich elementów wymaga pełnego dostępu


(czyli dostępu do konta root urządzenia). Książka ta ma zapoznać Cię z narzędziami
i słownictwem z obszaru hakowania Androida, pomóc Ci przyjąć nastawienie typowe
dla użytkownika konta root, a także ułatwić znalezienie w internecie najwartościowszych
materiałów, które pozwolą dodatkowo wzbogacić wiedzę.

ZACZN IJ MY OD POCZĄTKU - CZYM J EST XDA?


Witryna XDA Developers (http://www.xda-developers. com) to największa internetowa
społeczność użytkowników smartfonów. Powstała w 2003 roku i jak wskazuje nazwa,
jest przeznaczona głównie dla programistów. Człon XDA pochodzi od rodziny telefonów
z systemem Windows Mobile, sprzedawanych pod marką 02, a produkowanych przez
małą wówczas tajwańską firmę High Tech Computer Corporation (HTC). Oto fragment
historii witryny XDA:

Założyciele witryny bardziej niż 02 i HTC wierzyli, że pierwsze urzqdzenia 02 XDA


majq duży potencjał. Ponieważ byli geekami, złamali zabezpieczenia urzqdzeń i zaczęli
rozwijać rozwiqzania wykraczajqce poza stosunkowo nieciekawe pierwotne wersje
oprogramowania. Aby poinformować o tym innych, założyli małq witrynę i oczywiście
nazwali jq xda-developers. Poczqtkowo zespół liczył około 1 0 osób (w 2003 roku).
1 4 Wprowadzenie

Wraz z pojawianiem się nowych telefonów administratorzy witryny XDA tworzyli nowe fora.
Witryna rozwijała się w duchu współpracy i budowania społeczności. XDA nie jest
stowarzyszeniem programistów. Witryna jest tylko miejscem, gdzie programiści się kontaktują.

Dzięki niewielkiej grupie założycieli witryna XDA stała się znana jako źródło informacji
o wzbogacaniu możliwości telefonów i naprawianiu zepsutych urządzeń. Ponieważ
serwis przyciągał coraz więcej osób, powstało miejsce, w którym pasjonaci mogą
wspólnie czerpać radość z programowania urządzeń przenośnych. Początkowo witryna
XDA skupiała grupę kilkudziesięciu entuzjastów, geeków i programistów. Obecnie
miesięcznie serwis jest odwiedzany przez ponad 10 milionów osób, a każdego dnia
przybywają tysiące ciekawych wpisów.

Materiał prezentowany w książce jest w dużym stopniu oparty na dokonaniach


fantastycznej społeczności skupionej wokół witryny XDA. Pozycja ta jest połączeniem
pracy wykonanej przez tę społeczność, mojego doświadczenia w prowadzeniu szkoleń
z zagadnień technicznych, a także mojej pracy na stanowisku programisty Androida.
Książka ma dla początkujących hakerów Androida stanowić punkt wyjścia.

Fora XDA stały się najważniejszym punktem docelowym dla osób szukających informacji
o urządzeniach przenośnych - ich naprawianiu, hakowaniu i ogólnie wzbogacaniu względem
wersji udostępnianych przez producentów. Strona http://forum.xda-developers.com jest
podzielona na fora poświęcone poszczególnym urządzeniom. Każde forum skupia małą
grupę osób pracujących nad danym urządzeniem i pasjonujących się nim, a także tysiące
pomocnych użytkowników. Kiedy wejdziesz na stronę XDA, możesz kliknąć odnośnik
Forums i poszukać odpowiedniego urządzenia (rysunek W.l.).

i1i
�.. ... �".
372" Put:s"
. IQl �t.mavl
TH·.y. �3,,}2
..",,,bridto.oL.
... M D
..
tly,vo.u, r<t!!o

.... .... f"'�t,_fw_


H!
y, ..,.,IfA'j'oII:"''''1'1'II D
6�: Hł�<m P:ł""'ł�

�:�� e ���k�81\fl . "PMM._


:;. D
By: h�ti2l)111

1.1'UtT�,..,,,I� ... .. {�.'b."t..p)-..


I> ł-
..
Ui:
: ' 18 I'O.t:> , ........... U.(Jo;.:'1AN D
ey:�ł(�

Samsung Captivate Ą

""*łn- .Is: .. �o....LO�thH_


:5S,;JU;Pun TNł'f,(I:k3''''M D
...
6�: "'''P .!;>)O:)

l'lłl'".-"· ...........ł ..f"'.. r�


1"':"\I.oU::$ł;.::::l'AIIII D
Sy:F�ł...s

!�;;:.:� e��(j';;;-::'� D
8y:Jmu,�3
2�":'��:':� e �:.r:i .f���;�I::�jll�-_ H D
!ly: ....rt:.�t..·!3tn(f5

....
L1'nTh,ncl.. X�""Di"'s
3:ł.'i64Pos"" T,,<l� 02>!5I"".M D
8�: 9-eDlat.

Samsung Vihrant '"

�"''ff'.r,..,II', (l.!Iwll...
., .. tot.,.II'H,...,... ,.IłI
•••
7.1.7*5 Put:< T.ełl'••)3:39 A!oI
!ly:j,,"�nh rt. ..

Rysunek W. 1 . Fora poświęcone poszczególnym urządzeniom na stronie httpJlforum xda-developers com


HAKOWANI E AND ROIDA 1 5

PRZESZKODY
Zrootowanie urządzenia daje bardzo duże możliwości. Pozwala między innymi na:
• zarchiwizowanie wszystkich aplikacji i ich danych;
• zainstalowanie aplikacji Google'a, jeśli nie znajdowały się w urządzeniu;
• zmianę taktowania urządzenia (przyspieszenie i usprawnienie jego pracy) ;
• naprawienie błędów producenta, związanych na przykład z GPS-em lub zrywaniem
połączeń;
• zastosowanie bezprzewodowego tetheringu w celu szybkiego utworzenia hotspotu;
• całkowitą zmianę i dostosowanie interfejsu użytkownika.
Osoby, które zdecydują się zaryzykować i zrootować urządzenie z Androidem, mogą
wykonywać wszystkie te i inne operacje. Trzeba jednak pamiętać o dwóch kwestiach.
Zanim przejdziesz do dalszej lektury, wiedz, że nawet myślenie o zrootowaniu
urządzenia powoduje utratę gwarancji.
To oczywiście żart, jednak wprowadzenie zmian opisanych w książce powoduje utratę
gwarancji producenta, a także wykupionej gwarancji dodatkowej. Producenci
i operatorzy każdego tygodnia sprzedają miliony urządzeń przenośnych. Część tych
urządzeń jest wadliwa i wymaga wymiany lub naprawy przez sprzedawcę. Jeśli jednak
użytkownik manipulował przy sprzęcie, na którego opracowanie wydano miliony
dolarów, operatorzy i producenci nie ponoszą odpowiedzialności za problemy.
Od tej reguły nie ma wyjqtków. Większość producentów, operatorów i firm
świadczqcych pomoc technicznq natychmiast odrzuca żqdania naprawy lub
wymiany, jeśli użytkownik zmodyfikował oprogramowanie, firmware lub sprzęt.
Nawet urzqdzenia "dla programistów", takie jak telefony z rodziny Nexus, nie sq
objęte pomocq technicznq, jeśli użytkownik zmodyfikował oprogramowanie.
Drugi poważny problem związany jest z możliwością nieodwracalnego uszkodzenia
urządzenia. W języku hakerów urządzeń przenośnych takie zjawisko jest nazywane
brickingiem (czyli zamianą w cegłę), ponieważ w jego wyniku wart półtora tysiąca
złotych smartfon zmienia się w coś równie przydatnego jak właśnie cegła. Niektóre
exploity używane do rootowania urządzeń wymagają ścisłego przestrzegania procedur,
gdyż najmniejszy błąd może prowadzić do uszkodzenia sprzętu.
Pewne urządzenia są odporniejsze od innych i mniej podatne na uszkodzenia. Na przykład
pierwszy telefon Motorola Droid Verizonu był znany z tego, że prawie nie dało się go
uszkodzić. Jednak nawet ten ceniony Droid zdarzało się zepsuć pochopnym lub
nadmiernie ryzykanckim hakerom.
Wiele samouczków z tej książki (tych dotyczących zarówno rootowania, jak i wprowadzania
innych zmian) wymaga znajomości okna wiersza poleceń. Przykładowe okno przedstawiono
na rysunku W.2. Jeśli jesteś typowym użytkownikiem systemu Windows, prawdopodobnie
nie korzystasz zbyt często z wiersza poleceń. Choć istnieją skróty, skrypty i inne możliwe
rozwiązania, zachęcam do zapoznania się z wierszem poleceń. Kiedy dojdziesz do
rozdziału 4., będziesz specjalistą od tego narzędzia.
1 6 Wprowadzenie

Rysunek W.2. Okno wiersza poleceń

Większość operacji opisanych w książce wymaga możliwości podłączenia urządzenia


do komputera. Ponadto komputer musi mieć wszystkie sterowniki potrzebne
do komunikowania się z urządzeniem. Jeśli nie wiesz, czy Twój sprzęt spełnia
te wymagania, zapoznaj się z dodatkiem A (dotyczy on podłączania telefonu
do komputera). Najlepszy sposób na to, aby umożliwić połączenie konkretnego
urządzenia z komputerem, to poszukanie sterowników na forach XDA. Nie musisz
godzinami szukać odpowiednich sterowników, jeśli jedna z pracowitych osób z serwisu
XDA już to zrobiła.

Inną przeszkodą, która może powstrzymać początkującego hakera, jest to, że większość
operacji związanych z hakowaniem urządzeń z systemem Android wymaga zainstalowania
na komputerze pakietu SDK (ang. Software Development Kit). W dodatku A opisuję
konfigurowanie tego pakietu i zwracam uwagę na kilka narzędzi potrzebnych do
hakowania urządzeń z Androidem.

Dla użytkowników wielu urządzeń ryzyko jest mniejsze, ponieważ programiści i hakerzy
opracowali skrypty, uruchamiane jednym kliknięciem techniki i narzędzia pomocnicze
przeznaczone do rootowania oraz dostosowywania urządzeń. Fora XDA skupiają
fantastyczną społeczność ciekawych i niezwykle inteligentnych ludzi, którzy pomogą Ci
wydobyć się z większości problemów, na jakie możesz natrafić w czasie hakowania telefonu.

Aby znaleźć bogate informacje na temat swojego urządzenia, które bez wątpienia są
dostępne, należy przejść na poświęcone mu forum. Odpowiednie forum można znaleźć
na kilka sposobów. Jedna z możliwości to ręczne wyszukanie forum w indeksie,
co jednak może być kłopotliwe z uwagi na dużą liczbę urządzeń.

Łatwiejszy sposób to użycie pola Pind Your Device w prawym górnym rogu strony
(rysunek W.3., górna część) . Wystarczy wpisać nazwę urządzenia lub tylko kilka jej
liter, a pojawi się lista wszystkich pasujących forów. Inna możliwość to przejście
do urządzeń konkretnego producenta za pomocą menu rozwijanego Devices by OS
or Manufacturer w górnej środkowej części strony (rysunek W.3., dolna część) .
Jeśli nadal chcesz zrootować urządzenie, dostosować je do własnych potrzeb i zerwać
okowy producentów, pamiętaj, że robisz to na własne ryzyko. Musisz pogodzić się
z możliwością uszkodzenia - także nieodwracalnego - urządzenia. Wydawnictwo
Helion, witryna XDA Developers oraz autorzy nie odpowiadają za ewentualne
przekształcenie pięknego, lśniącego telefonu z Androidem w drogi przycisk do papieru.

Otrzymałeś przestrogę.
HAKOWANI E AND ROIDA 1 7

xdadeveloper5 � � mo, � I
[ Motorola xoom
A l I I I • I, \NekJrllP .\ d ) C�

ft > Expanded Forum bdex I CorrpaCl. VIew 'ou list YI$Ied Todlly at OS.4SAW
) Current Oevlces ILegacy & LDw ActNlly OIwlCUlAndrtlcllWndowal.lobJelWndowsPhone ITablełs Your HoL.flcItIona • V

General discussion A

forums Stats lasl Post

O
AboUł Kda-developers.com 2,714 Thrtadł " - New Dev.:e forum Votmg_
AIlytłll'lg lO do more wilII the de mir! watt tłle płlOł'IU F"ature requnt.. 34,224 PGm" Todły, 06:10 AU a
Innouncement.-, prlIise, mo.nin",. de. 6y:ldhbar

Generał Are Lum.. 1OO Good 1

xdadeveloper5 Oevices by OS ar Manufacłurer

AIl windows Mobile 02,,1(25


�mo,�
A I j • AlI Android WelcJrll €' ' ,d' , C�
Oevices

ft ) Expanded Forum Irtdex I Conr;acl Vlew HTC Devm 'ouMtvlSłed T0d8yat05-ł5AI.I


) Current DevIces IL9CY & Lew Ąctf.liły o. elTablets Your łłooLfteltIons II; \7
A.cer Devk.es •

All Dell O_vkes


General discussion
AU LG Devlces
Forums Stats lasl Post

Al! Motorola Dev!cęs

O
About xda-developers.com 4 Threads !!:- -- New Oewce fOł'"um Voting_.
AByłtmg lo do morewIli theslemlln w.n 1ł\e Samsung Devices • ,mPo,ts " Today,06.10AU a
InnOUnOllTlltnlł,prl.a,molnnO,etc. By-dlbllr
AU Toshiba Devices
�nera� 1'9 Threads Aro Lum6a lOG Good 1
nvoW
esalOfihe esanddoc. Sony Ericsson Devices" ,14SPoIlS TOCłay, OS_I SAJI a

Rysunek W.3. Wyszukiwanie urządzenia za pomocą nazwy (u góry) lub producenta (u dotuj

DLA KOGO PRZEZNACZO NA J EST TA KSIĄŻKA?


Książka ta jest przeznaczona dla użytkowników Androida, którzy chcą zacząć hakować
urządzenia z tą platformą. Jeśli słyszałeś coś o rootowaniu urządzeń z Androidem
i zastanawiałeś się, co to oznacza i jak to zrobić, jest to książka dla Ciebie. Jest ona
przeznaczona także dla osób, które chcą w większym stopniu wykorzystać możliwości
Androida i usprawnić jego działanie oraz wzbogacić funkcje.

MATER IAŁ OMAWIANY W KSIĄZCE


W książce tej znajdziesz ogólną wiedzę na temat Androida i zagadnień związanych
z urządzeniami przenośnymi. Część rozdziałów prezentuje umiejętności niezbędne
do rozpoczęcia hakowania i samodzielnej pracy. Omówiono instalowanie potrzebnych
narzędzi, na przykład pakietu SDK Androida. W dalszych rozdziałach opisano proces
rootowania wybranych urządzeń. Choć urządzenia, podobnie jak sam Android, bardzo
szybko się zmieniają, zapoznanie się z procedurą rootowania pozwala przygotować się
na wykonanie tej operacji we własnym urządzeniu.
1 8 Wprowadzenie

STRUKTU RA KS IĄZKI
Książka składa się z dwóch części. W pierwszej znajdziesz ogólne omówienie Androida
i powłoki. Umiejętność stosowania poleceń powłoki jest niezwykle ważna dla każdego
hakera Androida. W drugiej części opisano wykonywanie przykładowych operacji
na popularnych urządzeniach - od ściśle zabezpieczonych po otwarte. Procedury dla
niektórych urządzeń popularnych producentów omówiono szczegółowo, co pozwala
zobaczyć, jak zastosować zdobytą wcześniej wiedzę. W dodatku opisano konfigurowanie
środowiska pod kątem hakowania Androida.

CO J EST POTRZEB N E
DO KORZYSTAN IA Z TEJ KSIĄŻKI?
Potrzebne są komputer PC z systemem Windows (wersja XP lub nowsza), dostępny
port USB (nie zaleca się stosowania koncentratorów USB) i połączenie internetowe.
Naucz się też poruszać po forach XDA w poszukiwaniu najnowszych aktualizacji
i informacji. Androida można hakować także na komputerach Mac i z systemem Linux,
jednak ta książka jest przeznaczona głównie dla użytkowników komputerów Pc.
Jeśli chcesz wykonywać przykłady i procedury z samouczków, potrzebujesz też
urządzenia z Androidem.
,

CO MUSZĘ WIEDZlEC?

Rozdział 1 . Jak urządzenie rozpoczyna pracę? Mechanizmy Androida


Rozdział 2. Rootowanie urządzeń z Androidem
Rozdział 3. Wybór odpowiednich narzędzi
Rozdział 4. Rootowanie a instalowanie niestandardowych programów
do przywracania systemu
Rozdział 5. Kompozycje - cyfrowa operacja plastyczna
Rozdział 6. Zdobyłeś uprawnienia administratora - co dalej ?
JAK URZĄDZENIE ROZPOCZYNA
PRACĘ? MECHANIZMY ANDROIDA

W TYM ROZDZIALE:
• Na bazie pingwina - jądro linuksowe.
• Rozruch - jak urządzenie rozpoczyna pracę.
• Wprowadzenie do niestandardowych programów rozruchowych i programów
do przywracania systemu.

Aby w pełni zrozumieć proces rootowania urządzenia, pozwalający uzyskać kontrolę


i możliwości potrzebne do dostosowania telefonu, trzeba poznać działanie systemu
operacyjnego Android - między innymi przechodzenie od stanu, kiedy urządzenie jest
wyłączone, do momentu, w którym wszystkie jego komponenty działają. To w ramach
tego procesu programiści zwykle wykorzystują słabe punkty, aby uzyskać pełny dostęp
do urządzenia. Zwykle jeden z kroków w trakcie rozruchu umożliwia programiście
wstawienie fragmentu kodu lub skryptu i uzyskanie w ten sposób dostępu do funkcji,
której producent OEM (ang. Original Equipment Manufacturer) udostępniać nie zamierzał.

NA BAZI E PI N GWI NA
Android to system operacyjny oparty na jądrze linuksowym. Dzięki grupie Open
Handset i firmie Google Alliance Linux oraz jego maskotka, pingwin, trafili do
urządzeń z Androidem. Android jest mocno zmodyfikowaną dystrybucją Linuksa,
obejmującą liczne poprawki przeznaczone dla urządzeń przenośnych.

Jeśli znasz system operacyjny Linux, wiele aspektów Androida wyda Ci się znajomych. Jeżeli
korzystałeś z innych systemów operacyjnych z wierszem poleceń, na przykład z DOS-a lub
z wiersza poleceń w systemie Windows, także będziesz mógł wykorzystać swoje umiejętności.
22 ROZDZIAŁ 1 . Jak urządzenie rozpoczyna pracę? Mechanizmy Androida

Linux i ruch open source


Prace nad Linuksem rozpoczęto w 1991 roku, kiedy to Linus Torvalds zaczął rozwijać
w pełni bezpłatny system operacyjny o otwartym dostępie do kodu źródłowego,
przeznaczony dla hobbystów, uczelni i hakerów. System operacyjny Torvaldsa jest
obecnie jednym z najbardziej rozbudowanych i elastycznych na świecie. Początkowo
pracowała nad nim grupka nieznanych geeków, natomiast teraz każdego roku swój
wkład wnoszą tysiące programistów. Nad Linuksem, a także nad Androidem pracowały
jedne z największych sław z obszaru nauk komputerowych i programowania.

Linux nadal jest całkowicie bezpłatny i w całości otwarty. Dzięki temu firmy i osoby
prywatne mogą korzystać z możliwości urządzeń obliczeniowych bez martwienia się
o skomplikowane kwestie prawne i związane z prawem autorskim, charakterystyczne
dla oprogramowania o zamkniętym dostępie do kodu źródłowego.

Android jest implementacją systemu operacyjnego Linux. Liczne polecenia używane


w czasie hakowania urządzeń z Androidem to instrukcje linuksowe. Nie musisz jednak
być programistą, aby zostać hobbystą lub pasjonatem Androida. Dzięki lekturze tej
książki nauczysz się, jak eksplorować i modyfikować urządzenia z Androidem.

Między urządzeniami z Androidem a komputerami stacjonarnymi z Linuksem jest


wiele różnic. Najważniejsza dotyczy rozruchu urządzenia po włączeniu zasilania.
To właśnie w procesie rozruchu hakerzy i doświadczeni programiści szukają słabych
punktów, które można wykorzystać. Ponieważ Linux od dawna jest uznawany za
system operacyjny dla programistów, hobbystów i hakerów, wielu programistów
i profesjonalistów pracuje nad narzędziami pomagającymi w rootowaniu. Większość
trudnej pracy jest wykonywana na długo przed tym, jak haker Androida uzyskuje
dostęp do konta root na swoim urządzeniu.

Choć nie musisz być obeznanym z Linuksem nerdem, aby rootować i dostosowywać
urządzenia z Androidem, umiejętność korzystania z wiersza poleceń Linuksa (i innych
systemów) będzie przy tym pomocna. Doskonałym wprowadzeniem do wiersza
poleceń Linuksa jest drugie wydanie książki Linux Command Line and Shell Scripting
Bibie autorstwa Richarda Bluma (wydawnictwo Wiley, 20 1 1).

JAK U RZĄDZEN IA Z AN DROIDEM


ROZPOCZYNAJĄ PRACĘ?
Rozruch systemu operacyjnego Android jest skomplikowany i obejmuje wiele etapów.
Producenci chronią ten proces, aby zabezpieczyć zyski i zachować kontrolę nad
sprzedawanymi urządzeniami. Jednak natura procesu rozruchu Androida umożliwia
programistom i hakerom zastąpienie jego etapów w celu przejęcia pełnej kontroli nad
urządzeniem.
HAKOWANI E AND ROIDA 23

ROZRUCH
Rozruch (lub ładowanie) to pojęcie opisujące proces zachodzący w urządzeniu po jego
włączeniu. Następuje wtedy uruchomienie urządzenia. Po włączeniu zasilania w urządzeniu
z Androidem krótki, zapisany w pamięci fragment kodu inicjuje pamięć i procesor.
Programy rozruchowe w poszczególnych urządzeniach różnią się od siebie, choć
wszystkie wykonują podobne operacje - sprawdzają możliwości sprzętu i wczytują
pierwszą część systemu operacyjnego do pamięci urządzenia.

Zaszyfrowany program rozruchowy to w Androidzie początek wszystkiego.


Uniemożliwia on użytkownikom dostosowywanie firmware'u i oprogramowania.
Zabezpieczanie programu rozruchowego można porównać do wymuszania przez
producenta komputerów używania konkretnej wersji i określonej kompozycji systemu
Windows. Program rozruchowy to główny punkt sporu między właścicielami urządzeń
przenośnych a producentami. Wielu producentów nie chce umożliwiać dostępu do
kodu programu rozruchowego. Powodów takiego stanu rzeczy jest kilka. Można je
zaliczyć do następujących kategorii:
• Koszty realizowania gwarancji. Zmiana kodu programu rozruchowego może
trwale uniemożliwić korzystanie z urządzenia. Jest to problem dla producentów,
ponieważ zepsute urządzenia są oddawane w ramach gwarancji. Trudno jest ustalić,
czy awaria wynika z nierozsądnego podejścia użytkownika, czy z defektu fabrycznego.
Dlatego czasem trzeba wymienić urządzenie, które zawiodło nie z winy producenta.
Wymiana uszkodzonych urządzeń pociąga za sobą koszty, które mogą być
przenoszone na klientów.
• Konieczność zabezpieczenia umów z operatorami. Operatorzy otrzymują
pieniądze za instalowanie w urządzeniach aplikacji niezależnych producentów.
Wiele firm - od wypożyczalni samochodów po początkujące serwisy z filmami
- udostępnia aplikacje mobilne. Aby zwiększyć popularność swoich produktów,
firmy płacą operatorom za instalowanie aplikacji w urządzeniach. Żeby użytkownicy
korzystali z danej aplikacji, operator uniemożliwia jej usunięcie. W końcu nie po to
serwis Blockbuster płaci setki tysięcy dolarów za umieszczenie aplikacji w urządzeniach,
aby użytkownicy usuwali ją zaraz po wyjściu ze sklepu, żeby zrobić miejsce na grę
Angry Birds. Zabezpieczenie programu rozruchowego umożliwia operatorom
i dostawcom nadanie niektórym programom statusu aplikacji systemowych.
Na takich aplikacjach nie można wykonywać standardowych zadań administracyjnych,
jak usuwanie lub przenoszenie na kartę SD.
• Planowe starzenie się oprogramowania. Dla producentów niekorzystne jest
udostępnianie długo używanych urządzeń. Cykl rozwijania i wprowadzania na rynek
nowych urządzeń przenośnych jest niezwykle krótki. W momencie wprowadzania
urządzenia do sprzedaży często trwają już prace nad nową wersją. W nowych
wersjach Androida wprowadzane są żądane przez użytkowników dodatkowe
funkcje i zmiany poprawiające stabilność. Ponieważ zyski producentów zależą od
sprzedaży nowych mechanizmów i najnowszego Androida, firmy muszą sprawić,
24 ROZDZIAŁ 1 . Jak urządzenie rozpoczyna pracę? Mechanizmy Androida

aby klientom zależało na nowinkach. Jeśli klienci mogliby samodzielnie


aktualizować system operacyjny i oprogramowanie, nie musieliby kupować
najnowszych urządzeń od producenta lub operatora.
Tak więc planowe starzenie się oprogramowania wymuszane przez operatorów
i producentów ma prowadzić do tego, aby klienci wydawali więcej pieniędzy
na najnowsze wersje Androida. Jeśli użytkownicy zaczną hakować urządzenia
i instalować aktualizacje na wciąż dobrych urządzeniach, kupionych na przykład
pół roku wcześniej, producenci zarobią mniej.

Program rozruchowy jest uruchamiany jako pierwszy kod po włączeniu urządzenia


z Androidem. Rozruch to zwykle proces dwuetapowy, podczas którego uruchamiane
są programy rozruchowe pierwszego i drugiego poziomu.

W większości urządzeń z Androidem programu rozruchowego pierwszego poziomu


nie można zastąpić. Wynika to z tego, że jest on zapisany na stałe w układzie ASIe
(ang. application-specific integrated circuit) urządzenia. Te zapisane na stałe instrukcje
wczytują do pamięci program rozruchowy drugiego poziomu oraz informują o lokalizacji
pamięci, procesora i systemu operacyjnego, a także o tym, jak uzyskać dostęp do tych
komponentów.

N I ESTAN DARDOWY PROG RAM ROZRUCHOWY


Niestandardowy program rozruchowy to program rozruchowy drugiego poziomu,
dający użytkownikowi większy niż normalnie dostęp do systemu plików. Niestandardowe
programy rozruchowe umożliwiaj ą zastępowanie plików systemu operacyjnego,
co pozwala na przykład zmienić interfejs użytkownika lub zastosować wydajniejsze
jądro. Mimo obiekcji producentów hakerzy próbują przerwać standardowy proces
rozruchu i wykorzystać niestandardowe programy rozruchowe pozwalające zhakować
urządzenie.

Ponoszenie odpowiedzialności za skutki hakowania


Warto pamiętać, że po zhakowaniu urządzenia to użytkownik odpowiada za ewentualne
problemy. Nieuczciwe i nieetyczne jest robienie z urządzeniem rzeczy, które trwale je
uszkadzają, i późniejsze domaganie się od operatora lub producenta wymiany sprzętu.
Dobrzy hakerzy wiedzą, jakie mogą być skutki ich działań, i ponoszą odpowiedzialność
za popełnione błędy. Zadbaj o to, aby nie przyczyniać się do nasilenia złego nastawienia
producentów i operatorów wobec hakerów. Nigdy nie domagaj się wymiany urządzenia,
które uszkodziłeś w wyniku hakowania. Dowiedz się, jak naprawić sprzęt, lub weź na
siebie odpowiedzialność za błędy i kup nowe urządzenie.
HAKOWANI E AND ROIDA 25

JAK PRZEB I EGA ROZR UCH?


Rozruch urządzeń z Androidem obejmuje kilka etapów. Kroki opisane poniżej
i przedstawione na rysunku 1 . 1 są uproszczone. Pokazano tu uniwersalny proces,
zgodny z tymi w większości urządzeń z Androidem.

Włączenie urządzenia
z Androidem

Rozruchowa pamięć ROM


wczytuje program rozruchowy

t
pierwszego poziomu

2
Program rozruchowy pierwszego poziomu
i nicjuje pamięć i uruchamia program

J
rozruchowy drugiego poziomu

3
Program rozruchowy d rugiego poziomu
sprawdza zabezpieczen ia firmware'u
i wczytuje jądro systemu operacyjnego Android

4
t
Uruchomione jądro Androida
może wczytywać oprogramowanie
i korzystać ze sprzętu

Rysunek 1 . 1 . Proces rozruchu urządzenia z Androidem

l. Specjalny kod w rozruchowej pamięci ROM znajduje program rozruchowy


pierwszego poziomu i wczytuje go do pamięci. Rozruchowa pamięć ROM
to układ ASIe z zapisanym na stałe kodem.
2. Program rozruchowy pierwszego poziomu po zainicjowaniu pamięci
i przygotowaniu sprzętu wczytuje program rozruchowy drugiego poziomu.
Program rozruchowy sprawdza, czy włączona jest opcja bezpieczeństwa (S-ON). Jeśli
tak, program wczytuje tylko podpisane (oficjalne) jądra. Jeżeli opcja bezpieczeństwa
jest wyłączona (S-O FF), program nie sprawdza podpisów. Ustawienie S-OFF prowadzi
też do pominięcia innych zabezpieczeń. Umożliwia to zapis w całym systemie
plików i wykonywanie innych operacji, takich jak zainstalowanie w urządzeniu
niestandardowego programu do przywracania systemu.
To na tym etapie wczytuje się niestandardowy program rozruchowy. Najważniejszym
celem w czasie hakowania urządzeń jest wczytanie niestandardowego programu
rozruchowego, tak aby można było wczytać niestandardowe jądro.
Do przesyłania do urządzenia niskopoziomowych poleceń, dotyczących na przykład
zapisu plików w systemie operacyjnym, służy protokół Fastboot (zobacz rozdział 3.).
Większość producentów blokuje fabrycznie obsługę tego protokołu. Ponieważ
protokół ten jest blokowany (lub włączany) przez program rozruchowy drugiego
poziomu, odpowiedzialny za to fragment kodu jest zwykle szyfrowany lub w inny
sposób chroniony przez producenta. W niektórych urządzeniach, takich jak Nexus
i Xoom, możliwe jest jednak włączenie protokołu Fastboot.
26 ROZDZIAŁ 1 . Jak urządzenie rozpoczyna pracę? Mechanizmy Androida

3. Program rozruchowy wczytuje jądro Linuksa i niestandardowe elementy do pamięci.


Na tym etapie program rozruchowy przekazuje kontrolę nad sprzętem jądru
Linuksa. Jądro to i niestandardowe elementy oprogramowania lub firmware'u
zwykle znajdują się w jednym pakiecie. W niektórych urządzeniach pakiet ten nosi
nazwę ROM. Jest ona trochę myląca, ponieważ pamięć NAND nie służy tylko do
odczytu. W innych urządzeniach trzeba zapisać w pamięci niestandardowy obraz
(w formacie IMG), a w jeszcze innych - pakiet z jądrem z pliku RUU. Niezależnie
od tego, w jaki sposób pakiet z jądrem jest umieszczany w urządzeniu, program
rozruchowy musi znać lokalizację tego pakietu, aby móc przekazać mu sterowanie.
4. Ostatnim etapem jest uruchamianie procesu inicjującego (procesu INIT). Daje on
początek wszystkim innym procesom uruchamianym w urządzeniu. Inicjuje wszystkie
procesy potrzebne do uzyskania dostępu do sprzętu i działania urządzenia. Ponadto
uruchamia procesy maszyny wirtualnej Dalvik, w której wykonywana jest większość
aplikacji.

Ważne jest, aby zrozumieć, że w procesie rozruchu większość operacji związanych


z rootowaniem urządzenia z Androidem służy do osiągnięcia jednego (lub obu)
z dwóch celów. Oto te cele:
• ustawienie opcji S-O FF, co pozwala wczytać własny niestandardowy pakiet z jądrem;
• zainstalowanie niestandardowego programu rozruchowego drugiego poziomu, co
pozwala zignorować ustawienie S-ON lub S-OFF oraz wczytać własny niestandardowy
pakiet z jądrem.

W niektórych urządzeniach nie da się osiągnąć żadnego z tych celów. Dlatego trzeba użyć
innych sztuczek, aby dostosować urządzenie do potrzeb. Także urządzenia z w pełni
zaszyfrowanymi programami rozruchowymi, takie jak Milestone i DroidX, można
w pewnym zakresie zmodyfikować. Poziom zmian, które można wprowadzić w tych
urządzeniach, jest ograniczony, a proces modyfikowania jest zwykle bardziej
skomplikowany.

N I ESTAN DAR DOWY PROGRAM


DO PRZYWRACAN IA SYSTE M U - ŚWI ĘTY G RAAL
Program do przywracania systemu to odrębny, niezależny fragment kodu na partycji.
Kod ten można załadować w celu zaktualizowania Androida lub zarządzania
urządzeniem. Prawie wszystkie urządzenia z Androidem mają tryb przywracania
systemu, w którym można je uruchomić. Jednym z celów hakerów Androida jest
umieszczenie w urządzeniu niestandardowego programu do przywracania systemu.
W niestandardowych programach tego rodzaju można umieścić wiele dodatkowych
funkcji, umożliwiających na przykład łatwe dostosowywanie systemu i tworzenie kopii
zapasowych.
HAKOWANI E AND ROIDA 27

Program do przywracania systemu pozwala wykonywać przydatne operacje, takie


jak przywracanie ustawień fabrycznych, opróżnianie pamięci podręcznej na dane
i instalowanie oficjalnych, podpisanych aktualizacji systemu operacyjnego Android.
Na rysunku 1.2 pokazano okno programu do przywracania systemu Amon Ra.
Niestety, problem polega na tym, że w większości urządzeń domyślny program do
przywracania systemu instaluje tylko aktualizacje Androida z podpisem cyfrowym
producenta.

Rysunek 1 .2. Okno programu do przywracania systemu Amon Ra

Jeśli zdołasz uzyskać pełny dostęp do konta root i zainstalować niestandardowy


program do przywracania systemu, możesz łatwo zmienić ROM i firmware
zainstalowany w urządzeniu z Androidem, a także utworzyć pełną kopię zapasową
plików systemowych (w tym kopię danych aplikacji). Programiści niestandardowych
programów do przywracania systemu dołączają liczne opcje niedostępne w standardowym
procesie rozruchu Androida. Na rysunku 1.3 przedstawiono ekran popularnego
programu do przywracania systemu ClockworkMod. Program ten umożliwia łatwe
zainstalowanie niestandardowego firmware'u w urządzeniu z Androidem, a także
utworzenie kopii zapasowej firmware'u, danych i pamięci podręcznej oraz zapisanie
tej kopii na karcie SD.
28 ROZDZIAŁ 1 . Jak urządzenie rozpoczyna pracę? Mechanizmy Androida

Rysunek 1 .3. Okno programu do przywracania systemu ClockworkMod

Wybór niestandardowego programu do przywracania systemu zależy od gustu


i zgodności urządzenia. Programy Amon Ra i ClockworkMod działają w różnych
urządzeniach. Na formach XDA można sprawdzić, czy w danym urządzeniu można
zastosować jeden z tych programów. Zwykle proces rootowania urządzenia obejmuje
zainstalowanie jednego z dwóch wymienionych programów do przywracania systemu.
Jeśli dla urządzenia istnieje niestandardowy program do przywracania systemu, należy
go zainstalować bezpośrednio po zrootowaniu systemu. Na stronach programistów
rozwijających takie programy można sprawdzić, które urządzenia są przez nie obsługiwane.

W rozdziale 4. znajduje się kompletny opis stosowania programu ClockworkMod.


,

ROOTOWANIE URZĄDZEN
Z ANDROIDEM

W TYM ROZDZIALE:
• Czym jest rootowanie?
• Po co rootować urządzenia z Androidem?
• Tworzenie kopii zapasowej danych przed rootowaniem.
• Różne techniki rootowania urządzeń z Androidem.
• Jak uzyskać dostęp do konta root w dwóch konkretnych urządzeniach?

Prawdopodobnie słyszałeś, jak lokalny ekspert od Androida wspominał o rootowaniu.


A może przeczytałeś w sieci o rootowaniu urządzeń z Androidem? Rootowanie może
wydawać się magiczne i tajemnicze, jest to jednak dość proste zagadnienie. Rootowanie
zapewnia właścicielowi większą kontrolę nad urządzeniem i dostęp do niego.

Najwyższy poziom uprawnień w Linuksie uzyskuje się po zalogowaniu do konta root


(nazywanego czasem kontem administratora lub superużytkownika) . Pojęcia "root",
"administrator" i "superużytkownik" oznaczają w tym kontekście to samo.

"

Skąd się wzięła nazwa root ? "

Pojęcie "root" (czyli korzeń) powstalo z uwagi na hierarchiczny charakter systemu plików
i uprawnień w systemach UNIX oraz Linux. Galęzie systemu plików i hierarchia
użytkowników przypominają w nich odwrócone drzewo. Katalog root w systemie
plików jest nadrzędny względem wszystkich plików i katalogów. W systemie uprawnień
root to nadrzędny element dla wszystkich uprawnień, dający najwięcej możliwości.
30 ROZDZIAŁ 2. Rootowanie urządzeń z Androidem

Uprawnienia root w systemach linuksowych zapewniają dostęp administracyjny.


Po zalogowaniu się na konto root można zrobić prawie wszystko. Użytkownik ma
wtedy uprawnienia do odczytu i zapisu danych w większości miejsc systemu plików
oraz może zmieniać ustawienia systemowe. Dlatego głównym celem hakera urządzenia
z Linuksem jest zalogowanie się na konto root.

To właśnie uzyskanie takiego wysokiego poziomu uprawnień jest celem w czasie


rootowania urządzeń z Androidem. Poziom ten jest potrzebny przy wprowadzaniu
wielu modyfikacji w takich urządzeniach.

PO CO ROOTOWAĆ U RZĄDZE N I E?
Korzyści płynące z rootowania urządzeń to między innymi oszczędność pieniędzy
(ponieważ można wydłużyć czas korzystania z urządzenia i zwiększyć przydatność
sprzętu) , a także możliwość naprawienia błędów popełnionych w czasie rozwijania
systemu i produkcji. Inne zalety to uzyskanie dodatkowych funkcji i zniesienie
ograniczeń wbudowanych przez operatora lub producenta. Jednak korzystanie
z aplikacji administracyjnych jest związane z pewnymi zagrożeniami, ponieważ
użytkownik ma dostęp do wszystkich danych z wszystkich aplikacji zainstalowanych
w urządzeniu. Na szczęście ryzyko można ograniczyć, przyznając uprawnienia
z poziomu root tylko zaufanym aplikacjom.

ZWI Ę KSZAN I E CZASU ŻYCIA U RZĄDZE N IA


Pewien mój współpracownik kupił jedno z pierwszych urządzeń z Androidem,
HTC Dream (znane także jako G 1). Matt uwielbiał ten telefon, jednak szybko odkrył,
że nowsze wersje Androida działają w urządzeniu wolno lub w ogóle nie chcą się
uruchomić.

Po wprowadzeniu wersji Eclair Androida dla producentów i operatorów nieopłacalne


było inwestowanie w rekompilowanie Androida pod kątem starszego sprzętu oraz
naprawianie błędów. Dla urządzenia Gl Matta ostatecznie pojawiła się nowa wersja
platformy, ale stało się to dopiero po pewnym czasie. Operatorzy i producenci wolą,
kiedy użytkownicy kupują nowe urządzenia z najnowszą wersją Androida. Jednak
programiści ze społeczności związanej z Androidem i hakowaniem telefonów tworzą
odmiany nowych wersji Androida przeznaczone dla starszych urządzeń. Pozwala to
wydłużyć czas życia takich urządzeń przez wzbogacenie ich o dodatkowe możliwości
i funkcje. Pojedynczy programiści (na przykład Koushik "Koush" Dutta) i całe zespoły
zajmują się dostosowywaniem nowych wersji Androida do starszych urządzeń długo
po tym, jak producenci i operatorzy przestaną świadczyć pomoc techniczną dla danego
sprzętu. Aby zainstalować nowszą wersję Androida w starszym urządzeniu, trzeba
zrootować sprzęt i uzyskać pełny dostęp do systemu plików.
HAKOWANI E AND ROIDA 3 1

Matt na co dzień nadal używa swojego G L Dzięki hakerom z serwisu XDA i społeczności
skupionej wokół Androida na urządzeniu działa wersja Froyo. Producenci nie planowali,
że G 1 będzie w użyciu tak długo. Matt musiałby kupić przynajmniej dwa inne urządzenia
po Gl, aby mieć fabrycznie zainstalowane funkcje Androida Froyo. Dzięki dostępowi do
konta root Matt będzie korzystał z G l jeszcze przez pewien czas (tak, odpowiada mu to).

NAPRAWIAN I E USTEREK FAB RYCZNYCH


Z powodu błyskawicznych zmian w branży sprzętu przenośnego zbyt wiele urządzeń
z Androidem ma fabryczne usterki. Niektóre problemy są drobne i dotyczą przerywania
połączeń lub wolnego zapisu danych na karcie SD. W innych urządzeniach występują
poważne usterki. Na przykład urządzenie Samsung Galaxy X (sprzedawane przez
Verizon pod nazwą Fascinate, a przez innych operatorów pod jeszcze innymi nazwami)
ma atrakcyjne, zakrzywione kształty, które jednak powodują, że antena GPS-u znalazła
się w nieodpowiednim miejscu. Z tej przyczyny domyślny kod do przetwarzania sygnału
GPS błędnie określa lokalizację lub w ogóle sobie z tym nie radzi. Tak więc w tym
pięknym i wydajnym urządzeniu występuje niepotrzebna i irytująca (a zdaniem
niektórych nieakceptowalna) usterka.

Na forach XDA i w innych społecznościach hakerów Androida zwykle dość szybko


pojawiają się rozwiązania usterek projektowych - choć rozwiązanie problemów
sprzętowych za pomocą oprogramowania bywa trudne, a nawet niemożliwe. Jednak
zainstalowanie poprawki często wymaga dostępu do zapisu plików systemowych,
do czego z kolei niezbędne są uprawnienia na poziomie roo1. Użytkownicy Androida
przyzwyczaili się do tego, że każdy defekt (i każdą niewygodę) można naprawić
za pomocą poprawek opracowanych przez społeczność hakerów Androida. Mówi się,
że nawet producenci czasem czekaj ą na pojawienie się poprawek przygotowanych
przez społeczność, aby zobaczyć, jak rozwiązać problem.

Nazwy kodowe wersji Androida


Pierwsza wersja Androida nie miała nazwy, jednak dla każdej następnej odmiany
w Google'u wymyślano nazwę projektu. Pierwsze urządzenie z Androidem, które
zyskało popularność, nazywało się G 1. Działała w nim wersja 1.5 Android ( Donut).

Ktoś z firmy Google musi lubić słodycze, ponieważ nazwy wszystkich wersji
(począwszy od wersji Donut, czyli pączek) pochodzą od nazw łakoci. Kolejne wersje
to Eclair (ekierka), Froyo (rodzaj deseru z mrożonego jogurtu), Gingerbread (piernik)
i Honeycomb (czyli plaster miodu; ta nazwa to odejście od wyrobów cukierniczych
- tu pomysłodawcy zdecydowali się uhonorować naturalną słodkość). Najnowszą
wersję, Android 4.0, nazwano Ice Cream Sandwich (kanapka lodowa).
32 ROZDZIAŁ 2. Rootowanie urządzeń z Androidem

ZWI Ę KSZAN I E MOŻLIWOŚCI


Wielu producentów tworzy urządzenia z komponentami, których możliwości nie są
wykorzystywane. W licznych urządzeniach z Androidem możliwe jest na przykład
odbieranie sygnału stacji radiowych FM, jednak funkcji tej nigdy nie wykorzystano.
Nie powstały też aplikacje przeznaczone do odbioru radia. Dzięki pracy społeczności
skupionej wokół Androida w urządzeniu Nexus One można zarówno odbierać stacje
FM, jak i nagrywać obraz w rozdzielczości nop.

Przeta ktowanie
Prawie każde urządzenie z Androidem jest wyposażone w procesor, który może działać
szybciej od ustawień fabrycznych. Procesory często są spowalniane w celu wydłużenia
czasu pracy na baterii i zmniejszenia zagrożenia przegrzaniem. Standardowo
urządzenia Xoom działają z szybkością 1 GHz, jednak mogą bezpiecznie i stabilnie
pracować z szybkością 1 ,4 - 1,5 GHz. Zapewnia to bardzo duży wzrost wydajności
w i tak świetnym urządzeniu. Także w licznych innych urządzeniach z Androidem
można przyspieszyć pracę procesora. Zwiększa to wydajność i zapewnia użytkownikom
dodatkowe możliwości, co jest dobrym powodem do rootowania urządzeń.
Przyspieszanie procesora to tak zwane przetaktowanie (ang. overclocking).

Tworzenie przenośnego hotspotu


Wielu operatorów produkuje urządzenia działające jak bezprzewodowy punkt
(przenośny hotspot), z którym można się połączyć jak ze standardowym hotspotem
Wi-Fi. Takie urządzenia umożliwiają noszenie hotspotu ze sobą. Przenośny hotspot
przesyła dane przez sieć komórkową - podobnie jak telefon. Urządzenie przenośne
żądające danych z internetu i przenośny hotspot pobierający takie dane pod względem
funkcjonalnym są podobne do siebie. Hotspoty często kosztują tyle, co smartfony,
i wymagają wykupienia drogiego abonamentu na transfer danych (obok abonamentu
na dostęp do tych samych danych przez urządzenie z Androidem).

Po zrootowaniu urządzenia z Androidem można korzystać z telefonu jak z przenośnego


hotspotu. Warto mieć możliwość utworzenia w razie potrzeby tymczasowego hotspotu.
Biznesmen w czasie podróży służbowej może tego potrzebować dość często. Ponieważ
użytkownik płaci operatorowi za dane, powinien móc decydować, jak chce z nich
korzystać. Większość producentów wyłącza omawianą funkcję w urządzeniach
z Androidem (chyba że użytkownik wykupi drogi pakiet dla hotspotu), a dla operatorów
korzystne jest, aby klienci kupowali więcej urządzeń i droższe abonamenty. Warto też
zauważyć, że używanie telefonu jako hotspotu często stanowi naruszenie warunków
korzystania z usługi, dlatego zachowaj ostrożność.
HAKOWANI E AND ROIDA 3 3

Przetaktowanie urządzenia
Przetaktowanie polega na przyspieszeniu procesora. Nazwa pochodzi od mierzonych
w hercach taktów zegara, w których określa się szybkość komputerów. Wartości
500 M Hz, 800 M Hz czy 1 GHz określają, ile taktów zegara jest wykonywanych
w procesorze w ciągu milisekundy. Przetaktowanie oznacza wymuszenie wyższej
szybkości taktowania od domyślnej. Zwykle związane jest to ze zwiększeniem
napięcia układu, co prowadzi do większego zużycia energii, generowania większej
ilości ciepła i - co najważniejsze - przyspieszenia pracy urządzenia.

Wady przetaktowania to zwiększenie emisji ciepła i skrócenie czasu pracy na baterii,


co może prowadzić też do skrócenia życia urządzenia. Producenci całymi miesiącami
wyznaczają odpowiednie taktowanie sprzętu na podstawie rozmieszczenia układów,
oczekiwanego czasu życia, rozpraszania ciepła itd.

DOSTOSOWYWAN I E U RZĄDZE N IA DO POTRZEB


Choć prawdopodobnie nie jest to najważniejszy czynnik, dla hakerów często pierwszym
powodem rootowania urządzenia jest chęć uzyskania pełnej kontroli nad wyglądem
i działaniem urządzenia. Jeśli użytkownik nie może zapisywać danych w systemie
plików, wprowadzone zmiany będą tymczasowe lub ograniczone.

Po zainstalowaniu niestandardowego programu przywracania danych można zapisywać


dane w całym systemie plików, w tym w miejscach, których zwykle w ogóle nie można
modyfikować. Instalowanie niestandardowego firmware'u zwykle polega na dodawaniu
firmware'u lub jądra z grafiką i układami interfejsu, skryptami, pakietami aplikacji itd.
Czas potrzebny na przygotowanie takich zmian zniechęca większość użytkowników
do ich wprowadzania. Jednak zaangażowani programiści poświęcają długie godziny
na modyfikowanie domyślnego firmware'u i udostępniają go w postaci ROM-ów
lub innych pakietów, pozwalających osobom z dostępem do konta root szybko
wprowadzać duże zestawy zmian. Wielu programistów udostępnia nowe pakiety ROM
(lub informacje o nich) na forach XDA.

TWO RZEN I E KO PII ZAPASOWEJ DANYCH


Większość danych jest bezpieczna w trakcie rootowania. Jednak w czasie rootowania
lub odblokowywania urządzeń niektóre aplikacje i ich dane są usuwane. Na przykład
opisany w rozdziale 3. proces odblokowywania za pomocą Fastboota prowadzi do
wykasowania partycji /data. Dlatego należy utworzyć kopię ważnych danych i pamiętać
o tym, że hakowanie może prowadzić do utraty wszystkich informacji.
34 ROZDZIAŁ 2. Rootowanie urządzeń z Androidem

Po udanym zrootowaniu urządzenia utworzenie kopii całego systemu plików Androida


jest bardzo łatwe. Pozwala to zachować spokój w czasie wymiany lub modyfikowania
urządzeń. W zrootowanym urządzeniu można albo wykonać kompletną kopię zapasową
za pomocą narzędzia NANDroid (jeśli dostępny jest program do przywracania systemu) ,
albo zarchiwizować dane konkretnych aplikacji, używając programu Titanium Backup
lub podobnego narzędzia.

DAN E KONTAKTOWE
Google przechowuje wszystkie numery telefonu i adresy e-mail z książki adresowej
w chmurze danych (czyli na serwerach Google'a). W momencie aktywowania telefonu
z wykorzystaniem loginu wszystkie dane są przesyłane z powrotem do telefonu.
Jeśli użytkownik specjalnie nie utworzył danych przechowywanych tylko w telefonie,
urządzenie z Androidem automatycznie synchronizuje wszystkie dane z serwerami
Google'a, dlatego nie trzeba się martwić o utratę informacji.

Rootowanie telefonu lub innego urządzenia z Androidem często prowadzi


do przywrócenia ustawień fabrycznych, co jest związane z wykasowaniem informacji
(w tym danych kontaktowych). Oznacza to, że trzeba zarejestrować konto Google
i zsynchronizować wszystkie informacje. Wiele uruchamianych jednym kliknięciem
metod rootowania, powodujących uruchomienie exploita w urządzeniu, nie prowadzi
do wykasowania danych, jednak zawsze warto tworzyć kopię zapasową informacji.

APLIKACJ E l i CH DAN E
Podobne uwagi dotyczą aplikacji ze sklepu Google Apps Marketplace. W czasie pobierania
i instalowania aplikacji na serwerach Google'a zapisywane są dane łączące login z określonym
programem. Po ponownym aktywowaniu urządzenia z wykorzystaniem loginu następuje
automatyczna synchronizacja ze sklepem Google Apps Marketplace i instalacja wszystkich
brakujących aplikacji.

Rozruch z karty SD
Rootowanie niektórych urządzeń z Androidem, n a przykład tabletów Nook Color
i WonderMedia, wymaga niestandardowej karty SD. Na takiej karcie przy użyciu
komputera trzeba zapisać specjalny system plików i skrypt aktualizacji. Tak
przygotowaną kartę SD należy umieścić w urządzeniu i ponownie je włączyć.
Rozruch urządzenia odbywa się z karty S D, co pozwala zainstalować niestandardowe
programy rozruchowe i firmware.

Jeśli z forum XDA dowiesz się, że urządzenie potrzebuje do rozruchu karty S D,


najlepiej jest użyć odrębnej karty tego rodzaju, na której nie przechowujesz danych.
Większość technik tworzenia rozruchowych kart SD powoduje całkowite
wykasowanie zapisanych na niej danych.
HAKOWANI E AND ROIDA 3 5

Choć aplikacje s q przywracane, powiqzane z nimi dane zostajq zwykle utracone,


chyba że użytkownik utworzył kopię zapasowq lub zapisał informacje na karcie SD.
W niektórych urzqdzeniach kasowane sq też wszystkie dane użytkownika, na
przykład zdjęcia i dokumenty. Jeśli dane utworzone przez aplikację sq dla Ciebie
ważne, warto się dowiedzieć, jak zarchiwizować informacje i je przywrócić (poszukaj
na forum XDA). Najlepiej jest przyjqć, że w trakcie hakowania wykasowane zostanq
wszystkie dane.

DAN E NA KARCI E SD
Android zapisuje zdjęcia i filmy na karcie SD. Warto zarchiwizować te dane przed
rozpoczęciem hakowania. Dane z karty SD w urządzeniu z Androidem są zwykle
bezpieczne w czasie rootowania. Jednak zawsze warto zastosować protokół Media
Transport Protocol (w większości urządzeń z Androidem 3.0 i nowszymi wersjami;
w pozostałych może to być pamięć USB) lub polecenie PULL w ADB (zobacz rozdział 3.)
i skopiować wszystkie dane z karty SD do katalogu z kopią zapasową na komputerze.

JAK ZROOTOWAĆ U RZĄDZEN I E


I UWO LN IĆ S I Ę S POD KO NTROLI PRO D U CENTA?
Przebieg procesu rootowania urządzenia z Androidem zależy od modelu sprzętu.
Dla urządzeń, które są dostępne już stosunkowo długo, może istnieć kilka metod
rootowania. W następnym punkcie opisano, jak zrootować dwa konkretne urządzenia.
W rozdziałach 3. i 4. omówiono większość umiejętności oraz narzędzi potrzebnych
w tym procesie.

Oto ogólne kategorie technik rootowania:


• wykorzystanie fabrycznego narzędzia do zastępowania oprogramowania w celu
zapisania firmware'u;
• zastosowanie exploitów;
• zastępowanie oprogramowania za pomocą wbudowanego narzędzia Fastboot;
• użycie skryptu lub techniki automatycznej.

Są to bardzo ogólne i subiektywnie wybrane kategorie, wymyślone na potrzeby tego


podrozdziału. Wielu programistów prawdopodobnie nie zgodzi się z tym, do której
kategorii przypisałem opracowane przez nich metody lub narzędzia.

Dostępne metody rootowania można znaleźć na forum XDA poświęconym


konkretnemu urządzeniu. Na przykład informacje i procedury związane z moim
tabletem Xoom znajdują się na podforum Xoom Android Development na forum
Motorola Xoom ( http://forum.xda-developers.com/forumdisplay.php ?f=948). Większość
sprawdzonych procedur jest przyklejona w górnej części listy wpisów, co pozwala łatwo
znaleźć potrzebne informacje.
36 ROZDZIAŁ 2. Rootowanie urządzeń z Androidem

Niezależnie od tego, czy program rozruchowy lub program do przywracania systemu


jest zastępowany za pomocą przeznaczonego do tego oprogramowania, exploita czy
Fastboota, zasada postępowania jest taka sama - uzyskanie dostępu do konta root to
pierwszy krok na drodze do dostosowania urządzenia.

FAB RYCZNE NARZĘDZIA


DO ZASTĘ POWAN IA OPROG RAMOWAN IA
W niektórych urządzeniach przy pierwszym rootowaniu trzeba wykorzystać fabryczne
narzędzia diagnostyczne lub do zastępowania oprogramowania. Po zastąpieniu firmware'u
i uzyskaniu dostępu do konta root zwykle do wprowadzania dalszych zmian używa się
niestandardowego programu do przywracania systemu.

Dostęp do konta root często można uzyskać tylko przez zastąpienie kompletnego
podpisanego pakietu firmware'u za pomocą fabrycznych narzędzi. Jeśli dane narzędzie
wymaga zewnętrznego programu (innego niż wbudowane narzędzia z pakietu SDK
Androida, czyli ADB - ang. Android Debug Bridge - i Fastboot), aby po raz pierwszy
zapisać nowy firmware, potrzebny będzie kompletny podpisany pakiet firmware'u.
Pierwsza technika rootowania Droida 1 polega na zastosowaniu narzędzia serwisowego
RSDLite Motoroli w celu załadowania niestandardowego programu rozruchowego do
sekcji rozruchowej systemu plików. Podobnie w wielu urządzeniach z procesorem NVIDIA
Tegra 2 trzeba używać programu NVFlash, a w urządzeniach Samsunga - narzędzia ODIN.

Zdobywanie wiedzy
Bardzo ważne jest to, aby zapoznać się z wszystkimi dostępnymi informacjami
na temat używanego urządzenia. Przeczytaj wstępne instrukcje na temat rootowania
i wszystkie przyklejone wpisy. Przejrzyj cały wątek dotyczący rootowania danego
urządzenia. Poświęć kilka dni na samo przeczytanie doświadczeń innych osób, które
rootowały i romowały to urządzenie lub zmieniały w nim kompozycję. Większości
błędów popełnianych przez początkujących można łatwo uniknąć, potrzebne są jednak
cierpliwość i zapoznanie się z wszystkimi materiałami na temat danego urządzenia.
Hakerzy są samoukami i bardzo cierpliwymi stworzeniami.

Ponieważ bierzesz na siebie ryzyko i odpowiedzialność związane z uszkodzeniem


sprzętu ( lub jego usprawnieniem), uczestnictwo w społeczności hakerów oraz
użytkowników rootujących urządzenia powinieneś traktować bardziej jak maraton
niż sprint. Dużo czytaj, a pytania zadawaj dopiero po tym, jak nie uda Ci się znaleźć
odpowiedzi za pomocą funkcji wyszukiwania na forum XDA.

Szczególnie ważne jest, aby przed rozpoczęciem rootowania nauczyć się, jak przywrócić
do stanu używalności uszkodzone urządzenie (jeśli w ogóle jest to możliwe). W tym
celu wpisz w wyszukiwarce na forum XDA słowo "unbrick" wraz z nazwą swojego
urządzenia.
HAKOWANI E AND ROIDA 3 7

Czasem jedynym sposobem n a przywrócenie uszkodzonego urządzenia d o stanu


używalności jest zastosowanie fabrycznych narzędzi do zastępowania oprogramowania.

Oto zalety stosowania takich narzędzi:


• są one zwykle stosunkowo bezpieczne i proste w użyciu;
• proces obejmuje niewielką liczbę prostych kroków.

Korzystanie z fabrycznych narzędzi ma też wady:


• niektóre z nich bywają trudne w użyciu lub do zrozumienia; w najlepszym razie
mają ubogi interfejs, w najgorszym - interfejs jest w niezrozumiałym języku;
• fabryczne narzędzia diagnostyczne są trudne do zdobycia (i trudno znaleźć ich
aktualną wersję).

EXPLOITY
W systemach operacyjnych występują słabe punkty (lub luki) , które hakerzy mogą
wykorzystać, pisząc exploity. Istnieje wiele rodzajów i postaci exploitów. Jedną
z pierwszych metod rootowania urządzenia EVO 4G było wykorzystanie luki
w zabezpieczeniach aplikacji Adobe Flash.

W świecie linuksowych systemów operacyjnych wykorzystywanie luk jest po części


nauką, po części sztuką, a w dużym stopniu opieraniem się na intuicji wynikającej
z doświadczenia. Znalezienie słabego punktu, który można wykorzystać, jest pierwszym
celem społeczności programistów po pojawieniu się nowego urządzenia. Zaawansowani
hakerzy i geekowie ścigają się ze sobą, aby znaleźć w kodzie lukę, która pozwoli
odblokować zabezpieczenia. Na forum XDA wątki z analizą różnych możliwości
obejmują czasem tysiące wpisów.

Korzystanie z exploitów to jeden z najprzyjemniejszych sposobów rootowania urządzeń


z Androidem. Mniej więcej w połowie rootowania mojego pierwszego urządzenia
HTC Thunderbolt za pomocą exploita ASH (opracowanego przez Scotta Walkera)
pomyślałem: "Nieźle, naprawdę hakuję urządzenie. Czuję się jak postać z Mission
Impossible". Exploit p sneuter Scotta Walkera (pseudonim scotty2walker w społeczności
hakerów Androida) to dobry przykład prostego exploita, który wykonuje ciekawe
operacje w celu uzyskania dostępu do konta roo1. Scott wykorzystał to, że program
ADB (zobacz rozdział 3.) w sytuacji, kiedy nie może ustalić wartości opcji S-ON i S-OFF,
przyjmuje tę drugą oraz domyślnie montuje system plików w trybie do odczytu i zapisu
przy zdalnym dostępie do powłoki niezrootowanego urządzenia. Ten prosty exploit
można wykorzystać do nadpisania zwykle nie dostępnych fragmentów systemu plików,
na przykład sekcji rozruchu i przywracania systemu.

Nie mam wystarczaj ącego doświadczenia ani odpowiednich umiejętności


programistycznych, aby napisać exploit psneuter, jednak Scott Walker udostępnił swój
kod społeczności Androida. Dlatego mogę go wykorzystać do odblokowania mojego
urządzenia z Androidem. Nigdy nie bawiłem się lepiej niż w czasie nauki hakowania
nowych urządzeń z Androidem z pomocą społeczności z forum XDA.
38 ROZDZIAŁ 2. Rootowanie urządzeń z Androidem

Oto zalety stosowania exploitów:


• umożliwiają dostęp do ściśle zabezpieczonych urządzeń;
• ich używanie jest ciekawe (można się poczuć jak haker);
• dla producentów zwykle trudne jest przygotowanie poprawek zabezpieczających
przed exploitami;
• każdy może je stosować, wykorzystując wiedzę zawartą w tej książce.

A oto wady korzystania z exploitów:


• proces ich stosowania jest złożony - wymaga wiedzy i umiejętności;
• łatwo jest popełnić błąd;
• istnieje duże prawdopodobieństwo uszkodzenia sprzętu.

ZASTĘPOWAN I E OPROGRAMOWAN IA
ZA POMOCĄ WB U DOWAN EGO NARZĘDZIA FASTBOOT
Jeśli urządzenie nie jest zablokowane (lub nie można go zablokować) , można przejść
do trybu Fastboot i uruchamiać w nim polecenia. Fastboot umożliwia wykorzystanie
całego zestawu plików lub systemu plików spakowanego do jednego pliku (tak zwanego
obrazu) i zapisanie go w wybranych obszarach systemu plików, na przykład w katalogu
boot lub system.
Większość "google'owych" urządzeń pierwszej generacji, na przykład Nexus One,
Xoom czy Nexus S, ma programy rozruchowe, których nie można zablokować,
co pozwala wyłączyć zabezpieczenia (opcja S-OFF) - zwykle odbywa się to za pomocą
polecenia Fastboota. Jednak nie wszystkie urządzenia mają wbudowaną obsługę tego
protokołu. Oznacza to, że jeśli producent nie uwzględnił możliwości wywoływania
poleceń Fastboota z poziomu komputera, nie można z nich korzystać. Polecenia tego
protokołu i jego możliwości omówiono w rozdziale 3.

Poniżej wymieniono zalety korzystania z Fastboota:


• instrukcje są proste do zrozumienia i dość łatwo jest je wykonać;
• technika ta jest prosta i stosunkowo bezpieczna.

Oto wady stosowania Fastboota:


• nie wszystkie urządzenia go obsługują;
• potrzebna jest umiejętność korzystania z wiersza poleceń;
• odblokowywanie za pomocą fabrycznego narzędzia Fastboot powoduje usunięcie
danych z partycji /data urządzenia.
HAKOWANI E AND ROIDA 3 9

Dyskusje na temat rootowania za pomocą skryptów


i narzędzi uruchamianych jednym kliknięciem
W społeczności skupionej wokół Androida wciąż trwa dyskusja dotycząca skryptów
i technik uruchamianych jednym kliknięciem. Niektórzy programiści obawiają się, że
producenci zaczną utrudniać stosowanie tych technik. Inni twierdzą, że ułatwienie
rootowania obniży poprzeczkę dla potencjalnych hakerów. Im łatwiej będzie
zrootować urządzenia, tym więcej osób zacznie uszkadzać je i próbować wymienić
na gwarancji. Doprowadzi to do tego, że producenci zaczną utrudniać rootowanie
nowych urządzeń.

TECH N I KI OPARTE NA SKRYPTACH I J E D NYM KLI KN I ĘCIU


Jest t o pojemna kategoria, obejmująca zarówno bardzo zaawansowane techniki
(na przykład metodę rootowania unRevoked), jak i proste skrypty dla narzędzia ADB.
W metodach opartych na skryptach użytkownik musi zwykle wykonać znacznie mniej
operacji niż przy stosowaniu wieloetapowych metod rootowania z wykorzystaniem
ADB lub narzędzi fabrycznych. Dlatego omawiane tu podejście jest zwykle prostsze
i mniej zawodne. Niestandardowe techniki elektroniczne, takie j ak unRevoked,
opierają się na zastrzeżonym połączeniu USB lub wymagają uruchomienia aplikacji
bezpośrednio w urządzeniu. Jednak także te zastrzeżone metody wykonują podstawowe
operacje - zastępują w systemie plików program rozruchowy lub program do
przywracania systemu.

Ważną zaletą stosowania technik skryptowych i wymagających tylko jednego kliknięcia


jest znaczne uproszczenie pracy. Ponadto efekt jest osiągany bez długich okresów
frustracji.

A oto wady korzystania z opisywanych tu metod:


• haker ma mniejszą kontrolę nad procesem;
• takie techniki są dostępne dla ograniczonej liczby urządzeń.

ROOTOWAN I E DWÓCH KON KR ETNYCH U RZĄDZEŃ


W tym podrozdziale porównano dwie metody rootowania o różnym poziomie
trudności, przeznaczone dla dwóch telefonów. Nexus One to telefon dla programistów.
Zaprojektowano go pod kątem łatwego rootowania i dostosowywania. Do zrootowania
tego urządzenia służy Fastboot. Zrootowanie telefonu Thunderbolt jest trudniejsze.
Służy do tego exploit p sneuter.

Nie martw się, jeśli nie zrozumiesz niektórych pojęć. Poznasz je w trakcie dalszej
lektury.
40 ROZDZIAŁ 2. Rootowanie urządzeń z Androidem

N EXUS O N E
W tym punkcie opisano odblokowywanie i rootowanie telefonu Nexus One. Google
umieścił w programie rozruchowym usuwalną blokadę, dlatego najpierw należy
odblokować urządzenie, używaj ąc narzędzia dla programistów, Fastboota.
Po odblokowaniu telefonu można go łatwo zhakować i zrootować. Jeśli producent
umożliwia społeczności odblokowanie urządzenia, wykonywanie wszystkich
późniejszych operacji jest prostsze.
l. Podłącz telefon Nexus One do komputera za pomocą kabla USB.
2. Przełącz telefon w tryb Fastboot. W tym celu uruchom urządzenie, przyciskając
odpowiednią kombinację klawiszy (dla poszczególnych urządzeń jest ona różna).
Tryb Fastboot powoduje obsługę przez telefon poleceń Fastboota.
3. W oknie wiersza poleceń na komputerze uruchom następującą instrukcję,
aby odblokować program rozruchowy:
fas tboot OEM un l oc k
4 . Ponownie uruchom telefon w trybie Fastboot.

5. Uruchom skrypt, aby zainstalować w urządzeniu program rozruchowy superboot.

Na tym etapie telefon Nexus One jest w pełni zrootowany.

HTC TH U N DERBOLT
Trudniejszy proces rootowania przedstawiono na przykładzie telefonu Thunderbolt
firmy HTC. Firma ta zablokowała program rozruchowy i bardzo utrudniła dostęp do
systemu plików poprzez konto root. W omówieniu widać, że zablokowany program
rozruchowy zwiększa złożoność procesu rootowania. Tu przedstawiono poszczególne
kroki w ogólny sposób. Szczegóły znajdziesz w rozdziale 9.
l. Podłącz telefon Thunderbolt do komputera za pomocą kabla USB.
2. Wykorzystaj narzędzie programistyczne ADB do umieszczenia na karcie SD
następujących plików:
• skryptu z exploitem p sneuter,
• narzędzia BusyBox,
• pliku obrazu nowego programu rozruchowego.
3. Za pomocą poleceń powłoki narzędzia ADB zmień uprawnienia dla skryptu
p sneuter i narzędzia BusyBox, tak aby można wykonywać ich kod.
4. Za pomocą poleceń powłoki narzędzia ADB uruchom skrypt z exploitem psneuter,
aby uzyskać tymczasowy dostęp do systemu plików z poziomu konta root.
5. Uruchom polecenie MD5SUM narzędzia BusyBox, aby się upewnić, że plik obrazu
jest identyczny z oryginałem.
6. Wywołaj polecenie DD narzędzia BusyBox, aby zapisać plik obrazu w sekcji
pamięci, gdzie znajduje się program rozruchowy.
HAKOWANI E AND ROIDA 4 1

7 . Z a pomocą poleceń powłoki narzędzia ADB zapisz n a karcie S D starszy firmware


podpisany przez producenta.
8. Ponownie uruchom telefon i zainstaluj podpisany starszy firmware.
9. Za pomocą narzędzia programistycznego ADB zapisz na karcie SD następujące
pliki:
• skrypt z exploitem p sneuter,
• narzędzie BusyBox,
• skrypt wpt h i s.
10. Ustaw odpowiednie uprawnienia dla skryptu psneuter i uruchom go, aby uzyskać
dostęp do konta root z poziomu powłoki narzędzia ADB.
1 1. Ustaw uprawnienia dla skryptu wpth i s i uruchom go, aby uzyskać dostęp
do zablokowanego programu rozruchowego.
12. Za pomocą narzędzia ADB umieść obraz nowego programu rozruchowego
na karcie SD.
13. Zastąp domyślny program rozruchowy pierwszego poziomu nowym programem
rozruchowym.
14. Wywołaj instrukcję MD5SUM, aby się upewnić, że skrót nowego programu
rozruchowego jest zgodny z plikiem obrazu.
15. Jeśli instrukcja MD5SUM informuje o niezgodnym skrócie, powtarzaj kroki
1 2. - 14. do czasu uzyskania zgodności.
16. Zapisz nowy, niepodpisany i niestandardowy firmware systemu na karcie SD.
17. Ponownie uruchom telefon. Nowy program rozruchowy wczyta teraz
niestandardowy firmware.

Na tym etapie w telefonie Thunderbolt działa program rozruchowy z opcją S-O FF.
Potrzebnych jest dziesięć dalszych kroków, aby zainstalować aplikację SuperUser
i uzyskać trwały dostęp do konta root. Jak widać, rootowanie urządzenia z zablokowanym
fabrycznie programem rozruchowym jest znacznie trudniejsze niż rootowanie
odblokowanego urządzenia. Hakowanie zablokowanego sprzętu, tak aby uzyskać
w pełni odblokowany telefon, daje tak dużo satysfakcji, że kiedy uda Ci się uzyskać
pożądany efekt, zaczniesz szukać innych urządzeń do zrootowania.

ROOTOWAN I E TO DOPI ERO POCZĄTEK


Zrootowanie urządzenia t o dopiero początek. Aby zainstalować niestandardowy
firmware, tak zwany ROM, potrzebny jest dostęp do konta root. Jest on konieczny także
w celu usunięcia bloatware'u, czyli dodatkowego oprogramowania umieszczanego
w urządzeniu przez producenta lub operatora.
42 ROZDZIAŁ 2. Rootowanie urządzeń z Androidem

Bloatware
Jak wspomniano w rozdziale 1., operatorzy i producenci pobierają od usługodawców
oraz twórców oprogramowania opłaty za umieszczanie aplikacji w urządzeniu z Androidem.
Pozwala to obniżyć cenę urządzenia (lub zwiększyć premie menedżerów).

Niezależnie od przyczyn instalowania tych aplikacji nie da się ich usunąć bez zrootowania
urządzenia. Przypomina to zakup komputera, w którym zainstalowanych jest tylko 19
programów, przy czym producent uniemożliwia użytkownikowi usunięcie 5 zbędnych
aplikacji. Tego typu bloatware zajmuje ograniczoną pamięć urządzenia i czasem
uruchamia usługi, których dana osoba nie potrzebuje lub nie chce używać.
Prowadzi to do zużycia energii i pamięci .

Firma AT &T uniemożliwiła instalowanie w swoich urządzeniach aplikacji spoza sklepu.


Dopiero po zrootowaniu można było instalować dowolne aplikacje na standardowo
ograniczanych przez operatora telefonach.

W niektórych tańszych tabletach i telefonach nie można nawet instalować aplikacji


z oficj alnego sklepu Google Apps Marketplace. Po zrootowaniu takich urządzeń
można instalować takie programy, a także uzyskać dostęp do wszystkich opcji
z droższych telefonów.

Widać więc, że zrootowanie urządzenia z Androidem otwiera drogę do przejęcia


kontroli nad sprzętem. Pozwala znieść blokady narzucone przez operatorów i inne
ograniczenia, które mogą skłaniać do zakupu nowych urządzeń.
,

WYBOR ODPOWIEDNICH NARZĘDZI

W TYM ROZDZIALE:
• Sprzęt i oprogramowanie potrzebne przy hakowaniu.
• Podstawowe polecenia narzędzia ADB.
• Polecenia protokołu Fastboot.
• Powłoka narzędzia ADB.

W większości technik rootowania wykorzystuje się podobne narzędzia. Procesy,


exploity i poziomy dostępu mogą być różne, jednak zestaw narzędzi potrzebnych do
ustawienia opcji S-OFF lub uzyskania dostępu do konta root zawsze jest stosunkowo
niewielki. Warto dobrze zrozumieć narzędzia i techniki ich stosowania, ponieważ
ułatwia to rootowanie nowych urządzeń.

DO STARTU , GOTÓW . . .
- CHWI LECZKĘ, CZEGO POTRZE B UJ Ę?
Przed przystąpieniem do hakowania, a nawet do sprawdzania zawartości Androida,
trzeba podłączyć telefon do komputera i przygotować hakerskie narzędzia.

PODŁĄCZAN I E TELEFO N U DO KOM PUTERA


Upewnij się, że masz odpowiedni kabel, aby podłączyć urządzenie do komputera.
Potrzebne są też sterowniki pozwalające komputerowi wykryć to połączenie.
Wiele urządzeń rozpowszechnianych jest bez sterowników. Wymaga to stosowania
natywnych sterowników dostępnych w systemie operacyjnym komputera.
44 ROZDZIAŁ 3. Wybór odpowiednich narzędzi

W zależności od tego, jakie tryby pracy urządzenia są obsługiwane, komputer może


rozpoznać telefon jako pamięć masową i podłączyć go w taki sam sposób, jak dysk
twardy lub kartę pamięci.

Na komputerze należy zainstalować wybrane sterowniki diagnostyczne lub


programistyczne. Ponadto trzeba włączyć tryb diagnostyczny ( USB Debugging) ,
aby możliwa była interakcja między komputerem a telefonem. Tryb diagnostyczny
powoduje nawiązanie połączenia z komputerem oraz umożliwia przesyłanie sygnałów
i poleceń między komputerem a urządzeniem z Androidem.

NARZĘDZIA HAKE RSKI E


Narzędzia przeznaczone do hakowania Androida można podzielić na trzy kategorie:
• narzędzia programistyczne z pakietu SDK i od niezależnych producentów;
• skrypty;
• linuksowe pliki wykonywalne i polecenia obsługiwane przez telefon.

Narzędzia programistyczne to ADB (ang. Android Debug Bridge) i bardziej


zaawansowane oprogramowanie, takie jak aplikacje smali i baksmali, służące do
asemblacji i dezasemblacji pakietów z aplikacjami dla systemu Android (plików APK).

Niektóre znane z Linuksa polecenia powłoki są obsługiwane przez urządzenia


z Androidem. Obsługę innych instrukcji można dodać w trakcie hakowania.
Najpopularniejszym i najłatwiejszym w użyciu pakietem poleceń powłoki Linuksa
przeznaczonym dla Androida jest BusyBox (więcej na temat tego pakietu dowiesz się
z dalszej części rozdziału). Polecenia te często wykonuje się w skryptach - seriach
poleceń powłoki, uruchamianych albo na urządzeniu z Androidem, albo z powłoki
narzędzia ADB na podłączonym komputerze.

Inne możliwości
Niektóre urządzenia (takie jak Nook Color i tanie, niemarkowe tablety) można zhakować
za pomocą specjalnie sformatowanej karty SD, która obejmuje niestandardowy firmware
i skrypty przeznaczone do uruchomienia w trakcie rozruchu. W takich urządzeniach
wymagania wstępne w trakcie hakowania są nieco inne. Zwykle potrzebne są:

pusta karta S D;

plik z obrazem dysku z niestandardowym ROM-em Androida i skryptami;

aplikacja do zapisywania nieprzetworzonych obrazów dysku.
HAKOWANI E AND ROIDA 45

KABLE USB
W pudełku z urządzeniem zwykle znajduje się kabel do podłączania telefonu do
komputera. Najpopularniejszym kablem (i typem połączenia) jest USB micro,
przedstawiony na rysunku 3 . 1 .

Rysunek 3 . 1 . Kabel USB micro

Czasem, jeśli kabel był używany długo i niedelikatnie, może się okazać, że pozwala
naładować telefon lub tablet, ale w ogóle nie nadaje się do przesyłania danych. Niektóre
tanie kable (zwykle dołączane do tanich ładowarek samochodowych) mają we wtyczce
micro USB tylko piny służące do ładowania, dlatego nie są przeznaczone do transferu
danych. Jeśli fabryczny kabel jest w dobrym stanie (nie ma zagięć ani śladów po zębach
kota), powinien działać poprawnie. Jeżeli jednak zgubiłeś, uszkodziłeś lub musiałeś
wymienić kabel fabryczny, zadbaj o to, aby nowy był podobny.

W kablach USB nie ma nic niezwykłego, jednak nie wszystkie takie przewody mają
równie wysoką jakość i tak samo dobrze pasują. Zwłaszcza nieprecyzyjnie dopasowana
wtyczka micro może powodować słabe połączenie i źle współpracować z delikatnymi
elementami gniazda. Dodatkową trudnością jest to, że problemy z kablami USB trudno
jest zdiagnozować i wykryć. Jeśli zerwanie połączenia nie następuje ewidentnie
w wyniku poruszenia urządzeniami, warto kupić dodatkowy kabel, którym można
zastąpić uszkodzony przewód.
Jeśli podłqczasz urzqdzenie przez koncentrator USB lub port USB na przednim
panelu komputera, mogq wystqpić problemy z połqczeniem. Urzqdzenie należy
podłqczać przez port USB w tylnej części komputera lub inny port bezpośrednio
podłqczony do głównej magistrali USB.
Przez godziny zmagałem się z kablem USB, przez który podłqczyłem tablet Xoom
do portu USB na przednim panelu komputera. Urzqdzenie można było podłqczyć,
ale w komputerze było dostępne w trybie offiine. Dopiero kiedy podłqczyłem kabel
do portu USB w tylnej części komputera, urzqdzenie natychmiast pojawiło się
w trybie online.
46 ROZDZIAŁ 3. Wybór odpowiednich narzędzi

TRYB D IAG N OSTYCZNY


Jeśli wiesz (lub zakładasz), że połączenie przez kabel USB działa prawidłowo, musisz
włączyć w telefonie lub tablecie tryb diagnostyczny. Tryb ten umożliwia przesyłanie
poleceń systemowych z narzędzia ADB między komputerem a urządzeniem. Pozwala
też wyświetlić dzienniki systemowe i strukturę plików, a także przesyłać w obie strony
aplikacje oraz pliki. Należy jednak zachować ostrożność, ponieważ po włączeniu trybu
diagnostycznego z poziomu komputera można instalować aplikacje, kopiować dane
i odczytywać zawartość dzienników urządzenia.

Należy pamiętać, że liczne operacje przeprowadzane w trybie diagnostycznym powodują


automatyczne zresetowanie lub wyłączenie tego trybu. Dlatego przed każdym krokiem
procesu hakowania trzeba sprawdzić, czy tryb ten jest włączony. Na szczęście w Androidzie
można to zrobić w bardzo prosty sposób. Jeśli urządzenie działa w trybie diagnostycznym,
na pasku powiadomień znajduje się ikona tego trybu (zobacz rysunek 3.2) .

U S B debugging connected
Selecl lo disable USB debugging.

Ił' Low on space


Phone storage space is gettlng low. 1 1 : 1 1 AM

USB debugglng connected


elect to dlsable USB debugglng.

Charge only
elen to change USB connection !ype

Rysunek 3.2. Powiadomienia dotyczące trybu diagnostycznego


w urządzeniach Nexus One (u góry) i EVO 3D (u dotuj

Jeśli ikona trybu diagnostycznego jest niewidoczna, połączenie nie działa w tym trybie
i nie można uruchamiać poleceń za pomocą narzędzia ADB. W większości urządzeń
z Androidem tryb diagnostyczny można włączyć następująco:
l. Otwórz ustawienia urządzenia. Zwykle wymaga to dotknięcia klawisza Menu
lub odpowiedniego miękkiego klawisza na ekranie głównym. W tablecie Xoom
i niektórych innych tabletach trzeba dotknąć pola obok zegara, a następnie wybrać
opcję Settings.
2. W menu Settings wybierz opcję Applications.
3. Wybierz opcję Development.
4. Zaznacz pole USB Debugging.
5. Kliknij przycisk OK w powiadomieniu.
HAKOWANI E AND ROIDA 47

Na pasku powiadomień powinna pojawić się ikona trybu diagnostycznego,


widoczna na rysunku 3.2.
W niektórych urzqdzeniach z Androidem port USB można wykorzystać także
w innych trybach, na przykład tylko do ładowania lub w trybie pamięci masowej.
Czasem trzeba wykonać kilka prób, aby stwierdzić, które ustawienia portu USB
iumożliwiajq współpracę urzqdzenia z narzędziem ADB. Zwykle tryby ładowania
i synchronizacji pozwalajq hakować urzqdzenie za pomocq narzędzia ADB.
Poszukaj potrzebnych informacji na forach XDA. Prawdopodobnie ktoś inny
ustaliłjuż, jakie ustawienia umożliwiajq nawiqzanie odpowiedniego połqczenia.

CO STE R UJ E WS PÓŁPRACĄ Z U RZĄDZE N I EM?


Przy pierwszym podłączeniu urządzenia zwykle używany jest domyślny zestaw
sterowników z systemu operacyjnego. Sterowniki te są wystarczające do uzyskania
dostępu do karty SD i ładowania urządzenia. Jednak narzędzie ADB wymaga
odpowiedniego rodzaju połączenia, które zwykle oparte jest na sterownikach
fabrycznych lub przeznaczonych dla programistów. Tu dowiesz się, jak sprawdzić,
czy rodzaj połączenia jest odpowiedni.

Aby ustalić, jaki sterownik jest zainstalowany w komputerze, należy sprawdzić, czy
w opisie sterownika występuje człon "ADB" lub "Debug Driver". W poszczególnych
systemach operacyjnych można to sprawdzić w różnych miejscach. W systemie
Windows za pomocą Menedżera urządzeń należy znaleźć pozycję z nazwą producenta
urządzenia. Jeśli na przykład producentem jest Motorola, trzeba poszukać pozycji
z członem "Motorola". Jeśli w nazwie urządzenia występuje ADB, oznacza to, że
zainstalowane są odpowiednie sterowniki. Jeżeli jednak widać ostrzeżenie lub ikonę
błędu (wykrzyknik albo czerwony znak X), odpowiedni sterownik jest niedostępny
lub połączenie działa niepoprawnie.

Aby znaleźć odpowiednie sterowniki urządzenia, zwykle trzeba pobrać je z witryny


pomocy technicznej producenta. Czasem trudno jest znaleźć właściwy pakiet - nawet
jeśli użytkownik wie, czego szuka. Na forach XDA często znajdują się przyklejone wpisy
z odnośnikami do sterowników urządzeń. Niektórzy producenci, na przykład Motorola,
udostępniają program pomocniczy, który wyszukuje podłączone urządzenia i pobiera
odpowiednie sterowniki.

JAK KO RZYSTAĆ Z NARZĘ DZIA AD B?


Ten podrozdział pozwoli Ci zrozumieć tajemnicze narzędzie ADB. Znajdziesz tu
omówienie wszystkich jego poleceń potrzebnych do rozpoczęcia swobodnego
hakowania lub wykonywania etapów procesu rootowania. Narzędzie ADB pozwala
połączyć komputer z urządzeniem z Androidem.
48 ROZDZIAŁ 3. Wybór odpowiednich narzędzi

ADB to uruchamiane z wiersza poleceń narzędzie, które udostępnia liczne opcje


i parametry przeznaczone do wykonywania różnych zadań. Obecnie powszechne są
eleganckie interfejsy graficzne, dlatego cofanie się do wiersza poleceń może wydawać
się nieintuicyjne, jednak każdy dobry haker (wart swojej wagi w odblokowanych
telefonach) sprawnie posługuje się wierszem poleceń.

Polecenia, które powinieneś znać, można podzielić na dwie ogólne kategorie:


• Polecenia przeznaczone do robienia czegoś z urządzeniem z Androidem. Polecenia
te rozpoczynają się od jednej z instrukcji z pakietu SDK Androida, na przykład adb
lub fastboot.
• Polecenia przeznaczone do wykonywania zadań na lub w urządzeniu z Androidem.
Te polecenia są uruchamiane w powłoce Androida i zwykle wprowadza się je
w wierszu poleceń rozpoczynającym się od symbolu kratki ( #) lub dolara ($).

Niektóre z używanych instrukcji to polecenia systemu operacyjnego komputera,


a nie narzędzia ADB lub Androida. Oto najczęściej używane polecenia systemu
operacyjnego:
• Zmiana katalogu. Pozwala zmienić kontekst wiersza poleceń na inny katalog
(instrukcja cd w systemach Windows, Mac OS i Linux) .
• Wyświetlenie zawartości katalogu. Wyświetla pliki i katalogi z bieżącego folderu
(d i r w systemie Windows; l s w systemach Mac OS i Linux) .
• Tworzenie katalogu. Tworzenie podkatalogu w bieżącym folderze
(mkd i r w systemach Windows, Mac OS i Linux).

Nawiązanie połączenia między komputerem a urządzeniem to punkt wyjścia do hakowania.


Znajomość narzędzia ADB i podstawowych poleceń pomoże Ci w wykonywaniu
bardziej zaawansowanych operacji w trakcie rootowania i hakowania. Moim zdaniem
obawa przed narzędziem ADB lub jego nieznajomość to czynnik, który najbardziej
utrudnia pracę początkującym hakerom. Jeśli zastosujesz każde z poleceń choćby raz,
przeczytawszy ich omówienie, będziesz przygotowany na dalsze opisy procesów
hakowania.
2aden z dalszych przykładów i opisów nie powinien spowodować szkodliwych
zmian w urzqdzeniu. Jeśli jednak chcesz zachować pełne bezpieczeństwo
(jak naprawdę dobry haker), zarchiwizuj dane z karty SD urzqdzenia. Aby
umożliwić utworzenie kopii zapasowej i przywrócenie danych oraz aplikacji,
trzeba ustawić odpowiedniq opcję w menu Privacy Settings urzqdzenia.
Dane kontaktowe i pobrane ze sklepu Google Apps Marketplace aplikacje sq
przechowywane w chmurze Google'a i w razie potrzeby można je odzyskać.
Aby wykonać ćwiczenia z dalszej części rozdziału, musisz zainstalować na komputerze
narzędzia z pakietu SDK Androida. Jeśli zobaczysz komunikat widoczny na rysunku
3.3, zapoznaj się z dodatkiem A, skąd dowiesz się, jak zainstalować pakiet SDK.
HAKOWANI E AND ROIDA 49

Iii Administrator: C:\Windows\system32kmd.exe

F. :'Pł'ogl"am Files (x86 ),Andł'o id'andł'oid-sdk-windows'tools )adh_


' adh_' is not I"ecognized as an inteł'nal Ol' exteł'nal cOPlPland,
peł'ahle pł'ogl"aPl Ol" hatch f ile.

F :'Pł'ogl"am Files (x86 ),Andł'o id'andł'oid-sdk-tlindows'tools)

Rysunek 3.3. Komunikat z informacją, że pakiet SDKAndroida nie jest zainstalowany lub jest niedostępny
w bieżącym katalogu

SPRAWDZAN I E POŁĄCZEN IA Z U RZĄDZE N I E M


W tym punkcie opisano najskuteczniejszy sposób na sprawdzenie, czy komputer
ma wystarczająco szybkie i odpowiedniego rodzaju połączenie z urządzeniem.

Instrukcja adb dev i ces pozwala zobaczyć podłączone do komputera urządzenia


z Androidem w trybie diagnostycznym. Tę właśnie instrukcję należy wywołać jako
pierwszą na początku procesu rozwiązywania problemów.

Przed przejściem do dalszych kroków upewnij się, że urządzenie z Androidem jest


podłączone do komputera i że zainstalowane są właściwe sterowniki. Odnośniki
do potrzebnych sterowników znajdziesz na odpowiednim forum XDA.
l. Otwórz okno wiersza poleceń (w systemie Windows wciśnij kombinację Windows+R,
wpisz cmd w oknie dialogowym Uruchom, a następnie wciśnij przycisk Enter) .
2. Wpisz instrukcję adb dev i ces.
Jeśli urządzenie jest podłączone i zainstalowane są odpowiednie sterowniki,
efekt powinien być podobny do tego z rysunku 3.4. Jeśli nie widzisz numeru
seryjnego żadnego urządzenia, narzędzie ADB działa prawidłowo, jednak albo
urządzenie jest niepodłączone, albo brakuje właściwych sterowników
(zobacz ramkę "Rozwiązywanie problemów z połączeniem").

ID Administrator: C:\Windows\system32\cmd.exe

:'Pł'ogl"am Files (x86 ),Andł'o id'andł'oid-sdk-windows'tools)

Rysunek 3.4. Instrukcja adb devices informuje, że podtączone jest urządzenie HTC
50 ROZDZIAŁ 3. Wybór odpowiednich narzędzi

Jeśli pojawił się komunikat z rysunku 3.3, prawdopodobnie katalog narzędzia


ADB nie jest prawidłowo podany w zmiennej PATH. Z dodatku A dowiesz się,
jak skonfigurować narzędzie AD B, tak aby było dostępne z każdego katalogu.

Jeśli połączenie działa prawidłowo, instrukcja adb dev i ces zwraca listę urządzeń
podłączonych do komputera. Jeżeli podłączone jest więcej niż jedno urządzenie
z Androidem w trybie diagnostycznym, widoczne jest każde z nich (wraz z numerem
seryjnym) . Instrukcja wyświetla też uruchomione emulatory Androida.

Aby wskazać urządzenie, do którego komputer ma przesłać polecenie narzędzia ADB,


należy podać odpowiedni numer seryjny. Jest to niewygodne, dlatego łatwiej jest
podłączyć tylko urządzenie, z którym w danym momencie pracujesz.

PONOWN E U R U CHAM IAN I E USŁUGI ADB


Z poziomu wiersza poleceń uruchom ponownie usługę ADB. W tym celu wykonaj
następujące operacje:
l. Wpisz instrukcję adb ki l l -server i wciśnij Enter.
2. Wpisz instrukcję adb start-server i wciśnij Enter.
Polecenia te zamykają usługę ADB i ponownie ją uruchamiają. Następnie można na
nowo sprawdzić (za pomocą instrukcji adb devi ces) , czy urządzenie jest podłączone.

Rozwiązywanie problemów z połączeniem


Czasem urządzenie zrywa połączenie. Wtedy instrukcja adb dev i ces zwraca informację
List ot connected devices, po której następuje słowo off/ine. Oznacza to, że narzędzie
ADB wykrywa podłączone urządzenie, ale nie może się z nim komunikować.

Oto kroki wykonywane w trakcie rozwiązywania problemów z połączeniem:



Tryb diagnostyczny. Upewnij się, że urządzenie działa w trybie diagnostycznym.

USB. Upewnij się, że kabel USB jest podłączony do odpowiedniego (tylnego)
portu, a urządzenie z Androidem pracuje we właściwym trybie połączenia USB.

Kontekst. Upewnij się, że uruchamiasz polecenie narzędzia ADB w katalogu,
w którym wykonywalny plik binarny ADB jest dostępny.

Ponowne uruchamianie. Jeśli połączenie nadal nie działa, konieczne może być
zamknięcie i ponowne uruchomienie serwera ADB.

Czasem trzeba jeszcze raz uruchomić zarówno komputer, jak i urządzenie z Androidem.
Należy upewnić się, że sterownik jest poprawnie zainstalowany, i w razie konieczności
ponownie go zainstalować.

Warto też poszukać na forum XDA informacji o często spotykanych i znanych


problemach z połączeniem z danym urządzeniem.
HAKOWANI E AND ROIDA 5 1

KOPIOWAN I E PLI KÓW N A U RZĄDZEN I E I Z N I EGO


Jednymi z najprzydatniejszych operacji są przesyłanie plików na urządzenie i pobieranie
ich z niego. Większość technik rootowania i ustawiania opcji S-OFF wymaga przesłania
skryptu oraz uruchomienia go bezpośrednio w urządzeniu. W tym punkcie zobaczysz,
jak umieścić prosty plik tekstowy na karcie SD, a następnie sprawdzić, czy znajduje się
w urządzeniu. Wykonanie tej operacji z wykorzystaniem niegroźnego pliku pozwala
nabrać pewności potrzebnej do zapisywania w urządzeniu plików innego rodzaju.
Upewnij się, że w urzqdzeniu jest zainstalowany eksplorator plików, na przykład
program RootExplorer lub ES File Explorer. Aby stwierdzić, czy przenoszenie pliku
do telefonu zakończyło się powodzeniem, trzeba sprawdzić zawartość systemu
plików urzqdzenia.
Najpierw należy utworzyć plik tekstowy.
l. Otwórz okno wiersza poleceń i zwróć uwagę na ścieżkę.
2. Za pomocą Eksploratora Windows przejdź do katalogu, do którego prowadzi
ścieżka.
3. Kliknij w Eksploratorze Windows prawym przyciskiem myszy i wybierz opcję
NewjText File.
4. Zmień nazwę pliku tekstowego na sample.txt.

Oto składnia polecenia adb push:


adb push <przenoszony pl i k> <docel owa l o kal i zacj a>

Skopiuj plik tekstowy do urządzenia. W tym celu wróć do okna wiersza poleceń i wpisz
następującą instrukcję:
adb push sampl e . txt jsdcardjsampl e . txt

Efekt powinien być taki jak na rysunku 3.5.

EllI Administrator: Command Prompt

�9�r j(I�: �łł49 b���� i� 0�t�0��


l' m
< 4
< A r I'Oid-sdk-tlindowS'PlatFOl'm-too ls >adb push sample . txt /sdcał'd/

Ic: 'Program File:: (x86 ),Andl'o id'andł'o id-sdk-windows'platform-tOG Is >

Rysunek 3.5. Efekt wywolania instrukcji adb push

Jeśli przenoszony na urządzenie plik nie znajduje się w bieżącym katalogu, trzeba podać
pełną ścieżkę, co pokazano na rysunku 3.6.
52 ROZDZIAŁ 3. Wybór odpowiednich narzędzi

Instrukcja na rzędz ia �deżka i nazwa pliku, dla którego lokalizacja


z pakietu SDK wywoływanajest instrukcja i docelowy plik

� � ��------
( adb push l ( 1 (/sdcard/sample . txt1
�--------� �----------

c : \sampl e . txt
Rysunek 3.6. Sktadnia instrukcji adb push

Jeśli instrukcja adb push zwróci komunikat o błędzie z informacjq, że system plików
jest przeznaczony tylko do odczytu, jeszcze raz uruchom serwer ADB i ponów
operacje. Jeżeli problem nadal występuje, spróbuj zmienić ścieżkę do karty SD
ścieżkq do obszaru plików tymczasowych (/data/local/tmp), który na
niezrootowanym urzqdzeniu może być bardziej dostępny.
Teraz należy sprawdzić zawartość karty SD w urządzeniu i poszukać przesłanego pliku.
Otwórz eksplorator plików w urządzeniu i przejdź do katalogu głównego karty SD.
W niektórych eksploratorach jest to katalog domyślny, natomiast w innych znajduje się
w katalogu głównym systemu plików. Na rysunku 3.7 pokazano kartę SD wyświetloną
w aplikacji ES File Explorer.

Rysunek 3.7. Plik sample txt na karcie SD widoczny w aplikacji ES File Explorer

Teraz można przenieść plik z urządzenia z powrotem do komputera.


Składnia instrukcji adb pul l wygląda tak:
adb pul l <przenoszony pl i k> <docel owa l o kal i zacja>
HAKOWANI E AND ROIDA 53

Składnia jest podobna do pokazanej na rysunku 3.6, jednak zamiast instrukcji pul l
występuje tu słowo push.

W oknie wiersza poleceń wpisz następującą instrukcję:


adb pul l jsdcardjsampl e . txt sampl e2 . txt

Pamiętaj, aby wcisnąć klawisz Enter po wprowadzeniu polecenia.

Teraz wpisz instrukcję di r *. txt i wciśnij klawisz Enter. Pojawi się lista wszystkich
plików . txt z bieżącego katalogu. Wśród nich powinien znajdować się plik sample2. txt
przeniesiony z urządzenia z Androidem.
Instrukcja pul l przeniosła plik sample. txt i zapisała go w lokalnym systemie plików
pod nowq nazwq, sample2. txt. Technikę tę zastosujeszponownie wpunkcie dotyczqcym
zarzqdzania plikami, a także będziesz wielokrotnie z niej korzystał w czasie
wykonywania instrukcji rootowania opisanych na forach XDA. Zapisywanie pliku
pod nowq nazwq pozwala tworzyć kopie plików i czasem jest konieczne do
prawidłowego zastqpienia plików obrazu lub zainstalowania aktualizacji.
Często warto zarchiwizować na komputerze fragment systemu plików z urządzenia
z Androidem. Można przenieść określoną aplikację lub cały system plików, wprowadzić
zmiany na komputerze, a następnie przesłać nową wersję plików z powrotem do urządzenia.
Za pomocą instrukcji adb pul l i adb push można skopiować dowolny plik.

PONOWN E U R U CHAM IAN I E U RZĄDZE N IA


Po zastąpieniu obrazu lub zapisaniu pliku w systemie plików czasem trzeba jeszcze raz
uruchomić urządzenie. Instrukcja adb reboot umożliwia ponowne uruchomienie
urządzenia z Androidem z poziomu wiersza poleceń komputera. Instrukcję tę można
wywołać z jedną z dwóch opcji. Oto one:
• b o o t l oader. Ta opcja powoduje uruchomienie menu programu rozruchowego
w trakcie rozruchu (rysunek 3.8). Menu to czasem służy do uzyskania dostępu do
trybu Fastboot i instalowania oficjalnych aktualizacji firmware'u. W omawianym
menu można załadować sekwencję operacji programu rozruchowego, ponownie
uruchomić urządzenie lub je wyłączyć.

Ryst.nek 3.8. Ekran programu rozruchowego w tablecie Xoom Motorolipo uruchomieniu instrukcji adb reboot bootloader
54 ROZDZIAŁ 3. Wybór odpowiednich narzędzi

• recovery. Ta opcja powoduje załadowanie punktu przywracania zainstalowanego


w urządzeniu. Przy ponownym uruchamianiu używany jest firmware
(fabryczny punkt przywracania lub niestandardowy punkt przywracania)
zainstalowany w partycji przywracania systemu.

M OŻLIWOŚCI NARZĘ DZIA FASTBOOT


Fastboot z pakietu SDK Androida to rozbudowane narzędzie do zapisywania danych
na partycjach systemu plików urządzenia z Androidem. Instrukcje narzędzia Fastboot są
zwykle używane do instalowania plików obrazu i zawartych w nich systemów plików na
różnych partycjach - na przykład systemowej, rozruchowej lub przywracania systemu.

Instrukcje narzędzia Fastboot nie służą do badania lub hakowania. Pozwalają natomiast
w istotny sposób modyfikować system plików urządzeń z Androidem. Dlatego powinieneś
stosować je tylko wtedy, kiedy wiesz, co robisz. Nie wszystkie urządzenia można
uruchomić w trybie Fastboot. Zwykle instrukcji narzędzia Fastboot używa się tylko
w urządzeniach, w których można odblokować program rozruchowy.

Instrukcje narzędzia Fastboot znajdują się w innym katalogu niż polecenia adb. Fastboot
jest zapisany w katalogu C:\Program Files (x86)\Android\android-sdk-windows\tools\.

Podobnie jak przy korzystaniu z instrukcji adb, tak i po nazwie fastboot można
podawać różne polecenia i opcje, aby zmienić działanie narzędzia. Opisane dalej kroki
i działania wymagają uruchomienia telefonu w trybie Fastboot. Aby włączyć ten tryb,
wykonaj następujące operacje:
l. Podłącz urządzenie do komputera i za pomocą instrukcji adb devi ces sprawdź
połączenie.
2. Wpisz instrukcję adb reboot bootl oader i wciśnij klawisz Enter.

Po uruchomieniu się urządzenia powinieneś zobaczyć menu programu rozruchowego.


Wybierz w nim opcję FASTBOOT lub podobną (zobacz rysunek 3.8).

ODB LOKOWYWAN I E U RZĄDZEN IA


Część urządzeń, na przykład Nexus One i tablety Xoom, ma wbudowaną funkcję
odblokowywania i umożliwia wywołanie następującej instrukcji:
fas tboot OEM un l oc k

Ta instrukcja odblokowuje program rozruchowy, c o umożliwia wywołanie instrukcji


fl ash oraz innych poleceń narzędzia Fastboot potrzebnych do uzyskania dostępu
do konta root.
HAKOWANI E AND ROIDA 55

AKTUALlZOWAN I E U RZĄDZEN lA
Zastosowanie poniższego polecenia skutkuje umieszczeniem pliku update.zip
w urządzeniu z Androidem:
fas tboot update

Polecenie to jest stosunkowo rzadko stosowane w trakcie hakowania i rootowania,


natomiast można je wykorzystać do przywrócenia stanu po uszkodzeniu urządzenia.
Jeśli urządzenie obsługuje polecenia narzędzia Fastboot, a użytkownik zapisał w archiwum
update.zip kompletny system plików, można przy użyciu tego archiwum przywrócić
stan urządzenia.

STOSOWAN I E I N STRUKCJ I FLASH


Instrukcja fl ash to najprzydatniejsze polecenie narzędzia Fastboot. Umożliwia zapis
zawartości pliku obrazu na partycji o określonej nazwie w urządzeniu z Androidem.
Argumentem polecenia fl ash jest nazwa odpowiedniej partycji:
fas tboot fl ash boot
fas tboot fl ash system
fas tboot fl ash recovery

W odblokowanych urządzeniach instrukcja fl ash często służy do instalowania systemu


plików z dostępem do konta root. Jeśli utworzyłeś na przykład nowy plik boot.img
z odblokowanym programem rozruchowym lub uprawnieniami dającymi dostęp do
konta root, możesz za pomocą polecenia fl ash zapisać zawartość tego pliku na partycji
rozruchowej.

Ważne jest, aby pamiętać, że zainstalowanie nieodpowiednich danych lub przerwanie


procesu przenoszenia plików może prowadzić do trwałego uszkodzenia urządzenia.
Nigdy nie instaluj pliku obrazu na partycji, jeśli nie masz pewności, że używasz obrazu
odpowiedniego dla danego urządzenia i że dobrze zapoznałeś się z procesem na właściwym
forum XDA.

PONOWN E U R U CHAM IAN I E U RZĄDZE N IA


Poniższe polecenie jest czasem używane po instrukcji fl ash w celu ponownego
uruchomienia urządzenia. Prowadzi to do załadowania nowego systemu plików:
fas tboot reboot

Zamiast w standardowy sposób ładować system, można bezpośrednio uruchomić


w urządzeniu z Androidem program rozruchowy. Służy do tego następująca instrukcja:
fas tboot reboot -bootl oader
56 ROZDZIAŁ 3. Wybór odpowiednich narzędzi

WYKO RZYSTAN I E MOŻLIWOŚCI PI N GWI NA


ZA PO MOCĄ POWŁO KI AD B
Za pomocą narzędzia ADB można też nawiązać bezpośrednie połączenie z systemem
operacyjnym Android i wykorzystać możliwości Linuksa. Z poziomu powłoki systemu
operacyjnego można wtedy wykonywać liczne instrukcje, zależne od urządzenia.
Polecenie adb she1 1 umożliwia wykonywanie instrukcji bezpośrednio w urzqdzeniu
z Androidem. Za pomocq powłoki często wprowadza się zmiany w podstawowych
plikach systemu operacyjnego Android.
Po nawiązaniu połączenia z urządzeniem z Androidem za pomocą instrukcji adb she1 1
znak zachęty w komputerze się zmienia. Oznacza to, że użytkownik nie wprowadza już
instrukcji przetwarzanych przez lokalny komputer. Zamiast tego aktywny jest system
operacyjny Android i to właśnie on odbiera oraz przetwarza podawane polecenia.

Aby otworzyć powłokę, wpisz instrukcję adb she 1 1 . Znany wiersz zachęty zmieni się
wtedy w zagadkowy symbol $ lub #. Znak dolara ($) oznacza, że system operacyjny
oczekuje na polecenia, przy czym użytkownik nie jest uprzywilejowany, dlatego nie ma
możliwości uszkodzenia żadnych danych. Po uzyskaniu dostępu do konta root symbolem
zachęty jest znak kratki (#). Jego pojawienie się jest pięknym momentem dla hakera
Androida. Oznacza, że użytkownik ma pełną kontrolę nad systemem plików Androida.

W powłoce ADB należy wprowadzać instrukcje linuksowe (nie DOS-owe).


Aby na przykład wyświetlić listę plików i katalogów z danego folderu, należy
wywołać polecenie l s zamiast d i r.

Polecenia powłoki można przesyłać do urządzenia z Androidem bez uruchamiania


interaktywnej powłoki. Na przykład instrukcja:
adb shel l cp jsdcardjsampl e . txt
jsdcardjsampl e2 . txt

jest przetwarzana w taki sposób, jakby użytkownik wprowadził ją w wierszu poleceń


powłoki. W wielu opisach rootowania polecenia powłoki ADB są wykonywane właśnie
za pomocą tej techniki. Jest ona skrótem, który pozwala na uruchamianie
interaktywnych poleceń bez otwierania powłoki Androida.

PORUSZAN I E S I Ę PO SYSTE M I E PLI KÓW


W tym punkcie zobaczysz, jak otworzyć powłokę ADB i poruszać się po systemie plików
za pomocą instrukcji linuksowych. Omawiane tu polecenia są dostępne w domyślnej
konfiguracji Androida. Ponieważ Android to uproszczona wersja Linuksa, dostępny
jest tu tylko niewielki podzbiór instrukcji linuksowych. Dalej poznasz bardziej
zaawansowane polecenia Linuksa, które można zainstalować, korzystając ze znakomitego
pakietu BusyBox.

W dalszych podpunktach otworzysz powłokę AD B, przejdziesz po systemie plików


i z niego wyjdziesz.
HAKOWANI E AND ROIDA 57

Dostęp do powłoki ADB


Aby otworzyć powłokę AD B, należy wykonać następujące kroki:
l. Otwórz okno wiersza poleceń na komputerze.
2. Wpisz instrukcję adb 5he 1 l .

Jeśli narzędzie ADB jest prawidłowo skonfigurowane, znajdziesz się w powłoce Androida.
Jeżeli pojawi się komunikat o błędzie, sprawdź połączenie (pamiętaj o krokach
wykonywanych w trakcie rozwiązywania problemów).

Jeśli telefon nie jest zrootowany, symbol zachęty zmienia się w znak dolara ($),
po którym widoczny jest migający kursor (rysunek 3.9).

Si Administrator: C:\Windows\system32kmd.exe adb shell

Rysunek 3.9. Powloka ADB dla systemu operacyjnego Android

W tym momencie okno wiersza poleceń nie działa w kontekście lokalnego komputera.
Jest jedynie powłoką, przez którą można wykonywać operacje bezpośrednio w systemie
operacyjnym Android.

Wyświetla n i e zawartości kata log u


Przyjrzyj się teraz plikom i katalogom z bieżącego folderu Androida. Wpisz instrukcję
1 5 i wciśnij klawisz Enter (warto pamiętać, że polecenia są wykonywane dopiero
po wciśnięciu tego klawisza) .

Przejrzyj listę plików i katalogów. Trudno j est szybko stwierdzić, które pozycje
odpowiadają katalogom, a które plikom. Jeśli polecenie 1 5 jest wywoływane bez opcji,
Linux (a tym samym i Android) wizualnie nie odróżnia plików od katalogów. Przy
przeglądaniu zawartości Androida czasem warto posłużyć się bardziej zaawansowaną
wersj ą polecenia 1 5 W celu ustalenia, jakiego rodzaju pliki znajdują się w danym
katalogu.
Pliki i katalogi o nazwach poprzedzonych kropkq sq ukryte. Po wykonaniu
wcześniejszej instrukcji prawdopodobnie sq one niewidoczne. Aby je zobaczyć,
należy wywołać polecenie 1 5 -5.
58 ROZDZIAŁ 3. Wybór odpowiednich narzędzi

Porusza nie się po systemie plików


w tym podpunkcie zdobędziesz ważną umiejętność wyświetlania zawartości bieżącego
katalogu i poruszania się między folderami.
l. W oknie powłoki ADB wpisz polecenie cd /, aby przejść do katalogu głównego
systemu plików.
2. Wpisz instrukcję l s. Na liście zobaczysz między innymi pozycje system i etc.
3. Wprowadź polecenie cd system, aby zmienić bieżący katalog na system.
4. Wpisz instrukcję l s. Zobaczysz przewijane nazwy plików i katalogów z folderu system.
5. Teraz wróć do katalogu głównego systemu plików. W tym celu wprowadź instrukcję cd ;.
W systemie Linux (a także w Androidzie) wielkość znaków ma znaczenie.
Dlatego polecenie cd System jest błędne. Należy o tym pamiętać w trakcie
hakowania Androida - WIELKOŚĆ ZNAKÓ W JEST ISTOTNA!
Dzięki użyciu instrukcji cd można poruszać się po całym systemie plików Androida.
Polecenie l s pozwala wyświetlić katalogi i pliki z bieżącego folderu.

Warto pamiętać, że system plików z Androida przypomina odwrócone drzewo


(rysunek 3. 1 0). Katalogi to gałęzie wychodzące z katalogu głównego. Za pomocą
polecenia cd można przejść do katalogu nadrzędnego, w górę hierarchii.

I (Katalog główny)

I
I
data dev proc sdcard system tmp

I I
local

app ele bin framework

Rysunek 3 . 1 0. Drzewo systemu plików Androida

Poniższą skróconą instrukcję można zastosować do przejścia o jeden poziom w górę


hierarchii katalogów:
cd . .

Jeśli zaczniesz od katalogu głównego, potem przejdziesz do folderu /sdcard, a następnie


do katalogu /myfolder, pełna ścieżka będzie wyglądać tak: /sdcard/myfolder. Wprowadzenie
instrukcji cd pozwala przejść w górę z bieżącej lokalizacji do katalogu /sdcard.
. .

ZARZĄDZAN I E PLI KAM I


W hakowaniu chodzi o uzyskanie niestandardowego poziomu dostępu i uprawnień.
Dlatego w trakcie hakowania potrzebne są trzy podstawowe umiejętności:
• poruszanie się po plikach i zarządzanie nimi;
• określanie, którzy użytkownicy mają określony poziom dostępu do plików;
• zmienianie poziomu dostępu użytkowników do plików.
HAKOWANI E AND ROIDA 59

Poruszanie się po plikach opisano już wcześniej. Tu dowiesz się, jak manipulować
plikami i jak uzyskać do nich dostęp.

W trakcie hakowania niektórych urządzeń trzeba przenosić pliki między komputerem


a kartą SD. Karta SD obejmuje system plików wymagający niewielkich uprawnień.
Oznacza to, że można umieszczać pliki na karcie SD, a następnie przenosić je do
głównego systemu plików - zwykle po zastosowaniu do danej części systemu plików
skryptu z exploitem (na przykład psneuter).
Niektóre narzędzia do zarzqdzania plikami sq niedostępne. Aby móc z nich korzystać,
trzeba zainstalować pakiet BusyBox na zrootowanym urzqdzeniu. Pakiet ten
omówiono w końcowej części tego rozdziału i w opisach hakowania urzqdzeń.

Kopiowa n ie plików
Przede wszystkim możliwe musi być skopiowanie plików z jednego miejsca w inne.
W każdym systemie operacyjnym opartym na Linuksie można kopiować pliki i katalogi
przy użyciu instrukcji cp. Oto składnia tego polecenia:
cp <nazwa pl i ku zród f owego> <nazwa pl i ku docel owego>

Na przykład polecenie cp sampl e . txt sampl e2 . txt powoduje skopiowanie pliku


sample.txt do nowego pliku o nazwie sample2. txt. W ten sposób ostatecznie dostępne są
dwa pliki - sample. txt i sample2. txt.

W instrukcji cp można też podać pełne ścieżki, aby skopiować plik do innego katalogu.
W celu skopiowania pliku należy określić pełną docelową ścieżkę:
cp sampl e . txt jsdcardjmy_fol derjsampl e2 . txt

Hakerzy często stosują instrukcję adb push do umieszczenia skryptu z exploitem


lub pliku z firmware' em na karcie SD, a następnie za pomocą polecenia cp przenoszą
odpowiednie pliki i zmieniają ich nazwę.

Usuwa n i e plików
Instrukcja rm służy do usuwania plików i katalogów z systemu plików. Oto składnia tej
instrukcji:
rm < ś c i e ż ka i nazwa pl i ku>

W Androidzie nie ma kosza, dlatego skutków usunięcia plików nie można cofnąć.

Przenoszenie plików
Instrukcja mv to odpowiednik skopiowania pliku i usunięcia pierwotnej wersji.
Z instrukcji tej można korzystać po zainstalowaniu pakietu BusyBox (opis w dalszej
części rozdziału) na zrootowanym urządzeniu.
mv sampl e . txt jsdcardjsampl e2 . txt

Powyższe polecenie kopiuje plik sample. txt do nowego pliku sample2.txt na karcie SD,
a następnie usuwa plik sample. txt z bieżącego katalogu.
60 ROZDZIAŁ 3. Wybór odpowiednich narzędzi

Przykładowy proces zarządzenia pl ika m i


Jeśli nadal masz n a karcie S D plik sample. txt opisany z podrozdziale "Kopiowanie
plików na urządzenie i z niego", możesz wypróbować różne instrukcje do zarządzania
plikami. Jeżeli na karcie SD nie masz wspomnianego pliku, przenieś go na nią.
l. Uruchom powłokę ADB przez wywołanie instrukcji adb shel l w oknie wiersza
poleceń.
2. Po znaku zachęty $ wpisz polecenie cd \sdcard.
3. Wprowadź instrukcję l s - l .
4. Upewnij się, że na liście znajduje się plik sample. txt.
5. Wpisz polecenie cp samp l e . txt sampl ecopy . txt.

Teraz utwórz nowy katalog i skopiuj do niego plik samplecopy. txt.


l. Wprowadź instrukcję mkd i r MyD i rectory.
2. Wpisz następujące polecenie:
cp sampl ecopy . txt /MyDi rectory/sampl ecopy2 . txt
W nazwach plików i poleceniach w Linuksie oraz Androidzie wielkość znaków
ma znaczenie, dlatego nazwy mydirectory i MyDirectory nie oznaczajq tego
samego.
Teraz usuń plik samplecopy. txt i sprawdź, czy jego kopia znajduje się w katalogu
MyDirectory.
l. Wpisz instrukcję rm samp l ecopy. txt.
2. Wprowadź polecenie l s -l i upewnij się, że pliku samplecopy. txt nie ma na liście.
3. Wpisz instrukcję cd MyD i recto ry.
4. Wprowadź polecenie l s -l i sprawdź, czy plik samplecopy2. txt znajduje się na liście.

UPRAWN I E N IA DOSTĘPU DO PLI KÓW


Wiele instrukcji powłoki Androida przyjmuje opcje. Opcja to wprowadzany wraz
z poleceniem parametr, który pozwala zmienić sposób działania instrukcji. Zobacz,
jakie opcje są dostępne dla opisanej wcześniej instrukcji l s. W powłoce ADB wprowadź
następujące polecenie:
l s -?

Powłoka zgłasza błąd, ale następnie wyświetla wszystkie opcje polecenia l s.


Po zastosowaniu nieprawidłowej składni pojawia się lista obsługiwanych opcji
i parametrów. W pełnej wersji Linuksa można zastosować polecenie man i wyświetlić
odpowiednią stronę podręcznika. Android jest uproszczoną odmianą Linuksa i nie
obejmuje stron podręcznika z opisem popularnych instrukcji.
HAKOWANI E AND ROIDA 6 1

Sprawdza n i e u p rawn ień dostępu do pliku


Warto zauważyć, że jedną z opcji instrukcji l s jest -l (to mała litera L, a nie cyfra 1).
Powoduje ona wyświetlenie dodatkowych informacji. Wypróbuj tę opcję. W powłoce
ADB wprowadź następujące polecenie:
l s -l

Dane wyjściowe powinny wyglądać podobnie jak na rysunku 3 . 1 1 . Warto zwrócić


uwagę na niezrozumiałe ciągi liter na początku każdego wiersza. Znajduje się tu dużo
liter d, r, w i x.

'C"'i Administrator: Command Prompt · adb shell

: 'Users'Adlll in istrator }adb sl,ell


ls -l
ls -l
3 root root o Jan 30 1 1 : 31 acct
1 system cache 2048 Jan 30 01 : 22 cache
2 root root o Jan 30 1 1 : 31 config
1 ł"oot root 17 Jan 30 1 1 : 31 d -) /sys/kerne l/debug
1 system system 2048 Jan 30 01 : 22 data
)"w-r--r-- 1 ł"oot root 118 Dec 31 1969 defau lt . pł"op
rwxr-xr-x 12 l"oot root 1280 Jan 30 1 1 : 31 deu
lrwxrwxrwx 1 l"oot ł"oot 11 Jan 30 1 1 : 31 etc - ) /system/etc
:r�...x:r-x--- 1 l"oot ł"oat 94360 Dec 31 1969 init
:r�'IX:r-X--- 1 ł"oot ł"oot 1677 Dec 31 1969 i n i t _ goIdf ish _ ł"C
rl,o,x:r-x--- 1 ł"oot ł"oat 3464 Dec 31 1969 i n i t . lI'Iahilllahi _ ł"C
1"I,o,x:r-x--- 1 l"oot root 15021 Dec 31 1969 init . :rc
1"I,o,x:rwx:r-x 6 ł"oot system o Jan 30 1 1 : 31 Plnt
l"-x:r-xr-x 100 l"oot root o Dec 31 1969 proc
l"WX------ 2 l"oot root o Ap>, 6 2011 raot
rwx)"-x--- 2 root root o Dec 31 1969 sbin
rwxrwx--x 2 system syste fll o Jan 30 1 1 : 31 sd-ext
Irwxrwxrwx 1 root root 11 Jan 30 1 1 : 31 sdcard - } /fIlnt/sdcard
rwxr-xr-x 16 root root o Jan 30 1 1 : 31 sys
rwxr-xr-x 1 root root 2048 Jan 30 01 : 21 systefll
rw-r--r-- 1 root root o Dec 31 1969 ueventd . go Idf is), . rc
rw-r--r-- 1 root root 26 Dec 31 1969 ueventd . fIlahifllahi . r c
rw-r--r-- 1 root root 3908 Dec 31 1969 ueventd . rc
Irwxrwxrwx 1 root root 14 Jan 30 1 1 : 31 vendor - } /syste fll/ vendo

Rysunek 3.1 1 . Dane wyjściowe instrukcji Is -I

Lewą kolumnę informacji z rysunku 3. 1 1 można traktować jak tabelę wierszy i kolumn.
Każdy wiersz dotyczy pliku podanego po prawej stronie, a każda kolumna obejmuje
informacje o danym pliku (zobacz tabelę 3. 1). Litera d w pierwszej kolumnie oznacza
katalog. Dalszych dziewięć kolumn określa uprawnienia dostępu dla poszczególnych
kategorii użytkowników. Kolumny 2. 4. dotyczą kategorii User, kolumny 5. 7.
- -

kategorii Group, a kolumny 8. 10. kategorii Others. -

Tabela 3 . 1 . Informacje o pliku

Znaczenie Katalog User Group Others

Kolumna 3 4 5 10

Wartość d w x w w

Dla plików w Androidzie określone są dwa aspekty uprawnień - kategoria użytkowników


mających dane uprawnienia i rodzaj tych uprawnień. Występują trzy kategorie
użytkowników:
62 ROZDZIAŁ 3. Wybór odpowiednich narzędzi

• User to właściciel pliku.


• Group to wszyscy użytkownicy z grupy, do której należy właściciel pliku.
• Others to wszyscy pozostali użytkownicy urządzenia.

Każdy zestaw trzech kolumn określa rodzaje uprawnień (r - do odczytu, w - do zapisu


i x - do wykonywania) , które użytkownicy z danej kategorii mają do danego pliku.
W tabeli 3 . 1 przedstawiono przykładowe wartości poszczególnych kolumn. Jeśli dana
kategoria użytkowników nie ma określonego uprawnienia, w odpowiedniej kolumnie
znajduje się dywiz.
W urzqdzeniach z Androidem znaczenie majq kolumny z uprawnieniami dla
kategorii User i Others. Niekiedy konieczna jest zmiana uprawnień do niektórych
skryptów i plików binarnych umieszczanych w niezhakowanym urzqdzeniu.

Zmiana u p rawn ień dostępu do plików


Polecenie zmiany trybu (chmod) to jedna z najważniejszych instrukcji w kontekście
hakowania Androida. To ta instrukcja zmienia uprawnienia i sposób dostępu do plików
oraz katalogów.

Poziom uprawnień dla danej kategorii można zmienić za pomocą parametrów u, g i o


(oznaczających kategorie User, Group i Others) oraz operatora ( + lub -) , określającego,
że należy dodać lub usunąć podane uprawnienia. Poniższe przykładowe polecenie
dodaje uprawnienia do odczytu i wykonywania dla kategorii User i Others:
chmod uo + rx <nazwa pl i ku>

Nie wygląda to skomplikowanie, jednak w opisach hakowania polecenie chmod zwykle


stosuje się w inny sposób - podając wartości liczbowe, które określają poziom
uprawnień dla danej kategorii. Możliwe wartości liczbowe i ich znaczenie
przedstawiono w tabeli 3.2.

Tabela 3.2. Opcje polecenia chmod

Wartość Uprawnienia

Pełne

Odczyt i zapis
5 Odczyt i wykonywa nie
4 Tylko odczyt

3 Zapis i wykonywanie
Tylko zapis

Tylko wykonywa nie


Brak
HAKOWANI E AND ROIDA 63

Jedna wartość liczbowa reprezentuje uprawnienia dla wszystkich trzech kategorii


użytkowników. Jeśli uznasz, że osoby z kategorii User powinny mieć pełne uprawnienia
do pliku sample. txt, a kategorie Group i Others mają mieć do tego pliku uprawnienia
tylko do odczytu, możesz ustawić to za pomocą następującej instrukcji:
chmod 0744 samp1 e . txt
Jeśli nie masz dostępu do konta root, wykonanie opisanych poniżej kroków na
plikach z katalogu karty SD może być niemożliwe. W takiej sytuacji przenieś plik
sample. txt do katalogu /data/local/tmp urzqdzenia i ponownie spróbuj wykonać
przedstawione operacje.
l. W oknie powłoki ADB wpisz polecenie cd jsdcard.
2. Wprowadź instrukcję l s, aby sprawdzić, czy plik sample. txt nadal znajduje się
we wspomnianym katalogu.
3. Wpisz polecenie l s -l samp1 e . txt w celu ustalenia uprawnień ustawionych
dla tego pliku.
4. Wprowadź instrukcję chmod 077 5 samp l e . txt, aby plik sample. txt stał się wykonywalny.
5. Wpisz polecenie chmod 0766 samp l e . txt w celu zmienienia uprawnień dla kategorii
Group i Others na uprawnienia do odczytu i zapisu.

Początkowo stosowanie polecenia chmod może wydawać się żmudne i nieintuicyjne.


Zwykle nie trzeba przejmować się uprawnieniami do plików i katalogów. W opisach
rootowania znajdziesz informacje o tym, dla których plików należy zmienić
uprawnienia i w jaki sposób to zrobić.

PRZEKIEROWAN IA I POTOKOWE WYKONYWAN I E I N STRU KCJ I


Przekierowanie pozwala zapisać dane wyjściowe z instrukcji n a dysku. Operator
przekierowania ( » powoduje zapisanie takich danych w pliku o podanej nazwie
(jeśli taki plik już istnieje, jest zastępowany). Poniższa przykładowa instrukcja zapisuje
listę plików w pliku listing. txt:
l s -l > 1 i s t i ng . txt

Potokowe wykonywanie instrukcji polega na wykorzystaniu danych wyjściowych jednego


polecenia jako danych wejściowych dla innego. Operator potokowania ( I ) przyjmuje dane
wyjściowe polecenia i przekazuje je jako dane wejściowe do następnego. Poniższa instrukcja
przyjmuje listę katalogów i przekazuje ją do polecenia more (które wyświetla dane
wyjściowe strona po stronie i pozwala użytkownikowi przechodzić między ekranami):
l s -l I more
l. W oknie powłoki ADB wpisz polecenie l s -l > \sdcard\ l i st i ng . txt.
2. Wprowadź polecenie more \sdcard\ l i st i n g . txt, aby wyświetlić zawartość pliku
listing. txt, utworzonego za pomocą symbolu przekierowania.
3. Wpisz instrukcję l s -l I more. Zobaczysz, że potokowanie daje ten sam efekt,
co wykonanie instrukcji z punktów 1 . i 2.
64 ROZDZIAŁ 3. Wybór odpowiednich narzędzi

ZŁĄCZAN I E
Polecenie złączania ( cat) pobiera zawartość pliku lub struktury plików i strumieniowo
przekazuje ją do innego pliku lub na ekran. Stosując operator przekierowania, można
na przykład strumieniowo przesłać zawartość systemu plików do jednego pliku.
Aby skopiować system plików bit po bicie, można zastosować następującą instrukcję:
cat jdata >data . i mg

To polecenie powoduje zapisanie zawartości katalogu /data w pliku obrazu.

B U SYBOX - N I ECH MOC P I N GWI NA B Ę DZI E Z TO BĄ


W Androidzie dostępne są niektóre polecenia Linuksa. BusyBox to znakomity pakiet
wielu narzędzi, pierwotnie opracowany przez Bruce'a Perensa i rozbudowany do
prawdziwego "scyzoryka szwajcarskiego" z narzędziami linuksowymi. Obecnie za
pakiet odpowiada Stericson, jeden z głównych moderatorów XDA. Po zainstalowaniu
pakietu BusyBox uzyskasz dostęp do znacznie większego zestawu poleceń Linuksa,
zoptymalizowanych pod kątem małych systemów i ograniczonych zasobów. Ponieważ
BusyBox ma postać jednego pliku binarnego, polecenia mogą korzystać ze wspólnego
kodu, dzięki czemu pakiet jest niewielki.

BusyBox będzie Twoim nieodłącznym towarzyszem w trakcie hakowania urządzeń


z Androidem. Liczne zaawansowane narzędzia linuksowe są nie dostępne do czasu
zainstalowania pakietu BusyBox. Dlatego jego zainstalowanie jest często jednym
z pierwszych zadań w trakcie rootowania lub hakowania urządzenia. Proces
instalowania pakietu i wywoływania jego instrukcji jest różny w poszczególnych
urządzeniach. W opisach procesu rootowania zwykle jeden z kroków dotyczy
instalowania omawianego pakietu. Instrukcje jego instalacji w danym urządzeniu
znajdziesz na forach XDA.

Niektóre aplikacje wymagające dostępu do konta root narzucają też konieczność


zainstalowania pakietu BusyBox i potrzebują niektórych jego instrukcji.

W pakiecie BusyBox może znajdować się ponad 200 instrukcji. W trakcie hakowania
będziesz korzystał z niewielkiej ich części. Tu opisano trzy najczęściej stosowane z tych
poleceń. Można je wywoływać w powłoce lub terminalu Androida.

I N STRU KCJA DD
Jest t o specjalne, oparte n a niskopoziomowym kopiowaniu polecenie, które pozwala
kopiować dane źródłowe, przekształcać je i zapisywać w określonym miejscu. W trakcie
hakowania Androida instrukcja dd często służy do zapisywania pliku obrazu w pamięci
lub pliku, kiedy dane muszą być identyczne z oryginałem, aby można je wykorzystać
w ważnych operacjach, na przykład jako pliki rozruchowe systemu operacyjnego.
HAKOWANI E AND ROIDA 65

Oto składnia instrukcji dd:


dd i f=<pl i k zródf owy> of=<pl i k docel owy>
• Parametr i f (ang. inputfile, czyli plik wejściowy) określa, gdzie instrukcja może
znaleźć plik źródłowy.
• Parametr o f (ang. outputfile, czyli plik wyjściowy) informuje, gdzie polecenie ma
zapisać plik docelowy.
Należy zachować staranność przy podawaniu parametrów. Odwrócenie
kolejności parametrów i f i o f może mieć poważne konsekwencje.

I N STRU KCJA ECHO


Polecenie echo zapisuje łańcuch znaków na ekranie (w Linuksie docelowym miejscem
jest strumień stdout). W czasie hakowania Androida instrukcja ta czasem służy
do przekazania systemowi fałszywego specjalnego komunikatu systemowego,
oznaczającego na przykład, że na karcie SD znajduje się aktualizacja, którą system
ma zainstalować.

POLECE N I E M D5SU M
Instrukcja md5sum umożliwia utworzenie skrótu pliku za pomocą algorytmu MD5
i wyświetlenie danych wyjściowych. Jest to bardzo precyzyjny i prosty sposób na
stwierdzenie, czy pliki zapisane w różnych miejscach są takie same. Jeśli ktoś zastosował
instrukcję md5sum do utworzenia skrótu pliku i opublikował ten skrót, to taki skrót
można porównać ze skrótem utworzonym lokalnie. Jeśli skróty pasują do siebie,
to niezależnie od tego, ile razy plik kopiowano, przenoszono, pobierano lub przesyłano,
wiadomo, że jest identyczny z oryginałem.

W trakcie hakowania Androida polecenie md5sum często służy do sprawdzania, czy


ważne pliki systemowe (zastępujące istniej ące pliki) są takie, jakie być powinny.
Jeśli tak jest, można je umieścić w partycji systemowej. Instrukcja służy też do
sprawdzania poprawności pliku po zapisaniu go w pamięci lub systemie plików.

Aby sprawdzić poprawność pliku, należy wykonać następujące operacje:


l. W oknie wiersza poleceń na komputerze wpisz instrukcję adb shel l , aby uruchomić
powłokę ADB w trybie interaktywnym.
Symbol zachęty w wierszu poleceń zmieni się na #, co oznacza pełny dostęp
do systemu plików.
2. Wprowadź obok znaku # następujące polecenie (pozwala ono sprawdzić wartość
skrótu danego pliku - tu jest to plik sample.txt z karty SD):
jdatajl ocal jbusybox md5sum jsdcardjsampl e . txt
Dla tego pliku instrukcja md5sum powinna zwrócić skrót
4deed76681853806d45e 14 1a96f606dc (dla innych plików
danymi wyjściowymi powinny być podobne łańcuchy znaków).
66 ROZDZIAŁ 3. Wybór odpowiednich narzędzi

3. Jeśli otrzymany łańcuch znaków różni się od oczekiwanego, należy ponownie


pobrać lub skopiować plik i umieścić go na karcie SD.
Jeżeli skrót wygenerowany przez polecenie md5sum jest niezgodny z oczekiwanym,
bardzo ważne jest, aby nie uruchamiać jeszcze raz urzqdzenia. Trzeba
ponawiać kopiowanie pliku do czasu otrzymania oczekiwanego skrótu MD5.
ROOTOWANIE A INSTALOWANIE
,

NIESTANDARDOWYCH PROGRAMOW
DO PRZYWRACANIA SYSTEMU

W TYM ROZDZIALE:
• Exploity i sposoby ich stosowania.
• Narzędzia do hakowania.
• Tryb przywracania systemu.
• Używanie programu ClockwordMod do przywracania systemu.
• Tworzenie kopii zapasowej i przywracanie systemu po poważnych awariach.

Exploit wykorzystuje znaną lukę, która umożliwia użytkownikom Androida zwiększenie


poziomu uprawnień i uzyskanie dostępu do konta root. Większość luk występuje w procesie
rozruchu, co opisano w rozdziale 1. Ich wykrywaniem zajmują się doświadczeni twórcy
oprogramowania do systemów Android i Linux, którzy śnią w kodzie dwójkowym i żywią
się tylko napojami energetycznymi. Kiedy te osoby znajdą słaby punkt w zabezpieczeniach
wprowadzonych przez producenta lub operatora, udostępniają tę wiedzę, a czasem także
i exploit, który pozwala mniej doświadczonym hakerom i programistom wykorzystać lukę.

JAK KO RZYSTAĆ Z EXPLOITÓW?


Wielu spośród tych pomocnych hakerów udostępnia przydatne materiały na forach
XDA i w innych witrynach społeczności skupionej wokół Androida. Pozwala to mniej
zaawansowanym hakerom podjąć próbę oswobodzenia urządzeń z łańcuchów"
"
nałożonych przez producentów lub operatorów. Programiści czasem tworzą gotowe
pakiety z exploitami i udostępniają je.
68 ROZDZIAŁ 4. Rootowanie a instalowanie niestandardowych programów do przywracania systemu

Jednym z argumentów na rzecz stosowania prostych i uruchamianych jednym


kliknięciem technik rootowania jest to, że sq one rozwinięciem opisywanego tu
podejścia. Większość osób, które z góry patrzq na użytkowników takich technik,
nie miałaby pojęcia, co zrobić z lukq ASHMEM (wykorzystuje się jq w licznych
obecnie stosowanych metodach rootowania). Na szczęście dla tych osób Scott Walker
opracował narzędzie p sneuter, które umożliwia wykorzystanie wspomnianej luki.
To, że opracowanie danego narzędzia wykracza poza Twoje możliwości, nie
oznacza, że nie powinieneś móc korzystać z jego zalet i swobody, jakq daje.
Exploity są udostępniane w skupionej wokół Androida społeczności w formie
skryptów, narzędzi, aplikacji lub plików obrazu. Zależy to od typu luki. W tym
podrozdziale omówiono każdą z wymienionych postaci.

SKRYPTY Z EXPLOITAM I
Skrypt to zestaw instrukcji, które można uruchomić za pomocą jednego polecenia.
Skrypt może składać się z instrukcji i parametrów lub kodu natywnego.

Programista lub haker Androida, który znajduje lukę w urządzeniu, może umieścić
potrzebne do jej wykorzystania polecenia i procedury w skrypcie. Stosowanie skryptów
przygotowanych przez innych hakerów i programistów Androida znacznie ułatwia proces
hakowania. Większość urządzeń zablokowanych przez producenta jest ostatecznie
hakowanych za pomocą skryptów lub aplikacji wykorzystujących znaną lukę.

Skrypty są przydatne nie tylko do hakowania. Gotowe skrypty można uruchamiać


z poziomu powłoki ADB lub terminala Androida.
Terminal zapewnia dostęp do powłoki poleceń Androida bezpośrednio z poziomu
telefonu. Terminale czasem sq trudne w użyciu z uwagi na niespójność w działaniu
klawiatur programowych.

Tworzenie skryptu
Przedstawiony tu skrypt jest prosty i opracowano go jedynie w celach demonstracyjnych.
Działa tylko wtedy, jeśli użytkownik wcześniej zrootował urządzenie i ma uprawnienia
administratora.
l. Zapisz polecenia z listingu 4. 1 w prostym edytorze tekstu, na przykład w Notatniku.
Użyte tu instrukcje wyjaśniono w rozdziale 3.

Listing 4. 1 . Prosty skrypt

mkd i r jsdcardjmybackups
cp jdataj* jsdcardjmybackups
cat jsystem > jsdcardjmybac kupsjsystem . img
echo Zarch i w i zowano partycj e Data i System

2. Zapisz plik pod nazwą backup.script na lokalnym komputerze.


HAKOWANI E AND ROIDA 69

3. W wierszu poleceń wprowadź poniższą instrukcję, aby przenieść skrypt na urządzenie:


adb push bac kup . script jdatajl ocal jtmpjback u p . s cri pt
4. Wpisz poniższe polecenie, aby umożliwić wykonywanie skryptu:
adb shel l chmod 0775 jdatajl ocal jtmpjbac kup . script

Wykonywan i e skryptu

l. Otwórz powłokę ADB i przejdź do katalogu /data/local/tmp.


2. Uruchom skrypt, wprowadzając poniższe polecenie:
. jbackup . s cri pt
Instrukcje z pliku backup.script są uruchamiane jedna po drugiej i wykonują
następujące operacje:
a. Tworzenie katalogu na kopię zapasową zawartości karty SD.
b. Kopiowanie wszystkich danych z katalogu data do katalogu mybackups.
c. Dołączanie katalogu system do pliku obrazu z katalogu mybackups.
d. Informowanie użytkownika o zakończeniu wykonywania instrukcji.

APLIKACJ E Z EXPLOITAMI
Aplikacja to utworzony w kodzie natywnym i skompilowany program do uruchamiania
w Androidzie. Tworzenie wygodnych, skutecznych i bezpiecznych exploitów w formie
aplikacji natywnych jest znacznie trudniejsze niż pisanie skryptów. Programista musi
dobrze znać wykorzystywaną lukę, a także upewnić się, że exploit nie wywołuje
niepożądanych efektów. Ponieważ użytkownicy nie mogą zapoznać się z kodem
i stwierdzić, jak działa, muszą mieć duże zaufanie do umiejętności programisty.
Społeczność hakerów Androida jest zgrana i przyjazna, jednak nikt nie lubi
przykrych niespodzianek w wyniku uruchomienia złośliwego exploita w telefonie.

Listing 4.2 jest dowodem na to, że aplikacje z exploitami są dużo bardziej


skomplikowane od skryptów. Kod na listingu 4.2 pochodzi z narzędzia psneuter Scotta
Walkera. Narzędzie to pozwala uzyskać tymczasowy dostęp do konta root w smartfonie
Droid Pro i w wielu innych urządzeniach. Cały kod narzędzia liczy ponad 100 wierszy.
Narzędzie napisano w języku C, dlatego j est kompletną (choć niewielką) aplikacj ą,
a nie skryptem. Tymczasowy dostęp do konta root zapewniany przez tę aplikację jest
jak włożenie stopy w drzwi i pozwala uruchamiać polecenia z pakietu BusyBox oraz
zapisywać dane w chronionych obszarach systemu plików Androida.

Listing 4.2. Fragment kodu narzędzia psneuter

fdStr = workspace ;
i f ( strstr (workspace, " , " ) )
* ( strstr (workspace, " , " ) ) = O;
el se

fpri n t f ( stderr , " I n correct format of


ANDRO I D PROPERTY WORKSPACE envi ronment
- -
70 ROZDZIAŁ 4. Rootowanie a instalowanie niestandardowych programów do przywracania systemu

var i abl e ? \n " ) ;


ex i t ( 1 ) ;

szStr fdStr + s trl en ( fdStr) + 1 ;


=

fd = atoi ( fdStr) ;
sz = atol ( szStr) ;
i f ( (ppage mmap ( O , s z , PROT- READ , MAP_SHARED,
=

fd , O) ) MAP_ FAI LED)


==

Niestandardowe skrypty i kod służą też do stosowania kompozycji i wprowadzania


zmian w interfejsie, łączonych przez programistów w pakiety na potrzeby społeczności
użytkowników Androida.

U R U CHAM IAN I E SKRYPTU LU B APLIKACJ I W U RZĄDZE N I U


Jeśli w instrukcjach znajdziesz informację, że dany plik jest skryptem lub że plik należy
uruchomić w urządzeniu, powinieneś wykonać następujące kroki:
l. Umieść plik w obszarze systemu plików (na przykład w katalogu /data/locall) ,
w którym można uruchamiać uprzywilejowane skrypty.
2. Zmień uprawnienia do pliku, aby umożliwić jego wykonywanie. W tym celu
wywołaj następującą instrukcję:
chmod 0775 <nazwa pl i ku>
3. Wpisz poniższe polecenie, aby uruchomić plik wykonywalny w powłoce ADB
lub oknie terminala:
. /< ś c i eż ka>/<nazwa pl i ku>

Kroki te prawie zawsze są takie same, inne jest natomiast miejsce, w którym należy
umieścić plik i go uruchomić.

Z4Root (rysunek 4. 1) to przykładowa aplikacja, która w trakcie instalacji rootuje urządzenie.


Jest to pomysłowy i przydatny program, który wykonuje wszystkie trudne zadania w trakcie
rootowania urządzenia. Po zainstalowaniu aplikacji Z4Root na urządzeniu z Androidem
wystarczy ją uruchomić i kliknąć przycisk Root, a aplikacja automatycznie zrootuje telefon.
W trakcie hakowania zawsze należy pamiętać, że uruchamianie skryptów
i aplikacji wiqże się z wzięciem na siebie pewnej odpowiedzialności. Czy znasz
programistę danego kodu? Ufasz mu? Czy jesteś gotów ponieść konsekwencje
uszkodzenia urzqdzenia? Uruchomienie złośliwego skryptu lub programu,
które pobierajq hasła z urzqdzenia, może prowadzić do utraty prywatności.

NARZĘ DZIA D LA HAKERÓW


Programiści ze społeczności skupionej wokół Androida często kompilują lub tworzą
aplikacje uruchamiane na komputerach. Aplikacje te albo ułatwiają hakowanie
urządzeń, albo są ważne przy stosowaniu danego exploita. Niektóre narzędzia są pisane
przez zaawansowanych programistów, a inne są "wyłudzane" od pracowników
zatrudnionych przez producenta urządzenia.
HAKOWANI E AND ROIDA 7 1

Rysunek 4. 1 . Aplikacja 14Root

NARZĘDZIA FAB RYCZN E


Narzędzia fabryczne są rozwijane przez producenta (lub przez niezależną firmę na jego
potrzeby). Narzędzia tego typu zwykle stosuje się w punktach serwisowych. Na przykład
program RSD Lite jest używany na całym świecie w punktach serwisowych Motoroli do
instalowania podpisanych przez Motorolę obrazów w różnych urządzeniach tej firmy.

Narzędzia fabryczne to zwykle programy, które przyjmują kompletny obraz systemu


lub dysku i zapisują go w programie rozruchowym lub systemie plików przez kabel USB.
Przykładowe narzędzia tego rodzaju to NVFlash (dostępne dla większości urządzeń
z układem Tegra firmy NVIDIA) i RSD Lite (używane w niektórych urządzeniach
Motoroli). Stosowanie takich narzędzi wymaga zwykle znalezienia instrukcji na forach XDA
lub w innej witrynie społeczności skupionej wokół Androida i ścisłego zastosowania się
do nich. Omawiane narzędzia mają zwykle uproszczone interfejsy i ubogą dokumentację
(czasem jest ona w ogóle niedostępna).

NARZĘDZIA OPRACOWAN E PRZEZ PROGRAM ISTÓW


Niestandardowe narzędzia rozwijane przez społeczność programistów Androida mają
różną jakość i bywają trudne w użyciu. Niektóre z nich przeprowadzają wszystkie
potrzebne operacje w reakcji na jedno kliknięcie, inne wykonują tylko jedno zadanie,
na przykład zastępują interfejs użytkownika lub wprowadzają inne zmiany.
72 ROZDZIAŁ 4. Rootowanie a instalowanie niestandardowych programów do przywracania systemu

PLI KI O B RAZU
Plik obrazu to wierna co do bitu kopia partycji (systemu operacyjnego z jądrem,
programem rozruchowym, punktem przywracania itd.). Plik obrazu umożliwia
zapisanie stanu, plików, uprawnień i struktury w pamięci lub systemie plików oraz
stanowi dokładne odzwierciedlenie źródłowego systemu. Pliki obrazu służą między
innymi do przywracania fabrycznego stanu urządzenia. Jeśli urządzenie zostało
uszkodzone i nie nadaje się do użytku, zainstalowanie znanego, zgodnego obrazu
jest zwykle jedynym sposobem na przywrócenie sprzętu do stanu używalności
(zobacz podrozdział "Kopie zapasowe i przywracanie stanu po poważnych awariach").

Czasem zrootować zablokowane urządzenie można tylko za pomocą obrazu


zrootowanego urządzenia dla programistów (udostępnianego dla partnerów
producenta na potrzeby pisania pierwszych aplikacji), zapisując taki obraz w systemie
plików zablokowanego sprzętu. W niektórych urządzeniach programiści wykonują
w Androidzie skomplikowane operacje, na przykład zmieniają uprawnienia i instalują
inne jądro Linuksa. Następnie programista umieszcza gotowy system w pliku obrazu,
który można zapisać w standardowym urządzeniu, posługując się narzędziem fabrycznym
lub programem z pakietu SDK Androida, takim jak Fastboot. Dzięki temu wystarczy
wykonać jeden krok, aby zrootować urządzenie i przygotować je do dostosowywania.

Xoom to przykładowe ( odblokowane) urządzenie, które wymaga zastosowania tej


metody. Koushik Dutta szybko zrootował to urządzenie i udostępnił społeczności
rozruchowy plik obrazu. Obraz ten szybko stał się podstawą zmodyfikowanych wersji
oraz posłużył do opracowania innych narzędzi i metod działających w zrootowanym
urządzeniu Xoom. Ponieważ Xoom nie jest zablokowany, można łatwo zastąpić jego
program rozruchowy za pomocą niestandardowego pliku obrazu i narzędzia Fastboot
z pakietu SDK Androida.
Dużq część naprawdę trudnych zadań zwiqzanych z hakowaniem i rootowaniem
urzqdzeń wykonujq programiści, którzy udostępniajq efekty swojej pracy wformie
skryptów, narzędzi, aplikacji i plików obrazu. Przeciętny użytkownik musi tylko
umieć zastosować odpowiednie narzędzia.

TRYB PRZYWRACAN IA SYSTEM U


Kiedy urządzenie z Androidem rozpoczyna proces rozruchu, pobiera program rozruchowy
i zaczyna wczytywać system operacyjny Android. Przez wciśnięcie w trakcie rozruchu
odpowiedniej kombinacji klawiszy można przejść w tryb przywracania systemu.
Przeznaczone do tego kombinacje klawiszy w poszczególnych urządzeniach są różne,
jednak zwykle w tryb przywracania systemu można przejść za pomocą przycisku zasilania
i jednego z przycisków zmiany głośności.
HAKOWANI E AND ROIDA 73

CZYM J EST TRYB PRZYWRACAN IA SYSTEM U ?


Tryb przywracania systemu jest oparty na zewnętrznym, prostym systemie operacyjnym,
który służy do instalowania oficjalnych aktualizacji. Domyślnie program do przywracania
systemu szuka na karcie SD pliku o nazwie update.zip. Kiedy znajdzie ten plik, zwykle
sprawdza jego sygnaturę, aby ustalić, czy aktualizację można bezpiecznie zainstalować
w systemie operacyjnym Android. Jeśli sygnatura pasuje do sygnatury producenta,
zmiany w systemie plików zapisane w archiwum update.zip są wprowadzane i następuje
ponowne uruchomienie telefonu.

Domyślny tryb przywracania pamięci czasem pozwala też przejść w tryb serwisowy,
który umożliwia opróżnienie pamięci podręcznej z danymi lub przywrócenie stanu
fabrycznego.

Mechanizm przywracania systemu niekiedy znajduje się w odrębnym systemie plików


NAND. W innych urządzeniach jest tylko partycją w ogólnej pamięci NAND z systemem
plików Androida. Różnica ta nie ma znaczenia, ponieważ zapis w mechanizmie
przywracania systemu wymaga dostępu do konta root. Czasem zawartość systemu
przywracania pamięci można zmienić tylko z poziomu zewnętrznych narzędzi. Jednak
w większości nowych urządzeń po zrootowaniu urządzenia niestandardowy program
do przywracania systemu można zainstalować z poziomu systemu operacyjnego Android.

UPROŚĆ SOB I E PRACĘ - ZAI N STALUJ N I ESTAN DARDOWY


PROG RAM DO PRZYWRACAN IA SYSTEM U !
Niestandardowe operacje z zakresu przywracania systemu znacznie wykraczają poza
możliwości dostępne w domyślnym trybie przywracania. Niestandardowe rozwiązania
nie wymagają korzystania z podpisanych lub sprawdzonych aktualizacji, dlatego można
instalować nieoficjalne aktualizacje, pojawiające się na długo przed udostępnieniem
poprawek przez producentów i operatorów. Niestandardowe programy do przywracania
systemu umożliwiają też całkowite zastąpienie istniejącego systemu operacyjnego
Android i firmware'u. Pozwala to na stosowanie niestandardowych instalacji
i aktualizacji Androida. Można też zaktualizować firmware do obsługi sieci,
aby naprawić błędy producenta lub zwiększyć możliwości sprzętu.

Jedną z najważniejszych funkcji niestandardowego programu do przywracania systemu


jest możliwość całkowitego lub częściowego zarchiwizowania systemu. Kopia zapasowa
aplikacji, danych i systemu plików Androida jest dla hakera jak dobra polisa
ubezpieczeniowa.
Zewnętrzne, kompletne kopie zapasowe sq czasem nazywane kopiami NANDroid,
ponieważ do przechowywania plików z systemem plików Androida służy
pamięć NAND.
Dwie naj popularniejsze niestandardowe aplikacje do przywracania systemu
to ClockworkMod i Amon Ra. Nie są to jednak jedyne programy tego rodzaju.
74 ROZDZIAŁ 4. Rootowanie a instalowanie niestandardowych programów do przywracania systemu

Aplikację do przywracania systemu można zainstalować na kilka sposobów. W większości


urządzeń można wykorzystać do tego aplikację RomManager lub plik z aktualizacją.
Należy znaleźć informacje na temat danego urządzenia na forum XDA i zobaczyć,
która technika instalowania niestandardowych aplikacji do przywracania systemu jest
najlepsza zdaniem innych użytkowników.

Instalowa n ie za pomocą Rom Managera


Program ClockworkMod najłatwiej jest zainstalować za pomocą aplikacji RomManager,
opracowanej przez Koushika Duttę. RomManager wykrywa rodzaj urządzenia, w którym
jest zainstalowany, i określa, w którym miejscu i w jaki sposób zapisać program do
przywracania systemu. Ponieważ program ClockworkMod tak łatwo zainstalować,
jest on jedną z najczęściej stosowanych aplikacji do przywracania systemu.

RomManagera można też wykorzystać do zainstalowania programu Amon Ra. W tym


celu należy wybrać opcję alternate recoveries. Można wykorzystać dowolny pobrany
program do przywracania systemu jako aktualizację. Za pomocą aplikacji ClockworkMod
można wskazać jako aktualizację pobrany plik .zip.

Instalowa n ie p rzy użyciu pliku aktual izacji


Niektóre urządzenia wykrywają pliki .zip o specjalnej nazwie, zapisane w katalogu
głównym karty SD. Przy ponownym uruchomieniu urządzenia następuje automatyczna
instalacja aktualizacji z tego pliku. Po pobraniu odpowiedniej aplikacji do przywracania
systemu można zmienić nazwę pliku .zip z tym programem i umieścić go na karcie SD,
aby urządzenie potraktowało plik jak aktualizację.

KO RZYSTAN I E Z APLI KACJ I CLOCKWORKM O D


W tym podrozdziale opisano funkcje aplikacji do przywracania systemu ClockworkMod.
Znajomość tych funkcji pozwala na bardziej komfortowe zarządzanie urządzeniem.

Na rysunku 4.2 przedstawiono początkowy ekran aplikacji ClockworkMod. Aby wybrać


opcję, przejdź w górę lub w dół przy użyciu klawiszy do zwiększania i zmniejszania
głośności. W większości urządzeń do uruchamiania wybranej funkcji służy klawisz
włączania zasilania (w Nexus One należy kliknąć okrągły przycisk kontrolny).
Do wracania do menu służy klawisz lub przycisk programowy "wstecz". Przyciski
nawigacyjne łatwo jest ustalić już po kilku próbach.

W dalszych punktach omówiono poszczególne opcje widoczne na rysunku 4.2.


Opis funkcji z podmenu jest bardziej szczegółowy.
W niektórych urzqdzeniach aplikacja ClockworkMod udostępnia opcję
+++Go Back+++ (czyli wróć) w dolnej części każdego podmenu.
HAKOWANI E AND ROIDA 75

Rysunek 4.2. Początkowy ekran niestandardowego programu do przywracania systemu ClockworkMod

PONOWN E U R U CHAM IAN I E U RZĄDZE N IA


Opcja reboot system now powoduje ponowny rozruch systemu w standardowy sposób.

AKTUALIZOWAN I E U RZĄDZE N IA Z KARTY SD


Oficjalne aktualizacje dla urządzeń z Androidem są zwykle udostępniane w pliku
update.zip, który jest automatycznie instalowany w trakcie rozruchu. W niektórych
urządzeniach jest to jedyny sposób na zainstalowanie aktualizacji.

Uruchomienie funkcji apply update from sdcard powoduje wyszukanie na karcie SD


pliku o nazwie update.zip i zainstalowanie go. W systemie plików można umieścić
dowolne aktualizacje przez zmianę nazwy wybranego pliku na update.zip i wybranie
opisywanej opcji. Instrukcje dotyczące stosowania tej techniki są często podawane
wraz z aktualizacjami na forum XDA.

Po uruchomieniu opisywanej funkcji zobaczysz ekran bezpiecznego wyboru aplikacji


ClockworkMod (rysunek 4.3). Aby wybrać opcję Yes, trzeba przejść w dół przez szereg
opcji No. Daje to gwarancję, że użytkownik nie wykona bezwiednie niebezpiecznych
lub potencjalnie szkodliwych operacji. Przypadkowy wybór niebezpiecznej opcji jest
mało prawdopodobny.
76 ROZDZIAŁ 4. Rootowanie a instalowanie niestandardowych programów do przywracania systemu

Rysunek 4.3. Ekran bezpiecznego wyboru w aplikacji ClockworkMod

Aby wykonać operację, należy wybrać opcję Yes i zatwierdzić ją odpowiednim klawiszem.

PRZYWRACAN I E USTAWI E Ń FAB RYCZNYCH


Opcja wipe data/factory reset (rysunek 4.2) powoduje wykasowanie zawartości partycji
/data i /cache. Prowadzi to do usunięcia wszystkich aplikacji i danych użytkownika oraz
przywrócenia ustawień fabrycznych. Wszystkie modyfikacje i dane są usuwane z urządzenia.
Jest to rozwiązanie, które należy stosować w ostateczności, kiedy występują ciągłe awarie,
urządzenie wymusza swoje zamknięcie lub cyklicznie powtarza się pewien błąd.
Jednak przywrócenie ustawień fabrycznych nie prowadzi do przywrócenia pierwotnego
stanu partycji /system. Ten efekt można uzyskać tylko przez zainstalowanie pliku
update.zip lub kopii zapasowej NANDroid.

OPRÓŻN IAN I E PAM I ĘCI PODRĘCZN EJ


Opróżnienie pamięci podręcznej powoduje mniej zmian niż usunięcie danych. Zwykle
operację tę można wykonać bez uszkadzania zainstalowanych aplikacji lub danych
użytkownika. Jednak przed uruchomieniem opcji wipe cache partition (rysunek 4.2)
warto utworzyć kopię zapasową systemu plików. Jeśli telefon działa wolno i często
występują błędy, dobrze jest wypróbować wspomnianą opcję przed przywróceniem
HAKOWANI E AND ROIDA 77

ustawień fabrycznych. Czasem opróżnienie pamięci podręcznej pozwala naprawić


błędny stan lub rozwiązać problemy z wymuszonym zamykaniem urządzenia.

Także dla tej opcji wyświetlany jest ekran bezpiecznego wyboru (rysunek 4.3).
Aby opróżnić pamięć podręczną, wybierz opcję Yes.

I NSTALOWAN I E PLI KU .ZI P Z KARTY SD


Opcja install zip from sdcard (rysunek 4.2) działa podobnie jak opcja apply update from
sdcard. Różnica polega na tym, że ta druga zawsze szuka pliku update.zip w katalogu
głównym karty SD. Opcja install zip from sdcard pozwala wybrać dowolny plik .zip
i określić sposób jego instalowania.

Po wybraniu omawianej opcji pojawia się podmenu przedstawione na rysunku 4.4.

Rysunek 4.4. Opcje instalacji z karty SD w narzędziu ClockworkMod

Opcja apply < p l i k.zi p >


Nazwa pliku obok opcji apply zależy o d tego, jaki plik wybrałeś. Domyślnie jest to plik
/sdcard/update.zip. Jeśli wybierzesz plik myupdate.zip, pierwszą opcją menu będzie
apply /sdcard/myupdate.zip.
78 ROZDZIAŁ 4. Rootowanie a instalowanie niestandardowych programów do przywracania systemu

Opcja choose zip . . .


Opcja choose zip from sdcard umożliwia poruszanie się po strukturze plików i katalogów
karty SD w celu wybrania pliku .zip. Niestandardowe kompozycje i modyfikacje
urządzeń często są rozpowszechniane w postaci takich plików. Opisywana opcja
pozwala wybrać plik, po czym za pomocą opcji apply. . . można go zainstalować.

Opcja toggle sig nature verification


Opcja toggle signature verification pozwala określić, że urządzenie ma sprawdzać
sygnatury wybranych plików .zip. Większość plików udostępnianych przez
producentów i operatorów jest podpisana. To samo dotyczy wielu ROM-ów. Warto
pozostawić opcję sprawdzania sygnatur włączoną, ponieważ czasem zapobiega ona
instalacji nieprawidłowego ROM-u.

Opcja togg l e script asserts


Opcję toggle script asserts stosuje się stosunkowo rzadko. Służy ona do umożliwiania
lub blokowania wykonywania skryptów z archiwów .zip. Większość takich archiwów
służy do aktualizowania lub zastępowania plików w systemie plików. Plik .zip obejmujący
skrypty może zmieniać ustawienia urządzenia. Wyłączenie omawianej opcji uniemożliwia
wykonywanie skryptów z archiwów .zip.

TWORZEN I E KOPII ZAPASOWEJ


I PRZYWRACAN I E STAN U U RZĄDZEN IA
Opcja backup and restore (rysunek 4.2) to prawdopodobnie naj przydatniejsza
i najpotrzebniejsza funkcja narzędzia ClockworkMod. Tworzenie kopii zapasowej
danych systemu operacyjnego Android jest skomplikowane - nawet w zrootowanym
urządzeniu. Aplikacja ClockworkMod pozwala zarchiwizować wszystkie pliki,
aplikacje, ustawienia i dane w jednym kroku. Plik z kopią zapasową jest zapisywany
na karcie SD, gdzie zwykle nie grozi mu uszkodzenie w wyniku hakowania lub
wprowadzania modyfikacji. Kopia zapasowa jest bardzo cennym zabezpieczeniem.
Okresowe tworzenie takiej kopii za pomocą aplikacji ClockworkMod jest dobrym
pomysłem także wtedy, j eśli nie wprowadzasz aktywnie modyfikacji i nie jesteś
hakerem. Jeśli nieprawidłowo działająca aplikacja uszkodzi lub usunie dane, można je
będzie przywrócić za pomocą poprawnej kopii zapasowej.

Po wybraniu opcji backup and restore pojawia się podmenu przedstawione w górnej
części rysunku 4.5.

Opcja Backup
Wybranie opcji Backup prowadzi do natychmiastowego rozpoczęcia tworzenia kopii
zapasowej danych z urządzenia. W trakcie tego procesu wyświetlane są informacje
o postępie (rysunek 4.6) .
HAKOWANI E AND ROIDA 79

Rysunek 4.5. Opcje tworzenia kopii zapasowej i przywracania systemu w aplikacji ClockworkMod

Rysunek 4.6. Tworzenie kopii zapasowej w aplikacji ClockworkMod


80 ROZDZIAŁ 4. Rootowanie a instalowanie niestandardowych programów do przywracania systemu

Wymuszanie rozruchu w trybie przywracania systemu


Większość urządzeń można przełączyć w tryb przywracania systemu za pomocą
kombinacji klawiszy. Kombinację właściwą dla danego urządzenia znajdziesz na
forach XDA. Jeśli nie możesz poprawnie uruchomić urządzenia, przechowywanie
dobrej kopii zapasowej i wiedza o tym, jak przełączyć telefon w tryb przywracania
systemu, pozwalają zachować spokój.

Plik z kopią zapasową jest zapisywany na karcie SD w katalogu /sdcard/clockworkmod/backups.


Nazwą tego pliku jest data jego utworzenia. Pozwala to rozróżniać poszczególne pliki
z kopią zapasową.

Ważne jest, aby okresowo usuwać starsze kopie zapasowe. Przechowywanie zbyt wielu
takich kopii na karcie SD może prowadzić do szybkiego zapełnienia dostępnej pamięci.
Pliki z kopią zapasową można usunąć za pomocą dowolnego eksploratora plików,
na przykład programu ES File Explorer lub Root Explorer.

Po zakończeniu tworzenia kopii zapasowej ponownie wyświetlane jest podmenu


backup and restore.

Opcja Restore
Po wybraniu opcji Restore pojawia się lista wszystkich plików z kopią zapasową zapisanych
w katalogu /sdcard/clockworkmod/backups. Za pomocą klawiszy nawigacyjnych należy
przejść do pliku o odpowiedniej dacie i wybrać go, aby rozpocząć proces przywracania
systemu. Aplikacja ClockworkMod w trakcie tego procesu wyświetla pasek postępu,
a po zakończeniu pracy pojawia się komunikat o wykonaniu zadania.

Opcja Advanced Restore


Opcja Advanced Restore pozwala wybrać (na podstawie daty) konkretny plik z kopią
zapasową, a następnie przywrócić tylko część tej kopii. Może to być partycja rozruchowa,
partycja systemowa, partycja z danymi, partycja z pamięcią podręczną lub partycja sd-ext.

Nie przywracaj pojedynczych partycji, jeśli nie jesteś pewien skutków tej operacji. Dane
z poszczególnych partycji są zwykle powiązane ze sobą i zależą od siebie. Przywrócenie
partycji z danymi powiązanymi z nieistniejącą zawartością partycji systemowej może
prowadzić do niestabilnego działania lub zablokowania urządzenia. Wtedy za pomocą
kombinacji klawiszy należy przejść do partycji przywracania systemu i odtworzyć
kompletną kopię zapasową.

MONTOWAN I E PARTYCJ I I ZARZĄDZAN I E PAM I ĘCIĄ


Opcja mounts and storage (rysunek 4.2) pozwala zarządzać montowaniem partycji
na potrzeby operacji związanych z hakowaniem, takich jak kopiowanie plików z karty
SD lub katalogu data (i w drugą stronę) przez kabel USB. Zwykle nie trzeba montować
HAKOWANI E AND ROIDA 8 1

i odmontowywać partycji, jednak omawiana opcja zapewnia dostęp d o karty SD


w trakcie korzystania z aplikacji ClockworkMod, co może być bardzo przydatne.

Opisywana opcja umożliwia też formatowanie partycji systemowej, partycji z pamięcią


podręczną, partycji rozruchowej, partycji sd-ext i karty SD. Formatowanie polega na
wykasowaniu całej zawartości partycji i karty. Nie należy bez powodu wykonywać tej
operacji. Jeśli sformatujesz jedną z partycji i nie przywrócisz jej zawartości, urządzenie
się nie uruchomi.

ZAAWAN SOWAN E OPCJ E


Jeśli wybierzesz opcję advanced na głównym ekranie aplikacji ClockworkMod
(rysunek 4.2), pojawi się podmenu pokazane na rysunku 4.7. Opcje z tego podmenu
stosuje się do wykonywania specjalnych operacji.

Rysunek 4.7. laawansowane opcje w menu gtównym aplikacji ClockworkMod

Opcja Reboot Recovery


Ta opcja umożliwia ponowny rozruch urządzenia i powrót do procesu przywracania
systemu.
82 ROZDZIAŁ 4. Rootowanie a instalowanie niestandardowych programów do przywracania systemu

Opcja Wipe Dalvik Cache


Ta opcja służy do opróżniania pamięci podręcznej maszyny wirtualnej. Może to być
przydatne, jeśli aplikacja przez pewien czas pracuje prawidłowo, a następnie nagle
przestaje działać, nieustannie kończy pracę lub pracuje w nietypowy sposób.
Stosowanie tej opcji nie wiąże się z dużym ryzykiem.

Opcja Wipe Battery Stats


Opcja Wipe Battery Stats pozwala wykasować dane o użytkowaniu i ładowaniu baterii.
Zdaniem niektórych osób może to pomóc Androidowi precyzyjnie sterować
mechanizmami ładowania i kontrolowania zużycia baterii. Ogólnie nie jest to prawda.
Opcja ta jedynie usuwa historyczne dane z urządzenia. Jeśli w wątku na forum XDA
nie przedstawiono dobrego powodu do usuwania tych danych, nie warto ich kasować.

Opcja Report Error


Jeśli w trakcie korzystania z aplikacji ClockworkMod wystąpił błąd, można
wykorzystać tę opcję do zapisania informacji na jego temat w pliku dziennika
/sdcard/clockworkmod/recovery.log. Następnie można przesłać ten plik do zespołu
Koushika Dutty, który zajmie się problemem. Jeśli aplikacja ClockworkMod w trakcie
uruchamiania się wykryje, że w czasie wcześniejszej sesji przywracania systemu
wystąpił błąd, wyświetli powiadomienie z pytaniem o to, czy chcesz zgłosić problem.

Opcja Partition SD Card


Ta opcja pozwala podzielić kartę SD na różne partycje. Związane jest to z usunięciem
całej zawartości karty SD. Opcję tę należy stosować tylko wtedy, jeśli opisano to
w instrukcjach dotyczących danego urządzenia. W niektórych urządzeniach duża
partycja wymiany na karcie SD pozwala poprawić wydajność.

Opcja Fix Permissions


Każda aplikacja w Androidzie ma określony identyfikator użytkownika. Aby zapobiec
modyfikowaniu danych określonej aplikacji przez inne programy, należy ustawić
odpowiednie uprawnienia do (znajdującej się na partycji /data) pamięci aplikacji.
Opcjafixpermissions powoduje wczytanie pliku /data/system/packages.xml i odpowiednie
ustawienie uprawnień.

Zastosowanie omawianej opcji nie zawsze jednak przynosi pożądane efekty. Czasem
powoduje wymuszone zamykanie aplikacji, której problemy miała rozwiązać. Opcjęfix
permissions należy stosować tylko wtedy, jeśli uwzględniono ją w instrukcjach naprawiania
konkretnych usterek. W niektórych instrukcjach pojawia się tekst "run a permissions
fix" - wtedy należy uruchomić opisywaną opcję.
HAKOWANI E AND ROIDA 83

KO P I E ZAPASOWE I PRZYWRACAN I E STAN U


PO POWAZNYCH AWAR IACH
W trakcie hakowania Androida zdarza się, że urządzenie nie uruchamia się prawidłowo.
W innych sytuacjach może się wydawać, że użytkownik utracił wszystkie dane.
Nietrudno wtedy o panikę.

Większość danych utworzonych przez użytkownika, na przykład rysunki, dokumenty


i pobrane pliki, znajduje się na karcie SD i jest stosunkowo bezpieczna, kiedy haker
zapisuje dane na partycji systemowej lub je z niej pobiera. Należy jednak zakładać, że
wszelkie działania związane z hakowaniem lub eksploracją mogą prowadzić do utraty
wszystkich danych.

Przed rozpoczęciem hakowania lub eksploracji warto podłączyć urządzenie do


komputera i skopiować wszystkie dane z karty SD. Nowsze urządzenia po podłączeniu
do komputera działają w trybie pamięci masowej. Oznacza to, że kartę SD można
zamontować j ako dysk dostępny w menedżerze systemu plików (na przykład
w Eksploratorze Windows). Skopiowanie zawartości karty SD do katalogu komputera
pozwala zabezpieczyć przed utratą zdjęcia dzieci lub aplikacje pobrane z sieci.

Aby przywrócić tego rodzaju dane, wystarczy podłączyć urządzenie do komputera


i skopiować wszystkie pliki oraz katalogi z powrotem na kartę SD.

ŚRODKI OSTROŻNOŚCI ZWIĄZAN E Z U DANYM HAKOWAN I E M


I PRZYWRACAN I E M DANYCH
Aby osiągnąć sukces w trakcie hakowania, najlepiej jest więcej czytać, a mniej robić.
• Przed rozpoczęciem hakowania przeczytaj na forum XDA cały wątek dotyczący
danej procedury.
• Przed podłączeniem telefonu zapoznaj się z wszystkimi instrukcjami procedury
rootowania lub instalowania. Następnie przeczytaj te instrukcje jeszcze raz.
• Jeśli w instrukcjach programisty pojawiają się narzędzia lub polecenia, których
nie znasz, znajdź informacje na ich temat na forach XDA i w wyszukiwarce Google,
a następnie się z nimi zapoznaj.
• Zwróć uwagę na wpisy osób, które natrafiły na problemy. Zapoznaj się z możliwościami
z zakresu przywracania systemu i skutecznymi rozwiązaniami trudności.

Po uzyskaniu dostępu do konta root i zainstalowaniu niestandardowej aplikacji


do przywracania systemu warto regularnie tworzyć kopie zapasowe. Należy stosować
do tego niezawodny program do tworzenia takich kopii lub niestandardową aplikację
do przywracania systemu.

W internecie znajdziesz wielu znających się na Androidzie geeków, którzy chętnie Ci


pomogą, jeśli uznają, że najpierw sam próbowałeś znaleźć potrzebne informacje i czegoś
się nauczyć. Zawsze lepiej jest zadawać pytania w rodzaju: "Jak zrobić X za pomocą
84 ROZDZIAŁ 4. Rootowanie a instalowanie niestandardowych programów do przywracania systemu

narzędzia Y na urządzeniu Z?", niż pytać: "Jak mogę zrootować mój telefon?".
Ponadto w internecie lepiej nie być zbyt wrażliwym. Geekowie nieraz nie mają dobrze
rozwiniętych umiejętności społecznych, co bywa widoczne w szorstkich odpowiedziach.
Zachowaj spokój, zadawaj inteligentne pytania, a bez wątpienia uzyskasz potrzebną
pomoc.

ARCH IWIZOWAN I E APLIKACJ I


Aplikacje pobrane ze sklepu Google Play są odtwarzane automatycznie. Wystarczy
wybrać przycisk My Apps i odtworzyć poszczególne aplikacje. Mechanizm ten działa
wybiórczo - większość zakupionych aplikacji jest odtwarzana automatycznie (choć nie
dotyczy to wszystkich takich programów) , podobnie jak niektóre aplikacje bezpłatne.

Sklep Google Play pozwala rejestrować zakupione aplikacje i automatycznie przywrócić


przynajmniej je. W niektórych urządzeniach wszystkie moje aplikacje pobrane z tego
sklepu (w tym bezpłatne) zostały automatycznie odtworzone po przywróceniu ustawień
fabrycznych.

Jeśli podłączysz urządzenie do komputera i utworzysz kopię zapasową karty SD,


nie zawsze skopiowane zostaną dane aplikacji. Większość programów użytkowych,
na przykład edytory tekstu, aplikacje biurowe i programy multimedialne, zapisuje pliki
na karcie SD w katalogu dokumentów lub w innym miejscu. Skopiowanie całej zawartości
karty SD, w tym katalogów, pozwala utworzyć kopię zapasową danych z takich programów.

Usunięcie lub przeinstalowanie aplikacji prowadzi do usunięcia wszystkich jej danych.


Oznacza to, że wyniki z gry Angry Birds nie są zachowywane po automatycznym
przywróceniu aplikacji. Możliwość utworzenia kopii zapasowej danych użytkownika jest
jednym z najważniejszych powodów, dla których dostęp do konta root jest tak przydatny.

TWORZEN I E KOPII ZAPASOWEJ


ZA POMOCĄ PROG RAMU DO PRZYWRACAN IA SYSTE M U
Kiedy p o raz pierwszy uzyskasz dostęp d o konta root i będziesz mógł zainstalować
niestandardową aplikację do przywracania systemu (ClockworkMod lub inną), powinieneś
natychmiast uruchomić taką aplikacją i utworzyć kompletną kopię zapasową urządzenia.

Kopia zapasowa generowana przez program do przywracania systemu obejmuje stan


urządzenia i dane z niego z określonego momentu. Archiwizowane są wszystkie
aplikacje, dane aplikacji, dane użytkownika i pliki systemowe. Jest to najlepsze
rozwiązanie, jeśli chcesz zabezpieczyć się przed poważnymi problemami, które mogą
wystąpić w trakcie hakowania.

Jednak niektóre elementy warto archiwizować, a potem odtwarzać bez kompletnego


przywracania zawartości całego urządzenia do stanu z określonego momentu. Następną
korzyścią z dostępu do konta root jest możliwość tworzenia kopii zapasowej na poziomie
aplikacji i odtwarzania takich kopii.
HAKOWANI E AND ROIDA 85

TWORZEN I E KOPII ZAPASOWEJ ZA POMOCĄ APLI KACJ I


Pewne aplikacje, na przykład Titanium Backup, umożliwiają określenie archiwizowanej
aplikacji. Można utworzyć kopię zapasową aplikacji wraz z powiązanymi danymi.
Pozwala to na przywrócenie aplikacji po ich przypadkowym usunięciu lub wystąpieniu
problemów.

Kiedy dana aplikacja przestaje działać, zwykle nie warto przywracać wszystkich
programów z najnowszej kopii zapasowej całego systemu. Titanium Backup i inne
podobne aplikacje umożliwiają zarządzanie poszczególnymi programami. Pozwalają też
wykonywać ciekawe operacje, takie jak przenoszenie aplikacji na kartę SD, całkowite
usuwanie programów, a także zapisywanie kopii zapasowej zgodnie z harmonogramem.
Regularne archiwizowanie aplikacji, danych aplikacji i danych systemowych według
harmonogramu pozwala uniknąć problemów w momencie, w którym urządzenie
zostanie uszkodzone.

CO ZRO B I Ć, KI E DY WYSTĄPIĄ POWAŻN E PROB LEMY?


Użytkownik w trakcie rootowania urządzenia może popełnić błąd, po którym telefonu
nie da się poprawnie uruchomić. Są dwie ogólne kategorie uszkodzeń urządzeń
z Androidem. Oto one:
• Łagodne uszkodzenia (ang. softbrick) to takie, po których nie można uruchomić
systemu operacyjnego Android, ale możliwe jest uruchomienie aplikacji do
przywracania systemu lub programu rozruchowego oraz Fastboota. Problem, który
uniemożliwia poprawny rozruch, ale pozwala na podmianę plików i przywrócenie
systemu za pomocą odpowiednich plików obrazu, to łagodne uszkodzenie. Najczęstszą
oznaką łagodnego uszkodzenia jest wejście w pętlę rozruchu (ang. bootloop), kiedy
to urządzenie raz po raz dochodzi do pewnego etapu rozruchu, po czym uruchamia
się ponownie.
• Poważne uszkodzenie (ang. hardbrick) to takie, którego nie da się naprawić
standardowymi środkami. Zwykle urządzenia z poważnym uszkodzeniem
wymagają zastosowania specjalnych technik z wykorzystaniem sprzętu dostępnego
tylko producentom. Takie urządzenia w ogóle się nie uruchamiają lub wchodzą
w pętlę rozruchu w taki sposób, że nie da się przesyłać instrukcji za pomocą
narzędzi ADB i Fastboot.

Działanie urządzenia w obu sytuacjach zależy od konkretnego modelu. Oto procedura,


do której warto się stosować w momentach paniki związanej z wystąpieniem awarii:
l. Nie panikuj. Poważnie, nie rób tego. Panika może prowadzić do stosowania takiej
samej błędnej procedury, która doprowadziła do uszkodzenia urządzenia. Najlepiej
odłóż urządzenie na kilka minut, a kiedy się uspokoisz, przejdź do następnego kroku.
2. Jeśli to możliwe, usuń baterię. Wyjmij ją ostrożnie, włóż z powrotem, a następnie
sprawdź, czy urządzenie dojdzie do dalszego etapu rozruchu.
86 ROZDZIAŁ 4. Rootowanie a instalowanie niestandardowych programów do przywracania systemu

W niektórych tabletach wyjęcie baterii jest niemożliwe. Zwykle jednak można


zasymulować tę operację za pomocą odpowiedniej kombinacji klawiszy (na przykład
przycisku zasilania i klawiszy zmiany głośności). Wciśnij i przytrzymaj przyciski
przez kilka sekund, aby sprawdzić, czy urządzenie się nie zresetuje i nie zacznie
pracować normalnie.
3. Spróbuj przejść w tryb przywracania systemu lub uruchomić program rozruchowy.
Ustal kombinacje klawiszy pozwalające zresetować urządzenie i przejść w tryb
przywracania systemu.
4. Poszukaj na forach XDA i w wyszukiwarce Google informacji o naprawianiu uszkodzeń
w danym urządzeniu. Jeśli nie znajdziesz potrzebnych instrukcji, zamieść wpis
(bez panicznego wydźwięku!) na forum XDA poświęconym danemu urządzeniu.
Opisz w nim, w jaki sposób doszło do uszkodzenia sprzętu.

Możliwości z zakresu przywracania systemu zależą od poziomu uszkodzeń i tego, na


jakie polecenia urządzenie reaguje. Jeśli uda Ci się wejść w tryb przywracania systemu,
możesz wykorzystać plik update.zip lub plik z kompletnym obrazem i zastąpić
wszystkie partycje systemowe. Wtedy można też przywrócić kopię zapasową
urządzenia. To dlatego pierwszym krokiem po zainstalowaniu niestandardowego
programu do przywracania systemu powinno być wykonanie pełnej kopii zapasowej.

Jeśli można uruchomić program rozruchowy, czasem można też zastosować polecenia
Fastboota w celu zastąpienia partycji systemowej i rozruchowej. Poszukaj na forum
XDA wpisów obejmujących potrzebne instrukcje i pliki. Przeważnie jeśli można
zastosować Fastboota, można też rozwiązać problem.

Niektóre urządzenia można naprawić za pomocą narzędzi serwisowych lub przeznaczonych


dla programistów. Te narzędzia to na przykład program RSD Lite dla starszych
telefonów Motoroli i aplikacja ODIN dla sprzętu Samsunga. Używając ich, należy
umieścić pliki obrazu na odpowiednich partycjach. Instrukcje dotyczące stosowania
tych narzędzi i potrzebne pliki można znaleźć na forum XDA poświęconym
określonemu urządzeniu.
KOMPOZYCJE - CYFROWA
OPERACJA PLASTYCZNA

W TYM ROZDZIALE:
• Jak zmienić wygląd i styl Androida?
• Wprowadzenie do narzędzi do modyfikowania urządzeń.
• Jak zmienić wskaźnik trybu samolotowego w urządzeniu?
• Jak utworzyć udostępniany plik .zip ze zmianami?

Ważną zaletą posiadania urządzenia z Androidem jest to, że wygląd i styl systemu
- dosłownie każdy aspekt interfejsu użytkownika - można dostosować do własnego gustu.

W tym rozdziale poznasz podstawy modyfikowania kompozycji, czyli zmieniania


wyglądu i stylu Androida. Zmienić można wiele aspektów interfejsu Androida - od
kolorów elementów nawigacyjnych po ikony aplikacji. Prawie każdy wizualny element
interfejsu Androida można całkowicie zmodyfikować.

Modyfikowanie kompozycji to złożony proces, związany z manipulowaniem strukturą


systemu plików Androida. Po zrootowaniu urządzenia za pomocą narzędzi opisanych
w tej książce i na forum XDA możesz przystąpić do dostosowywania systemu przez
modyfikowanie kompozycji.

W tym rozdziale opisano przede wszystkim zmiany dotyczące konkretnego urządzenia,


na przykład poprawianie widoczności wskaźnika trybu samolotowego. Proces
umieszczania zmian w pakiecie, który można udostępnić znajomym, jest bardziej
złożony. Po wprowadzeniu pożądanych zmian w kompozycji dowiesz się, jak utworzyć
pakiet, który można udostępnić innym użytkownikom Androida. Pakiet taki można
zainstalować za pomocą programu do przywracania systemu.
88 ROZDZIAŁ 5. Kompozycje - cyfrowa operacja plastyczna

Procedura opisana w tym rozdziale jest charakterystyczna dla programu CyanogenMod


z urządzenia Nexus One. Jednak podobne operacje są wykonywane w innych urządzeniach
i dla innych ROM-ów.

MODYFI KOWAN I E WYG LĄD U I STYLU AN DRO I DA


Modyfikowanie kompozycji Androida obejmuje zmianę grafiki (plików PNG) i plików XML
składających się na interfejs użytkownika. Edycja plików XML jest bardziej skomplikowana
niż modyfikowanie plików graficznych. Pliki XML Androida są kompilowane do binarnych
plików XML, dlatego najpierw trzeba przeprowadzić dekompilację do postaci czytelnej
dla człowieka, a potem ponownie skompilować pliki do formatu binarnego.

Na ogólnym poziomie modyfikowanie kompozycji Androida obejmuje następujące kroki:


l. Wyodrębnianie modyfikowanych plików z wybranego ROM-u. Najprostsze zmiany
kompozycji widoczne w całym systemie polegają na modyfikowaniu obrazów
z plikuframework-res.apk. Inne modyfikacje wymagają wprowadzenia bardziej
skomplikowanych poprawek.
2. Dekompilowanie plików.
3. Zastosowanie odpowiedniego edytora do zmodyfikowania plików graficznych i XML.
4. Ponowne kompilowanie plików XML.

5. Zastępowanie plików w ROM-ie.


6. Instalowanie zmodyfikowanego ROM-u za pomocą niestandardowego programu
do przywracania systemu.

Kroki te mogą być inne. Zależy to od modyfikowanych elementów i tego, czy chcesz
utworzyć całkowicie zmienioną kompozycję, czy tylko wprowadzić niewielkie
poprawki. Utworzenie kompletnej kompozycji wymaga powtórzenia opisanej
procedury setki, a nawet tysiące razy.

MODYFI KOWAN I E LAU N CH ERA


Główny interfejs, z którym użytkownik wchodzi w interakcje, czyli ikony, siatka aplikacji
i wszystkie inne elementy, to launcher. Launcher odpowiada nie tylko za wygląd i styl ekranów
startowych oraz menu aplikacji, ale też za to, które aplikacje są widoczne. Choć można
zmodyfikować wbudowany launcher Androida, często łatwiej jest zmienić niestandardowy
program tego rodzaju, który nie ma elementów wspólnych z systemem operacyjnym.

MODYFI KOWAN I E N I ESTAN DARDOWEGO LAU N CH ERA


Jednym z najpopularniejszych niestandardowych launcherów Androida jest ADW. Ma on
wbudowaną funkcję modyfikowania kompozycji i umożliwia użytkownikom instalowanie
łatwych do udostępniania plików APK z kompozycjami oraz pakietów ikon. Dlatego
użytkownicy launchera ADW mogą łatwo przełączać się między kompozycjami.
HAKOWANI E AND ROIDA 89

Proces modyfikowania launchera zwykle obejmuje wiele z wymienionych etapów.


Trzeba też przygotować ikony uruchamianych aktywności (aplikacji) i specjalnych
struktur systemu plików. Jeśli chcesz opracować kompozycje dla konkretnego
launchera, poszukaj dotyczących go reguł i wymagań na forum XDA i w witrynie
twórców danego launchera. Informacje o ADW znajdziesz na stronie
http://jbthemes.com/anderweb/category/adwlauncher/.

NARZĘ DZIA STOSOWAN E


DO M O DYFI KOWAN IA KO M POZYCJ I
Modyfikowanie kompozycji wymaga rozbudowanego zestawu narzędzi i odpowiednich
umiejętności. Przedstawiona tu lista nie jest wyczerpująca, jednak obejmuje wszystko,
co jest potrzebne do modyfikowania wyglądu i stylu interfejsu użytkownika w Androidzie.
Nie wszystkie te narzędzia pojawiaj ą się w procedurach przedstawianych w tym
rozdziale, jednak powinieneś zainstalować każdy z tych programów, jeśli zamierzasz
samodzielnie kontynuować hakowanie urządzenia.

APKMANAGER
APKManager t o skrypt uruchamiany jako aplikacja konsolowa ( w wierszu poleceń).
Umożliwia łatwe przeprowadzanie operacji, które przy stosowaniu narzędzi z pakietu
SDK Androida lub środowiska Eclipse wymagałyby wykonywania wielu skomplikowanych
kroków. Jeśli tworzysz złożone kompozycje od podstaw, prawdopodobnie i tak
będziesz musiał zastosować złożone narzędzia z pakietu SDK i środowiska Eclipse.
Jednak zwykle przy modyfikowaniu istniejących ROM-ów (i ogólnie Androida)
APKManager pozwala zautomatyzować skomplikowane i frustrujące zadania.

Przed wykonaniem procedury opisanej w tym rozdziale należy zainstalować


APKManagera. Wykonaj następujące operacje:
l. Pobierz APKManagera ze strony http://forum.xda-developers. com/
showthread.php?t=69570 1 .

Czym jest plik APK?


APK to akronim od nazwy Android Application Package (czyli pakiet z aplikacją na
Androida). Plik APK obejmuje katalog i strukturę plików oraz pliki XML informujące
Androida o strukturze i zawartości pakietu. Plik APK może być podpisany lub
niepodpisany. Android na podstawie sygnatury sprawdza autentyczność pliku.
Pakiety za pomocą sygnatur mogą też wskazywać siebie nawzajem. Dlatego bardzo
ważne jest stosowanie się do instrukcji dotyczących podpisywania ( i ponownego
podpisywania), dostępnych w APKManagerze i w procedurach z forum XDA.
90 ROZDZIAŁ 5. Kompozycje - cyfrowa operacja plastyczna

2. Wypakuj APKManagera do katalogu.


APKManagera i wszystkie katalogi najlepiej jest wypakować do folderu głównego,
na przykład C:\ Theming\APKManager. Ważne jest, aby struktura katalogu
z kompozycją była przejrzysta, ponieważ APKManager wykorzystuje katalogi
z tej struktury do dekompilowania i ponownego kompilowania plików APK
Androida.

PAKI ET SDK AN D ROI DA


W dodatku A znajdziesz informacje na temat instalowania pakietu SDK Androida
i ustawiania na komputerze zmiennych środowiskowych dla narzędzi ADB.
Przed wykonaniem procedury opisanej w tym rozdziale upewnij się, że pakiet SDK
jest zainstalowany, a zmienne środowisko - odpowiednio skonfigurowane.

ECLl PSE
Środowisko Eclipse nie jest potrzebne do wykonania opisanej dalej procedury,
ale uwzględniono je, aby lista była bardziej kompletna.

Środowisko Eclipse można zastosować do ręcznej edycji plików XML oraz skomplikowanych
i częściowo niezależnych od rozdzielczości plików NinePatch ( . 9.png) . Większość
operacji opisanych w tym rozdziale wykonuje się w APKManagerze, jednak środowisko
Eclipse przydaje się do edycji plików NinePatch i skomplikowanych projektów.

Najnowszą wersję środowiska Eclipse znajdziesz na stronie www.eclipse.org/downloads/.


Wybierz klasyczną wersję tego środowiska (chyba że masz powód, aby zastosować inną
odmianę Eclipse'a).

WYB RANY ROM


W procedurze używany jest popularny ROM CyanogenMod (omówiony w rozdziale 6.) .
ROM ten można pobrać ze strony www.cyanogenmod.com i na forach XDA. Kroki
procedury można jednak zastosować do niemal dowolnego niestandardowego ROM-u.
Wystarczy wyodrębnić modyfikowane pliki z ROM-u i wprowadzić zmiany. Pliki
można następnie ponownie podpisać i dołączyć do ROM-u lub umieścić bezpośrednio
w urządzeniu.

Warto pobrać ulubiony ROM, wypakować go i ze struktury katalogów skopiować


pliki przeznaczone do zmiany. Pomaga to poznać strukturę folderów oraz zrozumieć
przeznaczenie setek różnych plików i katalogów. Dzięki temu łatwiej jest też zrozumieć
poszczególne kroki procedury, takie jak tworzenie struktury katalogów na komputerze
i pakowanie jej na potrzeby instalacji.
HAKOWANI E AND ROIDA 9 1

7-ZI P
Archiwa APK, ROM-y i inne pliki są kompresowane w formacie ZIP. Narzędzie 7-Zip
pozwala otwierać pliki w tym formacie i manipulować ich wewnętrzną strukturą bez
wypakowywania jej. 7-Zip obejmuje wbudowany menedżer plików, umożliwiający
poruszanie się po zawartości skompresowanego archiwum (takiego jak APK) bez
naruszania jego sygnatury.

Na potrzeby opisanej w tym rozdziale procedury należy zainstalować narzędzie 7-Zip


(dostępne na stronie www. 7-zip.org/download. html).

PAl NT. N ET
Paint.NET to bezpłatny i łatwy w użyciu program graficzny. Umożliwia on edycję
plików PNG, które są wizualnymi elementami interfejsu Androida. Zamiast aplikacji
Paint.NET możesz zastosować dowolny dobry program graficzny (jak Photoshop lub
GIMP). Paint.NET jest bezpłatny i to właśnie tę aplikację wykorzystano w procedurze.
Paint.NET można pobrać ze strony www.getpaint. net/download.html.

KREATOR PLI KÓW U PDATE.ZI P


Kreator plików update.zip służy do łatwego generowania ich na podstawie plików
utworzonych za pomocą APKManagera. Na forum XDA jest podawanych wiele
takich kreatorów. Dla użytkowników systemu Windows prawdopodobnie
najwygodniejszy j est kreator TLC UpdatezipCreator. Można go pobrać ze strony
http://forum.xda-developers.com/showthread.php?t=1 248486.
Aplikację tę należy zastosować w ostatnim kroku opisanej dalej procedury.

AM E N D2 E D I FY
Amend2Edify to program do modyfikowania skryptów aktualizacji utworzonych za
pomocą kreatora skryptów update.zip. Zmodyfikowane skrypty są zgodne z nowszymi
wersjami aplikacji ClockworkMod. Pierwotna specyfikacja skryptów aktualizacji nosiła
nazwę amend. W wersji Gingerbread Google zmienił tę nazwę na edify. Specyfikacja
edify daje więcej możliwości, ale wymaga skomplikowanej konfiguracji. Trzeba na
przykład wiedzieć, gdzie i jak zamontować system plików w skrypcie aktualizacji.

Narzędzie Amend2Edify można pobrać ze strony http://forum.xda-developers. com/


showthread.php?t=903598. Należy wypakować narzędzie do odrębnego folderu
w katalogu kompozycji.

W przedstawionej procedurze narzędzie to nie jest stosowane. Jest jednak potrzebne


do przekształcania skryptów ze starszej specyfikacji amend na nowszy standard edify.
92 ROZDZIAŁ 5. Kompozycje - cyfrowa operacja plastyczna

PROCE D U RA WPROWADZAN IA ZM IAN


W tym podrozdziale pokazano, jak zmodyfikować ikonę i wskaźnik stanu trybu
samolotowego w ROM-ie CyanogenMod 7.0. 1 na telefony Nexus One. Zmiany mają
zwiększyć zauważalność wskaźników. Kiedy mój telefon działa w trybie samolotowym,
często tego nie zauważam i przez kilka sekund zastanawiam się, dlaczego urządzenie
nie łączy się z siecią.

Ten przykład dotyczy modyfikacji jednego elementu interfejsu użytkownika.


Kompletna zmiana kompozycji wymaga wprowadzenia setek lub nawet tysięcy takich
modyfikacji. Jeśli korzystasz z kompozycji opracowanych przez innych, pomyśl
o wsparciu finansowym autorów na XDA Forum. Pisanie narzędzi do tworzenia
kompozycji i samo rozwijanie kompozycji zajmuje naprawdę dużo czasu.

W tym podrozdziale opisano dwie procedury. Pierwsza dotyczy techniki tworzenia


plików kompozycji. W drugiej poznasz kroki potrzebne do przygotowania plików,
które można wielokrotnie wykorzystać lub (po wprowadzeniu setek podobnych zmian)
umieścić w gotowej do zainstalowania aktualizacji.

PROCED U RA TWORZE N IA PLI KÓW KOM POZYCJ I


Ta procedura dotyczy modyfikacji kilku konkretnych plików graficznych z następujących
pakietów APK:
• \system\framework\framework-res.apk;
• \system\app\System UI.apk (jest to ROM z wersji Gingerbread).
Modyfikowane tu pliki są powiązane z konkretnym urządzeniem i określonym ROM-em.
Warto pamiętać, że inne wersje Androida, inne ROM-y i urządzenia innych producentów
mogą wymagać zmodyfikowania odmiennych plików.

Na przykład w urządzeniu firmy HTC z interfejsem użytkownika Sense trzeba


zmodyfikować plik \system\framework\com.htc. resources.apk zamiast System UI. apk.
Jeśli tworzysz kompozycję dla wersji Froyo i urządzenia firmy Samsung, powinieneś
zmodyfikować plik \system\ twframework-res.apk. Informacje dotyczące konkretnych
wersji i urządzeń znajdziesz na forum XDA.

Najlepszy sposób na ustalenie, w których plikach APK znaj duj ą się potrzebne grafiki,
to pobranie pełnej kopii kompozycji lub ROM-u i otwarcie jej (lub wypakowanie) za
pomocą narzędzia 7-Zip. Po uzyskaniu dostępu do systemu plików można otworzyć
obrazki z zagnieżdżonych katalogów.

Przygotowanie do edycj i plików


Przed przystąpieniem do edycji plików systemowych w celu utworzenia kompozycji
należy rozpakować plik APK przeznaczony do zmodyfikowania.
HAKOWANI E AND ROIDA 93

l . Podłącz telefon do komputera za pomocą kabla USB. Sprawdź, czy telefon działa
w trybie diagnostycznym (otwórz ustawienia Androida i przejdź do opcji
Applications/Development/Debug).
2. Sprawdź, czy w katalogu kompozycji znajduje się podkatalog APKManager i czy
zainstalowany jest program graficzny (na przykład Paint.NET).
3. Umieść pobrany ROM (tu jest to CyanogenMod 7.0. 1) w odrębnym podkatalogu
w katalogu kompozycji.
4. Dwukrotnie kliknij plik .zip ROM-u i otwórz go w aplikacji 7-Zip. Pozwala to
przejrzeć strukturę plików ROM-u.
5. Dwukrotnie kliknij katalog system w oknie aplikacji 7-Zip.
6. Przeciągnij plik \system\app\System UI. apk z pliku .zip ROM-u do katalogu
APKManager\place-apk-here-for-modding (rysunek 5.1).

� D:\ Down loa d s\kernel pa n 1c-ni tro-h d - 0 . 4-fi na l. z i p\;; y stem\app\


J l = I @l I___J
File Edit Vi ew Favo rites Tools Help

<> - ':7 -+ � X D.
Add Extract Test C o py Move D elete Inlo

[J 10M D :\Downl o , ds\kern el p,n1 c-n itro-h d-O A -lin , l .zip\;;ystem\, p p\ �

A
N am e Size P a cked Size Mo dili ed Created Acce5sed

� Sc reen c a ptu re.a p k 38 509 28 038 2012-02 -24 23:05

� Setti ng s, apk 6 268 530 5 520 610 2012-02-24 23:05

§J Setti ngsProvi der, apk 41 359 37 899 2012-02-24 23:06

§1 Setu pWizard , apk 1 015 433 477 568 2012-02 -24 23:06

§1 Stk, apk 49 lli 42 742 2012 -02 -24 23:06

[§J 5u p eru ser.a p k 785 380 461 490 2012 -02 -2423:06

MM". 711 024 570 957 2012-02-2423:06

§1 T, I k2" p k 1 700 369 1 109 260 2012 ·02-24 23:05

§J Tel eph o nyP rovi d er.a " , 48 734 47 721 2012-02 -2423:06

§1 Torch. a p k 135 348 131 703 2012 -02 -2423:05

� TtsServi ce.a p k
B
25 693 24 836 2012-02 -2423:05

[§J UserOi ction aryP rovid " , 10 319 9 611 2012-02-24 23:06

§J Ven din g .apk 3 708 455 2 281 659 2012-02 ·24 23:05

§1 Vi deoP l ayer, a pk 2 103 617 1 946 480 2012 -02 -2423:06 T

<I '" I >

1 o bject(s) selected 711 024 711 024 2012-02 -24 23:06

Rysunek 5. 1 . Wyszukiwanie pliku SystemUlapk w ROM-ie w aplikacji 7-lip

Pełna ścieżka do pliku APK w systemie operacyjnym to \system\app\System UI.apk.


Ważne jest, abyjq zapamiętać w trakcie korzystania z APKManagera. Ścieżka
będzie potrzebna przy przenoszeniu plików zpowrotem do podłqczonego
urzqdzenia.

Wczytywanie wypakowa nego pliku APK do APKManagera


Następny krok w trakcie modyfikowania kompozycji to wczytanie wypakowanego pliku
do APKManagera.
l. Uruchom APKManagera. W tym celu dwukrotnie kliknij plik script.bat w głównym
katalogu APKManagera.
94 ROZDZIAŁ 5. Kompozycje - cyfrowa operacja plastyczna

W interfejsie APKManagera należy wybrać opcję (przez podanie liczby)


i wcisnąć klawisz Enter.
2. Wybierz opcję 22 (wpisz 22 i wciśnij klawisz Enter) .
APKManager wczyta wtedy pliki z katalogu place-apk-here-for-modding
i poprosi o określenie, nad którym z plików chcesz pracować. APKManager
potrafi jednocześnie obsługiwać tylko jeden plik APK.
3. Wybierz liczbę widoczną obok pliku System UI. apk i wciśnij klawisz Enter.
Wszystkie wybrane od tej pory opcje będą dotyczyć tego właśnie pliku.
4. Wybierz opcję 1 i wciśnij klawisz Enter. Zobaczysz szybko przewijający się tekst,
a następnie wczytane zostanie menu główne APKManagera.

Teraz dostępny jest nowy podkatalog w katalogu projects APKManagera. Nazwa tego
podkatalogu odpowiada nazwie wypakowanego i zdekompilowanego archiwum APK.
Tu tą nazwą jest System UI.APK. Podkatalog obejmuje wszystkie pliki z wypakowanego
archiwum APK. Można poruszać się po strukturze plików archiwum APK i modyfikować
dowolne pliki.

Edycja p l i ków g raficznych


Teraz należy znaleźć pliki graficzne ikon interfejsu użytkownika reprezentuj ących
tryb samolotowy. Pomocna może być zmiana w systemie Windows widoku na średnie
ikony. Pozwala to łatwo przeglądać pliki graficzne z katalogów i znajdować te, które
należy zmienić.

Większość elementów graficznych znaj duj e się w katalogu \res\drawable-hdpi\ .


Zasoby są zapisane w katalogu res, a katalog drawable-hdpi obejmuje obrazy
o wysokiej rozdzielczości.

Teraz, kiedy masz już dostęp do "wnętrzności" archiwum APK, możesz zacząć szukać
ikon trybu samolotowego. Oto potrzebne pliki:
• stat_airplane_off.png,
• stat_airplane_on.png,
• stat_sys_signaCflightmode.png.
Otwórz każdy z tych plików w aplikacji Paint.NET (lub innym programie graficznym).
Wprowadź potrzebne zmiany. Ja usunąłem rysunek samolotu i zastąpiłem go słowem
"AIR". W aplikacji Paint.NET w celu uzyskania tego efektu należy wybrać narzędzie
Erase, przeciągnąć nim po rysunku samolotu, a następnie wpisać słowo "AIR" przy
użyciu narzędzia Text. Dobierz odpowiedni krój i rozmiar czcionki, aby napis dobrze
pasował do ikony.
W większości programów graficznych można przybliżać i oddalać widok,
przytrzymujqc klawisz Ctrl i poruszajqc kółkiem myszy. Przybliżenie widoku
ułatwia edycję małych plików graficznych.
HAKOWANI E AND ROIDA 95

Insta lowa n i e kompozycj i w u rządzeniu


Po zakończeniu edycji można spakować pliki i zainstalować je w telefonie. Wcześniej
jednak warto utworzyć kompletną kopię zapasową NANDroid na partycji przywracania
systemu (w sposób opisany w rozdziale 4.) .
l. W APKManagerze wybierz opcję 4 (Sign APK) i wciśnij klawisz Enter.
W katalogu place-apk-here-for-modding pojawi się nowy, niepodpisany plik APK.
2. Zobaczysz prośbę o określenie, czy plik projektu jest plikiem systemowym. Tu jest
to plik systemowy, dlatego należy wybrać Y i na razie pominąć proces podpisywania.
Nowy plik System UI. apk można skopiować do głównego katalogu kompozycji,
aby utworzyć gotową do zainstalowania kompozycję. Plik można też zainstalować
bezpośrednio w urządzeniu. W tej procedurze należy umieścić plik w urządzeniu
z Androidem.
3. W APKManagerze wybierz opcję 8 (ADB Push) i wciśnij klawisz Enter.
4. APKManager wyświetli prośbę o podanie docelowej lokalizacji pliku. Należy wpisać
pełną ścieżkę i nazwę pliku. Wprowadź tekst \system\app\System UI. apk i wciśnij
klawisz Enter. Podana ścieżka to źródłowa lokalizacja pliku APK z pobranego
ROM-u. Zmodyfikowany plik APK należy umieścić w dokładnie tym samym
miejscu, z którego go pobrano.
5. APKManager umieści pliki w odpowiednich miejscach. Jeśli zauważysz dziwne
działanie interfejsu użytkownika, na razie nie musisz się tym martwić. Często
urządzenie trzeba ponownie uruchomić, aby zobaczyć zmiany. Jeżeli jednak po
ponownym rozruchu urządzenie wciąż nie działa prawidłowo (na przykład wchodzi
w pętlę rozruchu), należy przywrócić kopię zapasową NANDroid utworzoną przed
wykonaniem operacji z tego podpunktu.

Wczytywanie a rchiwum APK z u rządzenia do APKManagera


Nie zawsze można pobrać kompletny ROM dla urządzenia. Jeśli telefon jest zrootowany,
można pobrać z urządzenia pojedyncze pliki. Następnie należy wykonać te same
podstawowe operacje - wypakować pliki, zmodyfikować je, spakować i umieścić
archiwum z powrotem w urządzeniu.

Następnym modyfikowanym plikiem jest archiwumframework-res.apk. Znajduje się


ono w katalogu \systemVramework\ w systemie plików urządzenia. Możesz się o tym
przekonać, otwierając pobrany ROM i przechodząc do wspomnianego katalogu. Warto
pamiętać, że ROM to dokładna kopia systemu plików z urządzenia, dlatego pozwala
poznać strukturę tego systemu i lokalizację poszczególnych elementów.
l. Upewnij się, że urządzenie jest podłączone do komputera i działa w trybie
diagnostycznym.
2. Uruchom APKManagera.
3. Wpisz O i wciśnij Enter, aby wybrać opcję Pull APK.
96 ROZDZIAŁ 5. Kompozycje - cyfrowa operacja plastyczna

4. Wprowadź ścieżkę \system\framework\framework-res.apk i wciśnij klawisz Enter.


APKManager pobierze plikframework-res.apk i umieści go w podkatalogu
place-apk-here-for-modding w katalogu głównym tego narzędzia. W tym samym
podkatalogu wcześniej umieszczono plik System UI.apk.
5. Za pomocą opcji 1 wypakuj pliki z archiwum APK.
W podkatalogu projects w katalogu głównym APKManagera pojawi się nowy
podkatalog, framework-res. ap k.
6. Otwórz katalogframework-res.apk.
7. Przejdź do plików z archiwum i zmodyfikuj odpowiedni plik (możesz na przykład
usunąć rysunek samolotu i zastąpić go napisem "AIR").
8. Po zakończeniu edycji spakuj plik APK za pomocą opcji 4.
9. Określ, że dany plik jest plikiem systemowym.
10. Na tym etapie możesz umieścić archiwum APK z powrotem w urządzeniu
(w miejscu, z którego pobrałeś archiwum). Możesz też umieścić je w strukturze
katalogów kompozycji, aby utworzyć jej gotową do instalacji wersję.

PROCE D U RA TWORZEN IA
GOTOWEGO DO I N STALACJ I PLI KU .ZI P
Po zmodyfikowaniu pliku APK z kompozycją można wykorzystać APKManagera
do umieszczenia pliku z powrotem w urządzeniu. Jeśli jednak zamierzasz udostępniać
kompozycję większej grupie użytkowników, najlepiej jest utworzyć gotowy do instalacji
plik update.zip.
l. Zainstaluj i uruchom aplikację TLC UpdatezipCreator.
2. Przejdź do zakładki Files i kliknij przycisk Add, aby wybrać przeznaczone
do instalacji pliki.
W tym przykładzie należy wskazać pliki utworzone w poprzedniej procedurze.
3. Kiedy aplikacja tego zażąda, należy wskazać system/framework jako docelowy
katalog na plikframework-res.apk i system/app jako docelowy katalog na plik
System UI.apk.
4. Teraz przejdź do zakładki Options i zmień wartość pola Script version na Edify.
Jest to potrzebne, ponieważ Google od Androida 1 . 5 nie obsługuje skryptów amend;
także aplikacja ClockworkMod od wersji 3.0 nie obsługuje skryptów tego typu
(zobacz rysunek 5.2) .
5. Przejdź do zakładki Script i ustaw odpowiedni punkt montowania dla urządzenia.
Punkt montowania jest inny dla poszczególnych urządzeń, dlatego należy go
sprawdzić na forum XDA. Błędna wartość punktu montowania może mieć
katastrofalne skutki.
6. Teraz możesz zakończyć tworzenie pliku update.zip. W tym celu kliknij przycisk
Make an update.zip.
HAKOWANI E AND ROIDA 97

UpdatezipCreator by benzyniarzl 1=1


UpdatezipCreator - welcome
Create your update .zip quic!y and easily
r-------��
Question
fr==�===r==,-;::-::ł

CI Push created zip to SD carO Do you want to load a default edify script?

CI Reboot to a recovery after

1 IL
Newline charader
@ Unux �e (recommended) L-__
Y_
e ,__� ___N_
o__�

5cript version

!El Amend (CWM v. < 3x) @ Edify (CWM v > 3x)

updatei>inary for edify


@ Bui�in !El Own

�------�I �

Make an update,zip I [:v Sign single zip archive I [ .!ol ""out I

Rysunek 5.2. Od wersji 3.0 aplikacji ClockworkMod należy wybrać skrypty typu Edify

Po utworzeniu pliku update.zip można go przetestować. Jednak aby zachować


bezpieczeństwo, przed instalacją pliku należy utworzyć pełną kopię zapasową
NANDroid. Po przygotowaniu takiej kopii można zainstalować aktualizację.

Jeśli wszystko przebiegło poprawnie, utworzyłeś swoją pierwszą kompozycję i jesteś


gotów do udostępnienia jej społeczności.
98 ROZDZIAŁ 5. Kompozycje - cyfrowa operacja plastyczna
,

ZDO BYŁES UPRAWNIENIA


ADMINISTRATORA - CO DALEJ?

W TYM ROZDZIALE:
• Popularne niestandardowe ROM-y działające w różnych urządzeniach.
• Jak zmodyfikować jądro?
• Aplikacje działające z poziomu konta root.

Wykonałeś więc instrukcje z książki i uzyskałeś dostęp do konta root urządzenia.


Gratulacje! Miło jest poczuć swobodę, prawda? Jednak odblokowanie urządzenia
nie daje żadnych wyjątkowych możliwości, dopóki nie zaczniesz korzystać z aplikacji
z poziomu konta root i wprowadzać różnych modyfikacji.

Większość użytkowników po zrootowaniu urządzenia najpierw instaluje niestandardowy


ROM. Choć niestandardowe ROM-y zwykle są przeznaczone dla konkretnych urządzeń,
niektóre można instalować w różnych telefonach. Tu opisano najpopularniejsze z obecnie
dostępnych ROM-ów działających w różnych urządzeniach.

Po zainstalowaniu niestandardowego ROM-u użytkownicy często przechodzą do


instalowania nowego jądra. Niestandardowe jądro może zapewniać wiele korzyści
- umożliwiać przetaktowanie procesora, wydłużać czas pracy na baterii, poprawiać
wydajność, a także pozwalać na mniej typowe zmiany, takie jak dodanie funkcji hosta
USB i poprawa jakości dźwięku.

Po zaktualizowaniu jądra użytkownicy często instalują działające z poziomu konta root


aplikacje, które korzystają z nowo uzyskanych uprawnień administratora.
1 00 ROZDZIAŁ 6. Zdobyłeś uprawnienia administratora - co dalej?

Hakowanie urządzenia nie kończy się w momencie zrootowania telefonu. Uzyskanie


dostępu do konta root to dopiero początek dostosowywania urządzenia do potrzeb
użytkownika. Odpowiedni zestaw niestandardowych ROM-ów, poprawek jądra
i aplikacji działających z poziomu konta root pozwala w pełni dostosować urządzenie
do siebie oraz wyposażyć je w możliwości znacznie wykraczające ponad te, które
udostępnił producent.

PO P U LAR N E N I ESTAN DAR DOWE ROM-Y


DZIAŁAJĄCE W RÓŻNYCH U RZĄDZEN IACH
W czasie przeglądania forów XDA poświęconych różnym urządzeniom szybko można
zauważyć, że większość ROM-ów udostępnianych przez członków społeczności jest
przeznaczona na konkretne telefony. Istnieje jednak kilka wartych uwagi wyjątków.
ROM-y opisane w tym podrozdziale są rozbudowane i działają w wielu urządzeniach.
Często stanowią też punkt wyjścia do wprowadzania dalszych zmian.

CYAN OGEN MOD


Jeśli czytałeś coś na temat rootowania Androida, bez wątpienia zetknąłeś się z nazwą
CyanogenMod. Początkowo ROM ten obejmował coraz bardziej skomplikowane
poprawki w urządzeniu HTC Dream (G 1). Obecnie jest to bardzo bogaty ROM zgodny
z blisko 90 urządzeniami. Obejmuje dziesiątki przydatnych funkcji, w tym obsługę
gestów na ekranie blokady, rozbudowany wbudowany silnik kompozycji, korektor
dźwięku, obsługę sieci VPN itd. CyanogenMod jest rozwijany na podstawie kodu
źródłowego dostępnego w ramach projektu AOSP (ang. Android Open Source Project),
dlatego w narzędziu tym można wprowadzać znaczne zmiany.

Oprócz oficjalnych wersji istnieją setki (jeśli nie tysiące) nieoficjalnych odmian
i modyfikacji (nazywanych czasem kangami) . Nieoficjalne wersje są wzbogacane
o różne dodatki - od obsługi nowych urządzeń po eksperymentalne funkcje,
które nie znalazły się jeszcze w oficjalnych wersjach CyanogenModu.

Aktualną wersją ROM-u jest CyanogenMod 9. Jest ona oparta na Androidzie 4.0
(Ice Cream Sandwich). Wersję tę można pobrać ze strony http://get.cm.

PROJ E KT AN DROI D OPEN KAN G


Projekt Android Open Kang (podobnie jak CyanogenMod) jest oparty na kodzie
źródłowym projektu AOSP i obejmuje dziesiątki poprawek względem kodu opracowanego
w firmie Google. W czasie, kiedy powstawała niniejsza książka, ROM ten pozwalał
zainstalować Androida 4.0 (Ice Cream Sandwich) na 1 7 urządzeniach. Dla wielu spośród
nich producenci nie udostępnili jeszcze aktualizacji systemu operacyjnego.
HAKOWANI E ANDROIDA 1 0 1

VI LLAI N ROM
VillainROM pozwala wprowadzać zmiany w różnych urządzeniach w innym modelu
niż wcześniej opisane ROM-y. Choć niektóre wersje tego ROM-u są kompilowane
bezpośrednio na podstawie kodu źródłowego, większość odmian to wysoce zmodyfikowane
wersje ROM-ów udostępnianych przez producentów. Dlatego ROM-y z rodziny VillainROM
przeznaczone dla poszczególnych urządzeń znacznie różnią się między sobą.

Choć brak spójności między obsługiwanymi urządzeniami może odstraszać niektórych


użytkowników, zastosowane podejście pozwala udostępniać nowe wersje ROM-u
niedługo po tym, jak producent opracuje nową wersję systemu operacyjnego.
VillainROM jest więc przeznaczony dla osób, które uważają, że producenci rozwijają
oprogramowanie wysokiej jakości, wymagające tylko udoskonalenia.

MODYFI KACJ E JĄD RA


Modyfikacje jądra pozwalają znacznie wzbogacić urządzenie z Androidem.

POWIADOM I E N IA Z PODŚWI ETLAN I E M


Jednym z najpopularniejszych rozwiązań w Nexusie One był kolorowy trackball,
podświetlany w momencie pojawienia się powiadomień.

Latem 20 1 0 roku pojawiły się urządzenia z serii Samsung Galaxy S, mające znacznie
lepszy wyświetlacz i szybszy procesor graficzny w porównaniu z Nexusem One. Jednak
jednym z rozwiązań, z których Samsung w większości telefonów Galaxy S zrezygnował,
były powiadomienia z podświetlaniem diodami LED.

Pomysłowy użytkownik forum XDA, Neldar, opracował nietypowy sposób na zasymulowanie


tego rozwiązania. Zmodyfikował jądro tak, aby pojawieniu się powiadomienia towarzyszyło
podświetlenie klawiszy dotykowych. Modyfikacja BackLightNotification Neldara,
dostosowana później do innych urządzeń, na przykład do rozwijanego przez firmę Samsung
Nexusa S, zapewnia użytkownikom brakującą funkcję w bardzo elegancki sposób. Nie trzeba
modyfikować sprzętu ani nawet aktywować ekranu - zamiast tego w momencie pojawienia
się powiadomienia urządzenie podświetla klawisze dotykowe.

Modyfikację BackLightNotification można znaleźć na forach XDA


( http://forum.xda-developers. com/showthread.p hp ?t=81 3 38 9).

POPRAWKI Z SERII VOODOO


Fran<;:ois Simond, na forach XDA znany jako supercurio, opracował serię poprawek jądra,
udostępnianych pod nazwą Voodoo. Autor nie tylko zapewnił wydajniejszą pracę systemu
plików, ale też zadbał o poprawę komfortu pracy użytkowników urządzeń Galaxy S
i opracował narzędzia do obsługi dźwięku oraz kolorów (Voodoo Sound i Voodoo
Color). Więcej o tych poprawkach dowiesz się ze strony http://project-voodoo.org/.
1 02 ROZDZIAŁ 6. Zdobyłeś uprawnienia administratora - co dalej?

Voodoo Lagfix
Kiedy się okazało, że system plików RFS używany w smartfonach z serii Galaxy S
powodował opóźnienia w tych bardzo wydajnych urządzeniach, społeczność
programistów szybko zaczęła pracować nad rozwiązaniem problemu.

Poprawka Voodoo Lagfix użytkownika supercurio powoduje zastąpienie systemu


plików RFS z partycji /cache i /system znacznie bardziej przyjaznym Linuksowi
systemem EXT4.

Voodoo Sou nd
Ponieważ w urządzeniu Galaxy S (a także w kilku innych urządzeniach z Androidem)
używany jest zaawansowany przetwornik DAC Wolfson Microelectronics WM8994,
jakość dźwięku może zadowolić nawet wybrednych użytkowników. Przez zapewnienie
bezpośredniej, niskopoziomowej kontroli nad sprzętem poprawka Voodoo Sound
pozwala uzyskać właścicielom urządzeń Galaxy S niewyobrażalną wcześniej jakość
dźwięku.

Przetwornik DAC Wolfson WM8994 znajduje się też w kilku innych urządzeniach,
takich jak Samsung Galaxy Tab, rozwijany przez firmę Samsung Nexus S, i EeePad
Transformer firmy Asus. Także w nich poprawka zapewnia użytkownikom korzyści.
Obecnie trwają prace nad poprawą jakości dźwięku w urządzeniach z innymi
przetwornikami DAC.

Voodoo Color
W kolorach w urządzeniach Galaxy S występują nieatrakcyjne przekłamania. Voodoo
Color daje użytkownikom bezpośrednią kontrolę nad parametrami wyświetlacza,
co pozwala naprawić błąd. Dostępne są też inne poprawki obrazu.

POPRAWKI ZWIĄZAN E Z WYDAJ N OŚCIĄ


I CZASEM PRACY NA BATE R I I
Ważnymi powodami instalowania niestandardowego jądra s ą też poprawa wydajności
i zmniejszenie zużycia energii. Rozwijane przez społeczność jądra często zmniejszają
pobór energii i zwiększają taktowanie procesora, co zapewnia użytkownikom
wydajniejsze działanie i dłuższą pracę urządzenia na baterii.

Zmodyfikowane jądra często obejmują dodatkowe lub poprawione programy szeregujące


i zarządców procesora. Programy tego typu zmieniają sposób wykorzystania zasobów
procesora. W wielu jądrach znajduje się na przykład interaktywny zarządca procesora
(zamiast zarządców działających w trybie na żądanie lub w trybie konserwatywnym) . Jak
wskazuje na to nazwa, interaktywny zarządca procesora przyspiesza reagowanie urządzenia.

W wielu jądrach zamiast standardowego programu szeregującego CFS działa program


szeregujący BFS, opracowany przez australijskiego anestezjologa Cona Kolivasa.
BFS zwykle zapewnia wyższą (choć czasem mniej stabilną) wydajność.
HAKOWANI E ANDROIDA 1 03

APLIKACJ E DZIAŁAJĄCE Z POZIO M U KO NTA ROOT


Aplikacje działające z poziomu konta root wykorzystują uprawnienia administratora
do modyfikowania podstawowych aspektów pracy urządzenia.

SETCPU
Zrootowałeś już urządzenie i wczytałeś niestandardowe jądro, które poprawia wydajność
i umożliwia przetaktowanie procesora. Jak wykorzystać dodatkową szybkość i uruchomić
procesor z pełną szybkością? To proste - pobierz program SetCPU Michaela Huanga
(znanego też jako coolbh03000 i posiadającego tytuł XDA Recognized Developer).

Program SetCPU pozwala łatwo ustawić minimalną i maksymalną szybkość procesora.


Umożliwia też:
• wybór zarządcy procesora i ustawienie jego parametrów;
• utworzenie profili szybkości i zarządcy procesora dostosowanych do różnych
warunków pracy urządzenia (temperatury, poziomu zużycia baterii lub tego,
czy wyświetlacz jest włączony).

Jeśli chcesz zarządzać procesorem, SetCPU Ci to umożliwi.

Jeżeli zamierzasz wesprzeć autora finansowo, pobierz jego program ze sklepu Google
Play. Bezpłatną wersję można pobrać bezpośrednio od programisty na forum XDA.

ADFREE AN D ROI D
Inną operacją często wykonywaną po zrootowaniu urządzenia jest usunięcie reklam.
Aplikacja Adfree Android wykonuje to zadanie przez zmodyfikowanie pliku hosts
urządzenia. Plik ten (jest to plik systemowy z katalogu /system/etc) służy do
odwzorowywania nazw hostów na adresy lP. Zamiast generować zapytania DNS,
system przechodzi pod adres IP określony w pliku hosts.

Aby zablokować reklamy, często modyfikuje się plik hosts, tak aby przekierowywał
znane serwery reklamowe pod adres 1 27.0.0. 1 (serwer localhost). Program Adfree
Android działa właśnie w ten sposób i skutecznie blokuje większość reklam
pojawiających się w programach oraz witrynach.

Trzeba jednak pamiętać o pewnej kwestii - dla wielu autorów aplikacji reklamy są
głównym źródłem zysku. Przez zablokowanie reklam w aplikacjach pozbawiasz
programistów ich uczciwie zarobionych pieniędzy. Ponieważ modyfikowanie pliku
hosts pod kątem każdej pojedynczej aplikacji jest niepraktyczne, użytkownicy blokujący
reklamy za pomocą tego pliku najbardziej szkodzą autorom tych programów, z których
korzystaj ą najczęściej . Dlatego zachęcamy użytkowników blokujących reklamy
do finansowego wspomagania programistów ulubionych aplikacji.

Program Adfree Android można pobrać bezpłatnie ze sklepu Google Play lub wątku
poświęconego tej aplikacji na forum XDA.
1 04 ROZDZIAŁ 6. Zdobyłeś uprawnienia administratora - co dalej?

CHAI N F I R E 3D
Czy zdarzyło Ci się znaleźć świetną grę w sklepie Google Play, która jednak okazała się
niezgodna z Twoim sprzętem? Prawie wszystkie gry na komputery PC działają na
odpowiednio wydajnym sprzęcie, jednak w świecie Androida sytuacja wygląda inaczej.
W grach często wykorzystuje się kompresję tekstur i programy cieniowania zgodne
tylko z procesorami graficznymi konkretnych producentów.

Zamiast rezygnować z gry, zainstaluj program Chainfire 3D (opracowany przez


użytkownika Chainfire, posiadającego tytuł XDA Recognized Developer). Program ten
wczytuje pośrednie sterowniki, które za pomocą odpowiedniej wtyczki umożliwiają
wykonanie wielu zadań. Prawie natychmiast po pojawieniu się programu powstały
wtyczki, które umożliwiają użytkownikom urządzeń z różnymi układami korzystanie
z gier przeznaczonych na procesory graficzne Tegra NVIDII, Adreno firmy AMD
i SGX firmy PowerVR.

Sterownik pośredni umożliwia użytkownikom wybór ustawień poszczególnych


aplikacji. Pozwala nie tylko zastosować różne wtyczki dla gier, ale też poprawić
wydajność aplikacji, na przykład wymusić korzystanie z 1 6-bitowych tekstur i bufora
osi Z lub ograniczyć wielkość tekstur (rysunek 6.1).

Rysunek 6. 1 . Poprawki wydajności dostępne w programie Chainfire 3D

Program Chainfire 3D można pobrać ze sklepu Google Play, a instrukcje i pomoc


techniczną znajdziesz w poświęconym tej aplikacji wątku na forum XDA.

TITAN I U M BACKU P
Jednym z najczęściej podawanych powodów rootowania urządzeń jest możliwość
zastosowania programu Titanium Backup. Rozwija go firma Titanium Track, a program
umożliwia tworzenie kopii zapasowych aplikacji, danych aplikacji i ustawień systemowych.
HAKOWANI E ANDROIDA 1 05

Titanium Backup działa podobnie jak wspomniany wcześniej mechanizm tworzenia


kopii zapasowej NANDroid i między innymi pozwala zapobiec utracie zapisanych
danych z gier. Na tym jednak podobieństwa między tymi narzędziami się kończą.

Titanium Backup nie ogranicza się do utworzenia obrazu z kopią zapasową stanu
urządzenia - zamiast tego analizuje poszczególne aplikacje i archiwizuje każdą z nich
z osobna. Jest to przydatne zwłaszcza przy instalowaniu niestandardowych ROM-ów.
Wiele takich ROM-ów wymaga całkowitego wyczyszczenia zawartości urządzenia
przed instalacją. Zwykle oznacza to utratę wszystkich aplikacji i danych. Jednak
program Titanium Backup pozwala odzyskać poszczególne aplikacje i ich dane w nowym
ROM-ie (rysunek 6.2). Kopia zapasowa NANDroid działa inaczej - pozwala tylko
zarchiwizować i przywrócić całą zawartość urządzenia lub jego partycji.

Till1l11iun_Bildo.up oIILL

OJderfdtJ�.POl'IBr'IW! CIIt klla


(clic:k LO;/\lfłlllu) -.dit nllll"ł

ij) o

� l! 1'�

r
Ad�rIHłl P111yef l 1 ' 1 I ' ' ' '50 7
II ,l,

ĄII.�'lontbo{'ł l,O.S
�"'h
�. II t'J

"" II Q

� II A


AngryBlrds ' 4.1
II t'!

rJ
AI1'Ff B.rds210
II ,l,

M9'YBlrds2 Q,2
t'j
� l!

@ Ap
p..1 .... ,rJ�"'..-2 2 o
o

� II .

Rysunek 6.2. Program Titanium Backup wyświetla wszystkie dostępne aplikacje

Program Titanium Backup umożliwia też automatyzację zadań i wykonywanie ich


w trybie wsadowym. Pozwala zarchiwizować i przywrócić wszystkie aplikacje za pomocą
kilku kliknięć. Można nawet skonfigurować urządzenie w taki sposób, aby na podstawie
harmonogramu automatycznie tworzyło kopie zapasowe aplikacji na koncie Dropbox.

Program Titanium Backup można pobrać bezpłatnie ze sklepu Google Play. Dostępna
jest też wersja płatna z lepszą obsługą wsadowego wykonywania zadań i dodatkowymi
funkcjami.
1 06 ROZDZIAŁ 6. Zdobyłeś uprawnienia administratora - co dalej?
PORADNIKI DOTYCZĄCE
,

KONKRETNYCH URZĄDZEN
,

I PRODUCENTOW

Rozdział 7. HTC EVO 3D - zablokowane urządzenie


Rozdział 8. Nexus One - urządzenie z możliwością odblokowania
Rozdział 9. HTC ThunderBolt - ściśle zablokowane urządzenie
Rozdział 10. Droid Charge - instalowanie oprogramowania za pomocą ODIN-a
Rozdział 1 1 . Nexus S - odblokowane urządzenie
Rozdział 1 2. Motorola Xoom - odblokowany tablet z systemem Honeycomb
Rozdział 13. Nook Color - rootowanie za pomocą rozruchowej karty SD
HTC EVO 3D
- ZA B LOKOWANE URZĄDZENIE

W TYM ROZDZIALE:
• Technika z tymczasowym dostępem do konta root.
• Technika ze stałym dostępem do konta root.

Telefony HTC stały się przyjazne programistom i hakerom. HTC umożliwia programistom
i hobbystom odblokowywanie urządzeń tej firmy. Więcej informacji o technikach
odblokowywania tych urządzeń znajdziesz na stronie http://htcdev. com/bootloader.

EVO 3D to jeden z pierwszej generacji smartfonów z procesorami dwurdzeniowymi


i Androidem. W EVO 3D znajdują się trójwymiarowy ekran i aparat niewymagające
specjalnych okularów. W urządzeniu tym działają Sense 3.0 i Android 2.3 (Gingerbread).
W Stanach Zjednoczonych opisywany smartfon został wprowadzony na rynek przez
operatora Sprint. W abonamencie użytkownicy otrzymywali dostęp do sieci WiMAX
4G tego operatora. Podobną specyfikację (choć bez obsługi trójwymiarowości) miało
urządzenie HTC Sensation, wprowadzone na rynek przez T -Mobile (i przez podobnych
operatorów sieci 3G/UMTS na całym świecie) .

Urządzenia EVO 3D miały zablokowany i podpisany program rozruchowy oraz


zablokowaną pamięć EMMC. Smartfon ten był jednym z najściślej zablokowanych
urządzeń firmy HTC, jednak po kilku tygodniach od rynkowej premiery ograniczenia
rozluźniono.

Społeczność hakerów opracowała dla EVO 3D metodę tymczasowego rootowania


(przed pojawieniem się techniki trwałego rootowania, opartej na opcji S-OFF) .
P o tymczasowym zrootowaniu system plików urządzenia EVO 3D sam blokował
dostęp do konta root i przywracał ustawienia fabryczne. Półtrwała metoda dawała
1 1 0 ROZDZIAŁ 7. HTC EVO 3D - zablokowane urządzenie

dostęp do konta root do czasu następnego rozruchu urządzenia. Opisana dalej technika
pozwalająca na stałe zrootować urządzenie polega na wyłączeniu opcji S-ON i uzyskaniu
trwałego dostępu do konta root.

Do tymczasowego rootowania używane jest narzędzie Fre3vo, a do trwałego


rootowania służy narzędzie Revolutionary. W dalszych procedurach opisano
obie techniki. Przed zastosowaniem narzędzia Revolutionary zobacz, jak uzyskać
tymczasowy dostęp i utworzyć kompletną kopię zapasową.

TYM CZASOWY DOSTĘ P DO KO NTA ROOT


Możliwość uzyskania tymczasowego dostępu do konta root urządzenia EVO 3D
użytkownicy zawdzięczają grupie TeamWin. Grupa ta utworzyła Fre3vo, narzędzie
do tymczasowego rootowania, które zapewnia dostęp do powłoki administratora.
TeamWin opracowała też niestandardowy program do przywracania systemu oraz
inne techniki i poprawki przeznaczone dla EVO 3D.

Dalsze operacje wymagają zainstalowania pakietu SDK, działającego narzędzia ADB


i pracy telefonu w trybie diagnostycznym (zobacz dodatek A). Trzeba też pobrać Fre3vo
z forum XDA (http://forum.xda-developers.com/showthread.php?t= 1 1 49998). Fre3vo
to exploit zapewniający tymczasowy dostęp do systemu plików z poziomu konta root.

Opisywana tu technika polega na umieszczeniu pliku w systemie plików, umożliwieniu


wykonywania tego pliku i wykonaniu go.
1. Pobierz plik Fre3vo i umieść go w katalogu przeznaczonym na ten exploit.
2. Otwórz okna wiersza poleceń i przejdź do katalogu z plikiem Fre3vo.
3. Wpisz w wierszu poleceń następującą instrukcję:
adb push fre3vo jdatajl ocal jtmp
Plik binarny z exploitem nosi nazwę ,Jre3vo " - nie ma żadnego rozszerzenia.
W linuksowych systemach operacyjnych (w tym w Androidzie) pliki nie muszq
mieć rozszerzenia, aby można je wykonywać.
4. Spraw, aby wspomniany plik binarny można było wykonywać. W tym celu wywołaj
następującą instrukcję:
adb shel l chmod 777 jdatajl ocal jtmpjfre3vo
5. Wprowadź poniższe polecenie, aby uruchomić powłokę ADB:
adb shel l
6. Uruchom exploit fre3vo za pomocą poniższej instrukcji:
jdatajl ocal jtmpjfre3vo

Powłoka ADB zostanie zamknięta i ponownie uruchomi się wiersz poleceń komputera.
Należy jeszcze raz uruchomić powłokę ADB i sprawdzić, czy możliwy jest dostęp do
konta root.
HAKOWANI E ANDROIDA 1 1 1

1 . Wprowadź instrukcj ę adb s he 1 1 .


2. Sprawdź, czy znakiem zachęty w powłoce jest teraz kratka (#), oznaczająca dostęp
do konta root.

Dostęp do konta root uzyskany za pomocą fre3vo jest tymczasowy. Ponowny rozruch
urządzenia powoduje utratę dostępu.

WYMAGAN IA ZWIĄZAN E Z WŁĄCZAN I E M OPCJ I


S-OFF I TRWAŁYM DOSTĘ PEM DO KO NTA ROOT
Grupy hakerskie AlphaRev, Team Win i UnRevoked wspólnie opracowały narzędzie
Revolutionary, które pozwala włączyć opcję S-OFF w EVO 3D i innych telefonach.
Revolutionary to narzędzie o zamkniętym dostępie do kodu źródłowego. Oznacza to,
że nie wiadomo, w jaki sposób działa. Autorzy narzędzia chcą w ten sposób utrudnić
producentom i operatorom uniemożliwienie korzystania z opisywanej tu metody.

Kiedy powstawała ta książka, narzędzie Revolutionary było dostępne w wersji beta


i wymagało stosowania numeru seryjnego. Numer ten można pobrać z poświęconej
temu narzędziu witryny w trakcie korzystania z niego.

Najpierw wykonaj opisane poniżej kroki.


l. Pobierz narzędzie Revolutionary ze strony http://revolutionary. io. Możesz zostawić
otwarty formularz do pobierania numeru seryjnego lub przejść do formularza
później, ponownie klikając odnośnik do ściągania pliku.
2. Zainstaluj i skonfiguruj pakiet SDK (dodatek A).
3. Zainstaluj sterowniki dla programistów urządzeń HTC. Znajdziesz je na stronie
wiki http://unrevoked. com/rootwiki/doku.php/public/revolutionary.
4. Pobierz opracowany przez grupę TeamWin program do przywracania systemu
(TWRP) ze strony http://forum.xda-developers.com/showthread.php?t= 1 1 92077.
Należy ściągnąć plik .zip, a nie plik obrazu.
5. Pobierz plik dający dostęp do konta root (su-2. 3.6.3-signed-efgh.zip) z punktu 99.
ze strony http://forum.xda-developers. com/showthread.php?t= 1 1 92525.

Umieść wszystkie pliki w odrębnym katalogu, aby uniknąć pomyłek.

Oto lista kroków pozwalających ustawić opcję S-OFF w EVO 3D:


l. Upewnij się, że sterowniki dla programistów urządzeń HTC są zainstalowane
i że urządzenie jest podłączone do komputera.
2. Utwórz kopię zapasową wszystkich danych, na przykład z wykorzystaniem techniki
tymczasowego dostępu do konta root, opisanej w poprzednim podrozdziale
(ten krok jest opcjonalny).
3. Uruchom narzędzie Revolutionary.
4. Zainstaluj niestandardowy program do przywracania systemu.
1 1 2 ROZDZIAŁ 7. HTC EVO 3D - zablokowane urządzenie

5. Zainstaluj plik binarny dający dostęp do konta root.


6. Zainstaluj aplikację SuperUser.
7. Uruchom pełną kopię zapasową systemu za pomocą narzędzia do przywracania
systemu.

Opisana tu procedura jest stosunkowo bezpieczna i nie grozi uszkodzeniem urządzenia.


Pamiętaj jednak, że - jak zawsze w trakcie hakowania - uruchamiając narzędzie
Revolutionary, bierzesz na siebie pełną odpowiedzialność i naruszasz zasady gwarancji.

U R U CHAM IAN I E NARZĘDZIA REVOLUTIONARY


Narzędzie Revolutionary działa na komputerze i komunikuje się z telefonem przez
kabel USB. Zadania wykonuje za pomocą poleceń zakodowanych w pliku binarnym.
Sprawdź, czy narzędzie ADB ma połączenie z urządzeniem (w dodatku A znajdziesz
informacje o tym, jak sprawdzić połączenie za pomocą instrukcji adb dev i ces) .
Revolutionary udostępnia prosty interfejs, przedstawiony n a rysunku 7. 1 .

ITI C :\Program Files (x86)\Android\Evo stutn.revolutionary-O.3pre6\revolutionary.exe

: Revolut ional"Y S-OPP & Recouery T o o l 0 . 3pl"e6 :

�.
B;��;h�=;:=���=bZ=Al;h:R:�=&=u�;'::�k:d�=s;:�i;l thaoks to łłtealTl"tin for their wOl'k on f

�aiting fol" deuice . . .


ound yOUl" devic e : PG86100 <shooter-1 . 3 0 . 000IL Andl"oid: 2 . 3 . 3 .. ROM versio n : 1 . 11 . 651 . 2 ::

his is a beta release and )'equil"es a beta l"elease key.


lease v i s it : http: //revolutional''y . io fol" ITlOl"e infol"l'Ilat ion .

nter beta key [ serial: HT16HHX21433 ]: _

Rysunek 7. 1 . Narzędzie Revolutionary pozwala w/ączyć opcję S-OFF

Revolutionary wykrywa typ podłączonego urządzenia (narzędzie można stosować do


różnych urządzeń firmy HTC) i wybiera odpowiednią technikę ustawiania opcji S-OFF.

N astępnie należy podać klucz oparty na numerze seryjnym. W czasie, kiedy powstawała
ta książka, narzędzie Revolutionary było dostępne w wersji beta i wymagało podania
numeru seryjnego wygenerowanego we wspomnianej wcześniej witrynie. Programiści
utrzymywali jednak, że po udostępnieniu klucza publicznego nie trzeba będzie podawać
klucza dla wersji beta.
HAKOWANI E ANDROIDA 1 1 3

Aby uzyskać klucz dla wersji beta, wykonaj następujące operacje:


l. Otwórz stronę http://revolutionary.io.
2. Kliknij przycisk służący do pobierania wersji dla odpowiedniego systemu
operacyjnego.
3. Jeśli już ściągnąłeś narzędzie, anuluj pobieranie.
4. Na stronie pojawi się formularz do generowania klucza dla wersji beta.

5. Wprowadź numer seryjny urządzenia (widoczny w oknie narzędzia Revolutionary) .


6. Wybierz wersję urządzenia i HBOOT.
Wersję HBOOT można pobraćprzez przejście w tryb rozruchowy (służy do
tego polecenie adb rebaat baatl aader). Numer wersji znajduje się w górnej
części białego ekranu programu rozruchowego.
7. Kliknij przycisk generate key i zapisz wygenerowany klucz dla wersji beta.

Po uzyskaniu klucza dla wersji beta wprowadź go w oknie narzędzia Revolutionary

:
(rysunek 7.2), a następnie wciśnij klawisz Enter.

I ij' C:\Program Files (x86)\Android\Evo stuffi.revolutionary-O.3pre6\revolutionary.exe

: Reuo lution al'Y S-OFF & Recouery T o o l 0 . 3pl"e6


=============================================


Brought to you by A l phaReu & Unl'evoke d . Special thanks to łłtealll\·rin for theil' \'IOrk on f

'Iaiting fol' device . . .


ound your deuice: PG86100 <shooter-1 . 3 0 . 000IL Android: 2 . 3 . 3 .. ROM uersio n : 1 . 11 . 651 . 2 ::

his is a beta release and }-equires a beta l"elease key.


lease u i s it : http://l''e uo lutional''y . io for rr.ore informat ion .

nter beta key [ serial: "T16"H)(21433 ]: _

Rysunek 7.2. Wprowadź klucz dla wersji beta

Następnie narzędzie wykonuje potrzebne operacje. Może to zająć trochę czasu.


Narzędzie czterokrotnie zamyka i ponownie uruchamia telefon. Za każdym razem
informuje o ponownym rozruchu urządzenia.

W końcowej części procedury narzędzie wyświetla pytanie o to, czy chcesz pobrać
i zainstalować aplikację ClockworkMod. Wybierz opcję No, ponieważ zainstalujesz
aplikację TWRP.
Revolutionary nie zawsze z powodzeniem instaluje aplikację ClockworkMod.
Czasem próba instalacji prowadzi do wystqpienia pętli rozruchu.
1 1 4 ROZDZIAŁ 7. HTC EVO 3D - zablokowane urządzenie

Po zakończeniu działania narzędzia Revolutionary w urządzeniu EVO 3D włączona


jest opcja S-OFF. Jednak aby uzyskać pełny dostęp do konta root, trzeba zainstalować
odpowiedni plik binarny i narzędzie SuperUser (służące do zarządzania żądaniami
dostępu do konta root). Najłatwiej zrobić to przez umieszczenie pakietu SuperUser
w systemie plików, używając niestandardowego programu do przywracania systemu.

I NSTALOWAN I E N I ESTAN DARDOWEGO PROGRAM U


DO PRZYWRACAN IA SYSTEM U
Aplikację TWRP (i dowolny inny program do przywracania systemu) można umieścić
na partycji przywracania systemu na dwa sposoby. Oto one:
• Można za pomocą Fastboota (zobacz rozdział 3.) umieścić plik obrazu na partycji
przywracania systemu.
• Można przy użyciu wbudowanego programu rozruchowego zmienić nazwę pliku
na oczekiwaną nazwę pakietu z aktualizacją (tu jest to nazwa PG86IMG.zip).
Kiedy pierwszy raz rootowałem EVO 3D, instalowałem program do przywracania
systemu za pomocq Fastboota. Przez pośpiech i brak ostrożności umieściłem
obraz programu na partycji rozruchowej. W efekcie telefon uruchamiał się
tylko w trybie przywracania systemu. Spowodowałem więc łagodne uszkodzenie
urzqdzenia, a rozwiqzanie problemu kosztowało mnie cały dzień strachu.
Ostatecznie naprawiłem usterkę, posługujqc się poleceniami ponownego
uruchamiania z narzędzia ADB i Fastbootem.
Druga z tych metod jest bezpieczniejsza i rzadziej prowadzi do problemów. Opisano ją
w tym miejscu. Należy zastosować narzędzie ADB do umieszczenia programu do
przywracania systemu na karcie SD i zmienić nazwę pliku z programem. Pozwala to
uniknąć kłopotów związanych ze zmianą nazwy i rozszerzenia pliku przez program
Eksplorator Windows.

Aby zainstalować niestandardowy program do przywracania systemu TWRP,


wykonaj następujące operacje:
l. Otwórz okno wiersza poleceń i przejdź do katalogu, w którym znajduje się pobrany
plik z programem TWRP.
2. Za pomocą narzędzia ADB umieść plik na karcie SD, a następnie zmień nazwę
pliku, wpisując poniższą instrukcję:
adb push PG86IMG -twrp - shooter- l . O . 3 . z i p /sdcard/PG86 I MG . z i p
3 . Narzędziem ADB uruchom urządzenie w trybie HBOOT. W tym celu wywołaj
następującą instrukcję:
adb reboot bootl oader
4. Kiedy w urządzeniu zobaczysz biały ekran programu rozruchowego, za pomocą
przycisków zmiany głośności przejdź do opcji trybu rozruchowego i wciśnij
przycisk zasilania, aby ją wybrać. Program rozruchowy wyszuka plik .zip
umieszczony na karcie SD i zainstaluje go.
HAKOWANI E ANDROIDA 1 1 5

5. Po zainstalowaniu pliku .zip użyj strzałek do przejścia do opcji reboot i wybierz ją


za pomocą przycisku zasilania. Urządzenie ponownie się uruchomi.
6. Usuń plik PG86IMG.zip z karty SD. Możesz to zrobić za pomocą eksploratora
plików (na przykład programu ES File Explorer) lub przy użyciu następujących
poleceń narzędzia AD B:
adb shel l
cd \sdcard
rm PG86IMG . z i p

I NSTALOWAN I E PLI KU B I NARN EGO


DAJĄCEGO DOSTĘP DO KONTA ROOT
Teraz za pomocą aplikacji TWRP należy zainstalować plik binarny dający dostęp
do konta root. Jeśli j eszcze nie pobrałeś potrzebnego pliku binarnego, ściągnij plik
su-2.3. 6.3-signed-efgh.zip z punktu 99. strony http://forum.xda-developers. com/
showthread.php?t=1 192525). Plik ten należy umieścić na karcie SD, uruchomić program
do przywracania systemu, a następnie przenieść wspomniany plik z poziomu tego programu.

Jeśli urządzenie jest włączone, podłączone i działa w trybie diagnostycznym,


wprowadź poniższe polecenia, aby skopiować plik na kartę SD:
adb push su-2 . 3 . 6 . 3 - s i gn e d . efgh . z i p /sdcard/su-2 . 3 . 6 . 3 - s i gned . z i p
adb reboot boo t l oader
Możesz wpisać człon s u, a następnie wcisnqć klawisz Tab, aby system
automatycznie uzupełnił długq, skomplikowanq nazwę pliku.
l. Kiedy pojawi się biały ekran programu rozruchowego, za pomocą przycisków
zmiany głośności przejdź do opcji baatl aader i wciśnij przycisk zasilania.
2. Program rozruchowy zacznie szukać plików update.zip, po czym umożliwi
wybranie opcji recavery w celu uruchomienia aplikacji TWRP.
3. Po uruchomieniu aplikacji TWRP wybierz opcję Flash Zip
(za pomocą przycisku zasilania) .
4. Przy użyciu przycisków zmiany głośności przejdź do pliku binarnego dającego
dostęp do konta root i wybierz ten plik za pomocą przycisku zasilania. Aplikacja
TWRP przeniesie zawartość pliku .zip, a następnie jeszcze raz uruchomi urządzenie.

Po ponownym rozruchu urządzenia pliki binarne dające dostęp do konta root będą
znajdować się w odpowiednim miejscu. Można wtedy przejść do następnych operacji.

I NSTALOWAN I E APLI KACJ I SUPERUSER


Niestandardowy program d o przywracania systemu i plik binarny aplikacji SuperUser s ą już
gotowe. Teraz trzeba umożliwić obsługę konta root i żądań z tego poziomu, zgłaszanych
przez aplikacje oraz system operacyjny Android. ChainsDD, wyjątkowo utalentowany
programista, opracował aplikację SuperUser, przeznaczoną do zarządzania kontem root.
Należy ją zainstalować, aby móc obsługiwać wszystkie żądania z poziomu konta root.
1 1 6 ROZDZIAŁ 7. HTC EVO 3D - zablokowane urządzenie

l. Poszukaj w sklepie Google Play napisanej przez ChainsDD aplikacji SuperUser.


2. Pobierz i zainstaluj aplikację SuperUser. Możesz kupić wersję SuperUser Elite,
aby w ten sposób podziękować ChainsDD za pracę na rzecz społeczności hakerów
Androida. ChainsDD wkłada dużo wysiłku w ułatwianie innym pracy. Możesz
wspomóc go niewielką kwotą, aby umożliwić mu pracę dla społeczności hakerów.
3. Uruchom aplikację SuperUser w urządzeniu EVO 3D. Jeśli aplikacja wykryje
poprawnie zainstalowane pliki binarne, uzyskasz pełny dostęp do konta root
z opcją S-OFF.
4. Ponownie uruchom aplikację TWRP i utwórz pełną kopię zapasową systemu plików.

Na tym etapie możesz pobrać ROM-y ze zmianami i optymalizacjami. Niestandardowe


ROM-y zwykle są wolne od dodatkowych programów instalowanych przez operatorów
i obejmują poprawki firmware'u. Uwaga - pobieranie ROM-ów z forum XDA
może uzależniać! Zajrzyj do j ednego z wpisów zbiorczych (na przykład na stronie
http://forum.xda-developers.com/showthread.php?t= 1 1 92661 ) z listą najpopularniejszych
ROM-ów i niestandardowych kompozycji.
NEXUS ONE - URZĄDZENIE
. ,

Z MOZLIWOSCIĄ OD B LOKOWANIA

W TYM ROZDZIALE:
• Informacje o Nexusie One.
• Rootowanie Nexusa One.

W opisanej tu procedurze wykorzystasz umiejętności zdobyte w pierwszej części książki.


Odblokowane urządzenie pozwala na łatwe umieszczanie plików w zastrzeżonych
obszarach systemu plików i modyfikowanie telefonu. Ten rozdział jest wartościowy
nie tylko dla właścicieli Nexusa One, ale też dla wszystkich początkujących hakerów
Androida. Stanowi źródło wiedzy pomagające zrozumieć, jak wykorzystać polecenia
i umiejętności przedstawione w pierwszej części książki. Zapoznaj się z opisaną tu
procedurą, a dowiesz się, jak rootować urządzenia z możliwością odblokowywania,
a także jak stosować polecenia narzędzia ADB i Fastboot z pakietu SDK.

Nexus One to telefon Google'a z oryginalną (niezmodyfikowaną) wersją Androida.


Jest uważany za telefon dla programistów i można go odblokować za pomocą instrukcji
Fastboota. Producentem Nexusa One jest firma HTC, a za dystrybucję odpowiada
Google. Producenci i operatorzy zwykle modyfikują Androida przez dołączanie
wybranych funkcji oraz aplikacji do poszczególnych modeli lub usuwanie ich. Nexusa
One zaprojektowano z myślą o oryginalnej wersji Androida, niezmodyfikowanej przez
producenta lub operatora. Telefon ten nadal jest popularny wśród programistów i osób,
które cenią sobie łatwość rootowania i programowania w oryginalnym środowisku
Androida.

Adres strony poświęconej Nexusowi One na forum XDA to http://forum.xda-developers.com/


forumdisplay.php?f=556.
1 1 8 ROZDZIAŁ 8. Nexus One - urządzenie z możliwością odblokowania

DOSTĘPN E TECH N I KI ROOTOWAN IA


W Nexusie One dostępne są następujące techniki rootowania:
• uruchamiana jednym kliknięciem aplikacja Z4Root, która daje dostęp do konta
root, ale nie odblokowuje urządzenia;
• exploity ASHMEM oparte na skrypcie p sneuter;
• odblokowywanie programu rozruchowego za pomocą Fastboota.

Opisana tu procedura polega na odblokowaniu urządzenia za pomocą Fastboota.


Nexus One umożliwia odblokowywanie i pełni funkcję telefonu dla programistów.
W dostępnej na forum XDA wiki na temat Nexusa One (http://forum.xda-developers.com/
wiki/index.php?title=Nexus_One) znajdziesz wszystkie techniki i pliki potrzebne
w przedstawionej procedurze.

Istnieją techniki rootowania i instalowania niestandardowych ROM-ów Nexusa One,


które nie wymagają odblokowywania programu rozruchowego. Głównym powodem
stosowania tych metod jest chęć zachowania gwarancji (odblokowanie urządzenia
prowadzi do jej utraty) . Jeśli jednak odblokujesz Nexusa One, procedura będzie
prostsza, a zdobytą wiedzę będziesz mógł wykorzystać także przy innych urządzeniach
przeznaczonych dla programistów.

ZASOBY POTRZEB N E DO WYKO NAN IA PROCED U RY


Zanim przejdziesz do procedury, z poświęconego urządzeniu forum XDA
(http://forum.xda-developers.com/forumdisplay.php?f=556) pobierz następujące pliki:
• pakiet SDK Androida, aby uzyskać dostęp do instrukcji narzędzi ADB i Fastboot;
• plik obrazu rozruchowego dla Nexusa One, dający dostęp do konta root i zapisywany
na partycji rozruchowej; plik musi być dostosowany do wersji Androida; aby
określić tę wersję, wybierz opcję Settings/About This Phone numer wersji ma
-

postać podobną do ERE36B;


• plik binarny dający dostęp do konta root;
• aplikację SuperUser.apk;
• pliki binarne pakietu BusyBox.

PROCE D U RA
Umiejętności opisane w rozdziale 3. wykorzystasz tu do odblokowania programu
rozruchowego i przeniesienia nowego programu rozruchowego za pomocą Fastboota.
Procedura dostosowana jest do wersji 2. 3.3 Androida. Jeśli używasz Nexusa One
z wersjq 2.3.4, zastosuj procedurę opisanq na stronie http://ndl razor.blogspot.com/
201 1107/how-to-root-android-234-nexus-one.html. Jeżeli korzystasz z jeszcze
innej wersji, poszukaj odpowiednio dostosowanej procedury.
HAKOWANI E ANDROIDA 1 1 g

Podstawowe etapy rootowania Nexusa One i późniejszego umieszczania na nim


niestandardowego ROM-u są podobne do tych stosowanych w innych procedurach
z tej książki. Oto te kroki:
l. Odblokowanie programu rozruchowego.
2. Przeniesienie nowego programu rozruchowego z odblokowanym systemem plików.
3. Zainstalowanie plików binarnych pakietu BusyBox.
4. Zainstalowanie pliku binarnego dającego dostęp do konta root.

5. Zainstalowanie aplikacji SuperUser.apk w celu kontrolowania dostępu do konta root


przez aplikacje z urządzenia.

Program rozruchowy Nexusa One można odblokować z poziomu komputera


za pomocą prostego polecenia Fastboota. Trzeba jednak pamiętać, że ta technika
odblokowywania działa tylko w specjalnych urządzeniach, które to umożliwiają.
W innych urządzeniach samo odblokowanie programu rozruchowego jest trudne.
Jeśli fabryczny program rozruchowy nie jest zablokowany, proces dostosowywania
telefonu do własnych potrzeb jest bardzo prosty - tak jak w opisanej tu procedurze.
Odblokowanie programu rozruchowego w Nexusie One powoduje naruszenie
warunków gwarancji. Obecnie nie można ponownie zablokować programu
rozruchowego w tym urzqdzeniu, choć programiści nad tym pracujq. Zawsze
możesz wrócić do oryginalnych wersji Androida i ROM-u, jednak operacji
odblokowania programu rozruchowego nie da się cofnqć. Jeśli chcesz zachować
zablokowany program rozruchowy, możesz zrootować Nexusa One za pomocq
skryptu p sneuter (http://forum.xda­
developers.com/wiki/Nexus_One/Guides_%26_Tutorials#Root).
Należy pamiętać, że niektóre urzqdzenia zfunkcjq odblokowywania można
ponownie zablokować. Dotyczy to na przykład tabletu Xoom, który można
ponownie zablokować, o ile program rozruchowy i ROM majq sygnatury
producenta.

U R UCHAM IAN I E N EXUSA ON E W TRYB I E FASTBOOT


Pierwszy krok polega na uruchomieniu N exusa One w trybie z obsługą poleceń protokołu
Fastboot. Tryb ten nosi zwykle nazwę Fastboot lub Fastboot mode. W Nexusie One
dostępny jest tryb pośredni HBOOT, który pozwala wybierać między trybem Fastboot
a trybem przywracania systemu. Aby uruchomić Nexusa One w trybie HBOOT,
wyłącz telefon i wykonaj następujące operacje:
l. Podłącz urządzenie do komputera za pomocą kabla USB.
2. Wciśnij i przytrzymaj trackball w dolnej części telefonu.
3. Bez zwalniania trackballa wciśnij przycisk zasilania, aby uruchomić telefon.
Przytrzymaj trackball do czasu pojawienia się białego ekranu trybu HBOOT.
1 20 ROZDZIAŁ 8. Nexus One - urządzenie z możliwością odblokowania

4. Sprawdź, czy wskaźnik stanu wyświetla informację jastboot usb.

Za pomocą przycisków zmiany głośności przejdź do opcji programu


rozruchowego, uruchom go, a następnie wybierz tryb przywracania systemu.
Aby odblokować telefon, wystarczy wejść w domyślny tryb Fastboot.
5. Otwórz wiersz poleceń na komputerze i przejdź do katalogu z narzędziem Fastboot
(zwykle jest to katalog C:\Program Files (x86)\Android\android-sdk-windows\tools\).
6. Wprowadź następujące polecenie:
fas tboot dev i ces
Instrukcja ta działa podobnie jak polecenie adb dev i ces informuje -

o podłączonych urządzeniach w trybie Fastboot. Dane wyjściowe polecenia


powinny wyglądać tak j ak na rysunku 8. 1 .

BIl Administrator: Command Prompt

:'Program Piles <x86 )'Andro id\.android-sdk-windows\'tools )fastboot deu ices


T019P80?426 fastboot

:\'Program File:: (x86 )\'Andro id\.andł'oid-sdk-windows'tools)

Rysunek 8. 1 . Instrukcja fastboot devices informuje o podlączonym urządzeniu HTC (Nexusie One),
które dziala w trybie Fastboot

Jeśli instrukcja fastboot devi ces nie wyświetla żadnych podłączonych urządzeń,
sprawdź połączenie i na ekranie trybu HBOOT upewnij się, że Nexus One działa
w trybie jastboot usb.
7. Wprowadź następującą instrukcję:
fas tboot oem un l oc k
Ta instrukcja uruchamia żądanie odblokowania Nexusa One. Wybierz opcję Yes,
unlock bootloader and void your warranty.
Nexus One ponownie się uruchomi. W dolnej części ekranu rozruchowego zobaczysz
rozpiętą kłódkę·

PRZENOSZEN I E PARTYCJ I ROZRUCHOWEJ


Następnie należy przenieść partycję rozruchową, która umożliwi pełny dostęp
do systemu plików z poziomu konta root.
l. Wypakuj w katalogu z narzędziem Fastboot plik obrazu dający dostęp do konta
root. Dzięki temu wprowadzanie instrukcji Fastboota będzie łatwiejsze.
HAKOWANI E ANDROIDA 1 2 1

2. Ponownie uruchom Nexusa One w trybie Fastboot. W tym celu przytrzymaj


trackball w trakcie uruchamiania urządzenia.
3. Otwórz okno wiersza poleceń na komputerze i przejdź do katalogu z narzędziem
Fastboot.
4. Wprowadź następującą instrukcję:
fas tboot fl ash boot <numer_wersj i > . boot . i mg
Powoduje ono przeniesienie pobranego pliku obrazu rozruchowego na partycję
rozruchową·

Po zakończeniu przenoszenia urządzenie powinno jeszcze raz się uruchomić. Jeśli tak
się nie stanie, wpisz instrukcję fastboot reboot.

PEŁNY DOSTĘP DO KONTA ROOT


Następne etapy dotyczą instalowania poleceń zapewniających użytkownikom
Nexusa One pełny dostęp do konta root i kontrolę nad systemem plików na poziomie
administratora. Należy umieścić kilka plików binarnych w systemie plików (za pomocą
narzędzia ADB), a następnie zmienić uprawnienia do tych plików, tak aby można je
wykonywać.
Upewnij się, że Nexus One działa w trybie diagnostycznym. Potrzebne instrukcje
znajdziesz w rozdziale 3. Aby przejść do potrzebnej opcji, wybierz Settings/
Applications/Development/Debug.
l. Przejdź do katalogu, w którym zapisałeś pliki binarne dające dostęp do konta root,
pakiet BusyBox i aplikację SuperUser.apk.
2. Wpisz następujące polecenie:
adb push su /system/b i n/
3. Wprowadź poniższą instrukcję:
adb push busybox /system/bi n/

Następnie zaloguj się do powłoki Androida i zmień uprawnienia do przeniesionych


plików, tak aby można je wykonywać. Jeśli chcesz przypomnieć sobie informacje
o poruszaniu się po katalogach i używaniu powłoki ADB lub polecenia chmod, wróć
do rozdziału 3. i prześledź opisane tam procedury. W celu umożliwienia wykonywania
plików binarnych przeprowadź następujące operacje:
l. Otwórz okno wiersza poleceń na komputerze i upewnij się, że narzędzie ADB
ma dostęp do urządzenia (instrukcje dotyczące konfigurowania i używania tego
narzędzia znajdziesz w dodatku A).
2. W wierszu poleceń wpisz następującą instrukcję:
adb shel l
Powoduje ona przejście do interaktywnej powłoki ADB. O przejściu do niej
świadczy znak zachęty # w powłoce.
1 22 ROZDZIAŁ 8. Nexus One - urządzenie z możliwością odblokowania

3. Obok znaku zachęty wprowadź polecenie:


chmod 4755 /system/bi n/su
4. Następnie wpisz poniższą instrukcję:
chmod 4755 /system/bi n/busybox
5. W ostatnim kroku należy zmienić właściciela, aby plik binarny dający dostęp do
konta root należał do użytkownika takiego konta. Wpisz następującą instrukcję:
chown root /system/bi n/su

Po zainstalowaniu potrzebnych plików binarnych i zmienieniu uprawnień należy


zainstalować aplikację SuperUser (jej autorem jest ChainsDD). Pozwala ona
kontrolować dostęp aplikacji do konta root. Przejdź do sklepu Google Play i pobierz
aplikację SuperUser.apk.

Na tym etapie Nexus One jest odblokowany, zrootowany i gotowy do wprowadzania


dalszych zmian.

I NSTALOWAN I E N I ESTAN DARDOWEGO PROGRAM U


DO PRZYWRACAN IA SYSTEM U
Niestandardowy program do przywracania systemu można zainstalować na kilka
sposobów. Ręczny sposób polega na pobraniu pliku obrazu z takim programem
i przeniesieniu go za pomocą Fastboota do partycji przywracania systemu. Aby ręcznie
przenieść niestandardowy program do przywracania systemu, wykonaj następujące
operacje:
l. Podłącz Nexusa One do komputera i otwórz okno wiersza poleceń.
2. Wprowadź polecenie adb reboot-bootl oader.
3. Upewnij się, że Nexus One przeszedł w tryb fastboot usb.
4. W wierszu poleceń komputera uruchom następującą instrukcję:
fas tboot fl ash recovery <nazwa_obraz u . img>
Poczekaj na zakończenie przenoszenia.
5. Wprowadź instrukcję fastboot reboot-bootl oader, aby ponownie uruchomić
urządzenie w trybie rozruchowym.
6. Za pomocą przycisków zmiany głośności zaznacz opcję bootloader, a następnie
wciśnij przycisk zasilania.
7. Program rozruchowy znajdzie plik update.zip, po czym należy wybrać opcję
recovery za pomocą przycisków zmiany głośności i zasilania. Nexus One uruchomi
się w trybie przywracania systemu.

Istnieje też dużo łatwiejszy sposób instalowania niestandardowego programu


do przywracania systemu, choć opisana tu ręczna technika jest bardziej pouczająca.
Koushik Dutta opracował aplikację RomManager współdziałającą z programem
ClockworkMod. RomManager nie tylko jest doskonałym narzędziem do instalowania
programu ClockworkMod, ale też pozwala pobierać i przenosić niestandardowe ROM-y.
HAKOWANI E ANDROIDA 1 23

Pobierz aplikację RomManager ze sklepu Google Play. Warto kupić pełną wersję,
ponieważ daje wiele korzyści, a jej autor jest zarówno godny zaufania, jak i pracowity.

Aby wykorzystać aplikację RomManager do zainstalowania programu ClockworkMod,


wykonaj następujące operacje:
l. Uruchom RomManagera i wybierz opcję Flash Clockwork.
2. Wybierz swoje urządzenie z listy obsługiwanego sprzętu wykrytego przez
RomManagera. RomManager zażąda uprawnień administratora, a aplikacja
SuperUser wyświetli okno pozwalające przyznać takie uprawnienia.
3. Wybierz opcje Allow i Remember. RomManager zainstaluje program
ClockworkMod.
4. Po udanej instalacji wybierz opcję Reboot into recovery. W czasie rozruchu
Nexusa One uruchomi się program ClockworkMod.

Teraz należy utworzyć kopię zapasową całej zawartości Nexusa One.


1 24 ROZDZIAŁ 8. Nexus One - urządzenie z możliwością odblokowania
, ,

HTC THUNDERBOLT - SCIS LE


ZA B LOKOWANE URZĄDZENIE

W TYM ROZDZIALE:
• Informacje o urządzeniu HTC ThunderBolt.
• Rootowanie urządzenia HTC Thunder Bolt.

Telefon HTC Thunder Bolt to urządzenie z Androidem wyposażone w procesor


o szybkości 1 GHz i mające 768 megabajtów pamięci, wprowadzone na rynek
przez operatora Verizon LTE (sieć 4G). Jest to jedno z urządzeń pierwszej generacji,
obsługującej standard 4G dostępny w sieci Verizonu.

Thunder Bolt jest też jednym z najściślej zablokowanych urządzeń firmy HTC.
Wbudowano w niego wiele poziomów zabezpieczeń i szyfrowanie. Miało to pozwolić
zachować producentowi i operatorom pełną kontrolę nad urządzeniem. ThunderBolta
udało się jednak odblokować za pomocą sprawdzonego exploita p sneuter i starszego
firmware'u, który można zrootować.

Procedurę rootowania ThunderBolta opisano tu z tej przyczyny, że w trakcie jej


wykonywania poczujesz się jak haker. Choć wszystkie trudne zadania zostały wykonane
przez programistów, między innymi Scotta Walkera i członków grupy AndIRC,
to korzystanie z exploita i umiejętności zdobytych w rozdziale 3. pozwala odnieść
wrażenie, że naprawdę hakujesz telefon.

W momencie wprowadzenia ThunderBolta na rynek pojawiły się głosy, że zabezpieczeń


tego urządzenia nie da się złamać. Jednak społeczność hakerów szybko udowodniła,
że jest inaczej. W niedługim czasie Thunder Bolt przestał być jednym z najściślej
zablokowanych urządzeń z Androidem i dołączył do grupy całkowicie odblokowanych
telefonów. W tym rozdziale znaj dziesz szczegółowy opis każdego kroku, który prowadzi
do takiego efektu.
1 26 ROZDZIAŁ 9. HTC ThunderBolt - ściśle zablokowane urządzenie

M OZLlWE M ETODY ROOTOWAN IA


Większość metod rootowania ThunderBolta jest oparta na opisanej tu procedurze.
Niezbędne są tylko drobne zmiany dla nowszych wersji telefonu i związane z aktualizacjami
instalowanymi poprzez sieć komórkową przez Verizon. Niezwykle ważne jest, aby
dobrze określić na forum XDA, która procedura jest odpowiednia dla konkretnych
wersji urządzenia, trybu HBOOT i Androida.
Opisana tu procedura jest przeznaczona dla oprogramowania MRlIOTA
Firmware 1 . 1 3.605.7. Wersję firmware'u można sprawdzić za pomocq opcji
Settings/About Phone.
Poświęcone urządzeniu forum w serwisie XDA znajdziesz pod adresem
http://forum.xda-developers.com/forumdisplay.php?f=940. Dobrym źródłem
wiedzy o omawianej procedurze jest wątek http://forum.xda-developers. com/
showthread.php?t=996616.

Według autorów niektórych wpisów przedstawiona tu metoda jest przestarzała. Opinie


te wynikają z tego, że pojawiła się nowsza technika. W rozdziale 7. opisano narzędzie
Revolutionary, z którego w razie możliwości należy korzystać. Technika przedstawiona
w tym rozdziale jest skuteczna, jeśli w urządzeniu działa pierwotnie zainstalowana
wersja Androida.

ZASOBY POTRZEB N E W TEJ PROCEDU RZE


Za pomocą odnośników ze strony http://forum.xda-developers. com/
showthread.php?t=99661 6 można pobrać następujące pliki:
• niestandardowe narzędzie do aktualizowania ROM-ów, PG05IMG_downgrade.zip
(MD5SUM - aae974054fc3aed275ba3596480ccd5b);
• pliki binarne pakietu BusyBox;
• pliki z exploitami wpth i s i psneuter;
• plik binarny dający dostęp administracyjny (SU);
• plik misc. img (MD5SUM - c88dd947eb3b36eec90503a3 525aeOde),
służący do podmiany zawartości pamięci eMMC;
• plik obrazu hbooteng. nbO (MD5SUM - 699 1 368ee2deaf1 82048a3ed9d3cOfcb),
służący do podmiany wersji narzędzia HBOOT; wersja z pliku jest przeznaczona
dla programistów i zapewnia dostęp do większej liczby poleceń Fastboota;
• niestandardowe narzędzie do aktualizowania ROM-ów,
PG05IMG_MR1_upgrade.zip (MD5SUM - 7960c7977c25b2c8759605be264843ea).
HAKOWANI E ANDROIDA 1 27

Wszystkie pobrane pliki należy umieścić w jednym katalogu komputera. Dostęp do tych
plików jest wygodniejszy, jeśli znajdują się w podkatalogu katalogu głównego jednego
z dysków komputera (na przykład w podkatalogu D:\ ThunderBolt). Wypakuj do tego
podkatalogu pliki exploitów oraz pliki binarne narzędzia BusyBox i programu SU.
Nie wypakowywuj plików .zip służqcych do instalowania nowszych lub starszych
wersji komponentów systemu. Sq to pliki R UU (ang. ROM upgrade utility),
zawierajqce podpisanyfirmware, który posłuży do podmienienia oprogramowania
telefonu na starszq wersję. Następnie można zainstalować nowszq wersję po włqczeniu
w urzqdzeniu opcji S-OFF. Niezwykle istotne jest, aby nie wypakowywać
wspomnianych plików. Wystarczy umieścić w katalogu archiwa .zip.

PROCE D U RA
Przed rozpoczęciem procedury należy skonfigurować narzędzie ADB. Instrukcje
na temat jego konfigurowania i korzystania z niego znajdziesz w dodatku A.
Przeczytaj wszystko, co możliwe. Zapoznaj się z wqtkami na forum XDA.
Naładuj baterię telefonu. Błędne zastosowanie się do instrukcji może prowadzić
do uszkodzenia urzqdzenia. Pamiętaj, że hakowanie oznacza naruszenie
warunków gwarancji. Bierzesz na siebie pełnq odpowiedzialność.

ZAPISYWAN I E PLI KÓW W U RZĄDZE N I U


Pierwszy krok polega na zapisaniu pliku exploita, pakietu BusyBox i obrazu exploita
w części systemu, w której możliwy jest zapis bez dostępu do konta root. Do przenoszenia
plików i zmiany ich uprawnień (tak aby pliki binarne można było wykonywać) posłuży
narzędzie ADB.

Powłokę ADB należy tu zastosować w trybie nieinteraktywnym. Kiedy w rozdziale 3.


uczyłeś się korzystać z instrukcji chmod, powłoki ADB używałeś w trybie interaktywnym.
W trybie nieinteraktywnym po wprowadzeniu pierwszego polecenia znak zachęty nie
zmienia się na $. Zamiast tego instrukcja jest uruchamiana w urządzeniu, po czym
w wierszu poleceń pojawia się znak zachęty typowy dla komputera.
l. Otwórz w komputerze okno wiersza poleceń i przejdź do katalogu, w którym
zapisałeś pliki.
2. Uruchom poniższe polecenia, aby umieścić pliki w umożliwiającym zapis miejscu
w systemie plików:
adb push psneuter /data/l ocal /
adb push busybox /data/l ocal /
adb push m i s c . img /data/l ocal /
3. Wprowadź poniższe instrukcje, aby zmienić uprawnienia do plików:
adb shel l chmod 777 /data/l ocal /psneuter
adb shel l chmod 777 /data/l ocal /busybox
1 28 ROZDZIAŁ 9. HTC ThunderBolt - ściśle zablokowane urządzenie

TYM CZASOWY DOSTĘP DO KONTA ROOT


Następny krok polega na uzyskaniu tymczasowego dostępu do konta root. Efekt ten
można uzyskać za pomocą exploita, w którym narzędzie ADB sprawdza opcje S-OFF i S-ON
z podłączonego urządzenia. Scott Walker zapisał ten exploit w formie narzędzia p sneuter,
które przed chwilą umieściłeś w urządzeniu.

Teraz należy zastosować powłokę ADB w trybie interaktywnym (w taki sam sposób,
jak w rozdziale 3.). W pewnym momencie można odnieść wrażenie, że powłoka ADB
się zawiesza. To oczekiwany efekt. W razie potrzeby należy zamknąć okno wiersza
poleceń i ponownie je otworzyć, aby kontynuować wykonywanie procedury.

Dostęp do konta root z wykorzystaniem exploita psneuter jest tymczasowy. Ponowny


rozruch urządzenia (tak jak niektóre inne działania) powoduje utratę dostępu. Upewnij
się, że bateria urządzenia jest naładowana, i nie wykonuj operacji innych niż opisane
w procedurze.
l. Wpisz polecenie adb she 1 1 , aby uruchomić powłokę ADB w trybie interaktywnym.
W wierszu poleceń komputera powinien pojawić się znak zachęty $,
oznaczający, że pracujesz w systemie operacyjnym Android, ale masz niski
poziom dostępu (bez dostępu do konta root).
2. Wprowadź instrukcję jdatajl o cal jpsneuter, aby uruchomić exploit psneuter.
Nastąpi krótka przerwa. Może ona dać dwa efekty. Oto one:
• następuje zamknięcie powłoki ADB i powrót do wiersza poleceń komputera;
• wiersz poleceń się zawiesza i nie można wprowadzić żadnych instrukcji.

W obu sytuacjach należy otworzyć nowe okno wiersza poleceń i przejść do operacji
z następnego punktu. Bardzo mało prawdopodobne jest, że trzeba będzie ponownie
uruchomić exploit psneuter. Jeśli nie masz tymczasowego dostępu do konta root
(o takim dostępie świadczy znak zachęty l), jeszcze raz uruchom telefon i spróbuj
wykonać całą procedurę od początku.

SPRAWDZAN I E SYGNATU RY M D5 PLI KU


Plik binarny BusyBox (zobacz rozdział 3.) obejmuje wiele poleceń dla systemu
operacyjnego Android, w tym instrukcje umożliwiające utworzenie skrótu pliku
na potrzeby porównania z sygnaturą MD5.

Po pobraniu pliku należy utworzyć skrót na podstawie jego kopii, aby sprawdzić,
czy plik ma odpowiednią wielkość i czy nie jest uszkodzony. Po umieszczeniu pliku
obrazu w przeznaczonej na niego części systemu plików ponownie należy wygenerować
skrót w celu ustalenia, czy plik został poprawnie zapisany.
HAKOWANI E ANDROIDA 1 29

ZAPISYWAN I E TYMCZASOWEGO
PROG RAM U ROZRUCHOWEGO
Teraz należy wykorzystać plik misc. img do zastąpienia fragmentu systemu plików
ThunderBolta. Pozwala to zainstalować starszą wersję firmware'u, co z kolei umożliwia
zainstalowanie zrootowanego obrazu.

Zanim wykonasz tak ryzykowną operację, jaką jest zastąpienie fragmentu programu
rozruchowego, musisz się upewnić, że zapisywane dane są takie same jak prawidłowy
kod exploita. W czasie tworzenia exploita wygenerowano jednokierunkowy skrót MD5,
który można wykorzystać do sprawdzenia poprawności pliku po jego pobraniu lub
przeniesieniu.

Proces sprawdzania skrótu MD5 pliku opisano szczegółowo w rozdziale 3.


Teraz wprowadź poniższą instrukcję po znaku zachęty # w powłoce ADB:
/data/l ocal /busybox md5sum /data/l ocal /m i s c . img

Powinieneś uzyskać skrót c88dd947eb3b3 6eec90503a3525aeOde. Jeśli otrzymany


łańcuch znaków różni się od oczekiwanego, należy ponownie pobrać plik i umieścić go
w odpowiednim miejscu.
Na tym etapie powinieneś koniecznie sprawdzić skrót MD5 (nawet dwukrotnie),
ponieważ zapisujesz dane we fragmencie pamięci za pomocq niebezpiecznej
instrukcji. Pomyłka lub nawet jeden błędny bit doprowadzq do uszkodzenia
telefonu. Jest to rzadka sytuacja w trakcie rootowania.
Jeśli skrót jest identyczny z oczekiwanym łańcuchem znaków, można zapisać plik
misc. img w docelowym miejscu.
l. W powłoce ADB wprowadź następującą instrukcję (więcej informacji o poleceniu
dd znajdziesz w rozdziale 3.):
dd i f=/data/l ocal /m i s c . img of=/dev/bl ock/mmcbl kOp 1 7
2. Sprawdź poprawność skrótu M D 5 skopiowanych danych. W tym celu wpisz
poniższe polecenie:
/data/l ocal /busybox md5sum /dev/bl oc k/mmcbl kOp 1 7
Wygenerowany skrót M D 5 powinien być identyczny z łańcuchem znaków
c88dd947eb3b36eec90503a3525aeOde. Jeśli jest inaczej, powtórz opisane tu kroki.

I NSTALOWAN I E STARSZEJ WERSJ I FIR MWARE'U


W tym kroku należy zastąpić oryginalny firmware starszą podpisaną wersją.
W rozdziale 2. wspomniano, że program rozruchowy wyszukuje pliki o określonej
nazwie, obejmujące aktualizację firmware'u urządzenia. Należy więc skopiować
podpisany plik .zip ze starszą wersją oprogramowania na kartę SD urządzenia.
Posłużą do tego instrukcje narzędzia ADB.
l. W oknie wiersza poleceń komputera wprowadź polecenie adb she 1 1 ,
aby uruchomić powłokę ADB w trybie interaktywnym.
1 30 ROZDZIAŁ 9. HTC ThunderBolt - ściśle zablokowane urządzenie

2. Wpisz poniższą instrukcję, aby zmienić nazwę pliku:


adb push PG05 IMG _downgrade . z i p jsdcardjPG05 I MG . z i p
3 . Wprowadź następujące polecenie, aby sprawdzić poprawność skrótu MD5
zapisanego pliku:
jdatajl ocal jbusybox md5sum jsdcardjPG05 I MG . z i p
Wygenerowany skrót MD5 powinien być identyczny z
aae974054fc3aed275ba3596480ccd5b. Jeśli występują różnice, powtórz krok 2.
i ponownie sprawdź skrót. Możliwe, że konieczne będzie powtórne pobranie
pliku. Nie odłączaj telefonu i nie uruchamiaj go ponownie. Jeśli to zrobisz,
prawdopodobnie trwale uszkodzisz telefon. Spróbuj doprowadzić do uzyskania
poprawnego skrótu.
4. Po otrzymaniu prawidłowego skrótu wpisz polecenie:
adb reboot bootl oader
5. Po pojawieniu się białego ekranu programu rozruchowego HBOOT za pomocą
przycisków zmiany głośności wybierz opcję bootloader i wciśnij przycisk zasilania,
aby uruchomić program rozruchowy. Program rozruchowy znajdzie podpisany
plik .zip i zainstaluje go w urządzeniu.
6. Kiedy zobaczysz pytanie o aktualizację, wybierz opcję yes. Zrób sobie kawę
i poczekaj na zakończenie procedury. Instalowanie aktualizacji i ponowne
uruchamianie może zająć sporo czasu.
7. Po zakończeniu procedury wybierz opcję reboot i pozwól na ponowny rozruch
urządzenia.

Po uruchomieniu się telefonu użyj eksploratora plików (na przykład programu ES File
Explorer) do znalezienia pliku PG05IMG.zip na karcie SD i usunięcia go. To ważne,
ponieważ później należy zapisać na karcie następną, nowszą wersję podpisanego
firmware'u w celu jego zainstalowania.

TYM CZASOWY DOSTĘP DO KONTA ROOT


W CELU ODBLOKOWAN IA PAM I ĘCI M M C
Teraz należy wykonać prawie te same operacje, co w trakcie umieszczania plików
w urządzeniu. Następnie trzeba uruchomić dwuczęściowy exploit, aby uzyskać
tymczasowy dostęp do konta root i odblokować pamięć MMC.
l. W oknie wiersza poleceń komputera przejdź do katalogu, do którego wypakowałeś
wszystkie pliki z exploitami dla ThunderBolta.
2. Uruchom następujące instrukcje:
adb push psneuter jdatajl ocal j
adb push busybox jdatajl ocal j
adb push wpt h i s jdatajl ocal j
adb shel l chmod 777 jdatajl ocal jpsneuter
adb shel l chmod 777 jdatajl ocal jbusybox
adb shel l chmod 777 jdatajl ocal jwp t h i s
HAKOWANI E ANDROIDA 1 3 1

3. Wywołaj poniższe polecenia, aby uzyskać tymczasowy dostęp do konta root:


adb shel l
/data/l ocal /psneuter
Warto pamiętać, że ten exploit powoduje zamknięcie powłoki ADB, dlatego
nie wpadaj w panikę. Ponownie uruchom powłokę ADB i przejdź do następnego
kroku.
4. Odblokuj pamięć MMC:
/data/l ocal /wpt h i s
exi t

ZASTĘPOWAN I E PROG RAM U ROZRUCHOWEGO


Najpierw należy umieścić plik programu rozruchowego HBOOT w systemie plików
i sprawdzić skrót MD5. Następnie trzeba zapisać ten plik w pamięci MMC i sprawdzić
skrót MD5. Jest to najważniejszy punkt procedury. Jeśli skrót wygenerowany przez
instrukcję MD5SUM jest błędny, należy ponownie zapisać plik. Operację tę trzeba
powtarzać do momentu uzyskania poprawnego skrótu MD5.
Popełnienie błędu w trakcie tej procedury może prowadzić do całkowitego
uszkodzenia telefonu. Nie spiesz się, czytaj uważnie i nie wpadaj w panikę.
l. W oknie wiersza poleceń komputera przejdź do katalogu, do którego wypakowałeś
wszystkie pliki dla ThunderBolta.
2. Wpisz poniższe polecenie, aby przenieść plik do urządzenia:
adb push hboote n g . nbO /data/l ocal /
3. Otwórz powłokę ADB i za pomocą poniższych instrukcji sprawdź skrót pliku:
adb shel l
/data/l ocal /busybox md5sum
/data/l ocal /hbooten g . nbO
4. Uważnie sprawdź otrzymany skrót. Musi być identyczny z łańcuchem znaków
699 1368ee2deaf1 82048a3ed9d3cOfcb.
Jeśli otrzymany skrót MD5 różni się od podanego łańcucha znaków, należy
ponownie pobrać plik.
5. Po znaku zachęty # w powłoce ADB wpisz następującą instrukcję, aby zapisać
nowy program rozruchowy:
dd i f=/data/l ocal /hbooten g . nbO
of=/dev/bl ock/mmcbl kOp 18
6. Po zakończeniu procedury trzeba sprawdzić skrót MD5 pliku zapisanego w bloku
pamięci MMC. W powłoce ADB wprowadź następujące polecenie:
/data/l ocal /busybox md5sum /dev/bl oc k/mmcbl kOp 18
Uzyskany skrót MD5 powinien być identyczny z łańcuchem znaków
699 1368ee2deaf1 82048a3ed9d3cOfcb. Jeśli występują różnice, powtórz krok 5.
Nie odłączaj telefonu i nie uruchamiaj go ponownie. Jeśli to zrobisz,
prawdopodobnie trwale uszkodzisz urządzenie.
1 32 ROZDZIAŁ 9. HTC ThunderBolt - ściśle zablokowane urządzenie

7. Kiedy uzyskasz poprawny skrót, wprowadź poniższe polecenia, aby wyjść z powłoki
ADB i jeszcze raz uruchomić urządzenie:
exi t
adb reboot

AKTUALlZOWAN I E FI RMWARE'U
Teraz za pomocą narzędzia ADB należy skopiować plik .zip z aktualizacją na kartę SD
i pozwolić programowi rozruchowemu na zapis pliku w urządzeniu.
l. Upewnij się, że w oknie wiersza poleceń komputera otwarty jest katalog, w którym
umieściłeś podpisany plik .zip.
2. Wprowadź poniższe polecenie, aby umieścić plik na karcie SD:
adb p u s h PG05 IMG MRl upgrade . z i p
j s dcardjPG 0 5 I MG . z i p

3. Ponieważ wcześniej uzyskałeś tylko tymczasowy dostęp do konta root,


należy zapisać w urządzeniu także plik binarny pakietu BusyBox:
adb p u s h busybox jdatajl ocal j

4. Sprawdź, czy skrót pliku RUU z aktualizacją firmware'u pasuje do poprawnego


skrótu MD5SUM pliku (7960c7977c25b2c8759605be264843ea):
adb s h e l l
jdataj l ocal j b usybox m d 5 s um j s d cardjPG05 I MG . z i p

Jeśli skróty różnią się o d siebie, pobierz plik .zip z aktualizacją i ponownie
umieść go na karcie SD. Powtarzaj te kroki do czasu uzyskania poprawnego skrótu.
5. Po udanym zapisaniu pliku na karcie SD możesz pozwolić nowemu programowi
rozruchowemu na zapis nowego firmware'u:
exi t
adb reboot b o o t l oader

Po pojawieniu się białego ekranu programu HBOOT należy za pomocą przycisków


zmiany głośności i zasilania wybrać opcję bootloader. Program rozruchowy znajdzie
wtedy plik PG05IMG.zip i zainstaluje go. Kiedy pojawi się pytanie o aktualizację,
ponownie wybierz opcję yes i idź na kawę - operacja potrwa jakiś czas. Po zakończeniu
instalacji ponownie uruchom urządzenie i usuń plik PG05IMG.zip z karty SD.
Na tym etapie urządzenie działa z opcją S-O FF. Opcja zabezpieczeń jest wyłączona,
a w urządzeniu zainstalowany jest firmware produkcyjny (a nie wersja dla programistów).
Pobierz plik SuperUser.apk ze sklepu Google Play (poszukaj aplikacji SuperUser).
Możesz też kupić i zainstalować RomManagera, aby uzyskać dostęp do niestandardowych
programów do przywracania systemu i firmware'u z niestandardowych ROM-ów.
Jeśli zaakceptujesz pliki przesyłane drogą radiową (ang. over the air - OTA) przez
operatora, prawdopodobnie zniweczą one całą wykonaną wcześniej pracę. Możesz
utracić dostęp do konta root i niestandardowy firmware. Dlatego lepiej jest nie
akceptować aktualizacji w trybie OTA. Jeśli jednak zainstalujesz niestandardowy ROM,
prawdopodobnie nie otrzymasz takich aktualizacji, ponieważ większość ROM-ów je
blokuje. Dla niestandardowych ROM-ów zwykle powstają specjalne aktualizacje oparte
na aktualizacjach w trybie OTA.
DROID CHARGE - INSTALOWANIE
OPROGRAMOWANIA
ZA POMOCĄ ODIN-A

W TYM ROZDZIALE:
• Informacje o urządzeniu Droid Charge.
• Rootowanie urządzenia Droid Charge.

Droid Charge to dobrze zaprojektowany smartfon z Androidem, wyposażony


w kontrastowy wyświetlacz i mający dostęp do sieci LTE (4G) Verizonu.

Modyfikowanie ROM-u i firmware'u w smartfonie Droid Charge polega na czymś


innym niż na przesyłaniu instrukcji i plików do urządzenia za pomocą narzędzia ADB.
Choć narzędzie to można wykorzystać do komunikacji ze sprzętem Samsunga (i z prawie
wszystkimi urządzeniami z Androidem), większość procedur zmiany firmware'u
w sprzęcie tej firmy jest oparta na pakiecie ODIN. ODIN przypomina protokół
Fastboot. Jest narzędziem, które pobiera pakiety z firmware'em (zrootowanymi
ROM-ami, programami do przywracania systemu oraz innymi modyfikacjami)
i zapisuje je w pamięci urządzeń Samsunga. Proces rootowania z użyciem ODIN- a
jest stosunkowo prosty. Jednak choć ODIN jest wygodniejszy w obsłudze niż wiersz
poleceń, nie jest intuicyjny, dlatego jego interfejs wymaga omówienia.

ODIN umieszcza w systemie plików telefonu specjalnie sformatowane pakiety .tar.md5.


Najłatwiejszy sposób na uzyskanie dostępu do konta root polega na zainstalowaniu
programu ClockworkMod i wykorzystaniu go do instalacji wybranego zrootowanego
ROM-u.
Nigdy nie instaluj pakietu, jeśli nie masz pewności, że jest przeznaczony dla
danego urzqdzenia i odpowiedniej wersji firmware'u (programu rozruchowego).
1 34 ROZDZIAŁ 1 0. Droid Charge - instalowanie oprogramowania za pomocą OD IN-a

ZASOBY POTRZE B N E W OMAWIAN EJ PROCED U RZE


Wszystkie potrzebne programy można pobrać ze strony http://forum.xda-developers. com/
showpost.php?p=1 5897406. Potrzebne będą przynajmniej:
• sterowniki dla smartfonu Droid Charge;
• narzędzie ODIN 3.x;
• program ClockworkMod w formacie odpowiednim dla ODIN-a;
• zrootowany niestandardowy ROM przeznaczony do instalacji za pomocą
programu ClockworkMod.
Dostępne sq kompletne pakiety dla urzqdzenia Droid Charge, obejmujqce
zrootowany ROM i program ClockworkMod. Przy korzystaniu z takiego pakietu
(przykładowq wersję znajdziesz we wpisie http://forum.xda-developers. com/
showpost.php?p= 15897406 naforum XDA) wystarczy wykonaćjeden etap instalacji.

PROCE D U RA
Jeśli pobrałeś pakiet Charge Kit ze strony http://forum.xda-developers. com/
showpost.php?p=1 5897406, wypakuj ODIN-a do odrębnego katalogu na komputerze.
Katalog ten ma służyć do uruchamiania ODIN-a - staraj się nie umieszczać w nim
archiwów przeznaczonych do instalacji ani innych plików.

PODŁĄCZAN I E ODI N-A DO U RZĄDZE N IA


Uruchom ODIN-a przez dwukrotne kliknięcie pliku wykonywalnego z tym
programem. Powinieneś zobaczyć okno podobne do tego z rysunku 10. 1 .

Odin3. [Android + SLP]

I �CCCCCCC
�I�--
D:COM �--�--�--�--�--�--�--
I I
r Re.f'arlibon

r FlashLoc:k
P" Auto Reboot P" F, ResetTme
s..., Re�'

II
r D"", � ID I II
Fi<> [DowOOodJ
r Phonc EfS Clear r Phonc 6ootloader Update
r BOOll O AllER
II
r �A 1 1,-----
r
II
r
=
1 1,-----

..:J ["'[D<.n'oJ
__
00
_""
1
---,I I

Rysunek 1 0 . 1 . Narzędzie OD/N


HAKOWANI E ANDROIDA 1 35

Aby telefon mógł się komunikować z ODIN-em, musi działać w trybie pobierania.
W celu włączenia tego trybu wykonaj następujące operacje:
l. Wyciągnij baterie z urządzenia Droid Charge.
2. Podłącz urządzenie do komputera za pomocą kabla USB. Zwykle telefon zacznie
działać na zasilaniu z komputera (jeśli wystąpią problemy, zapoznaj się
z podrozdziałem "Rozwiązywanie problemów").
3. Przytrzymaj przycisk zmniejszania głośności do momentu pojawienia się dużego
żółtego trójkąta.
4. Teraz telefon działa w trybie pobierania, a ODIN powinien poinformować
o podłączonym urządzeniu w oknie ID:COM.

PRZENOSZEN I E PLI KÓW


Na tym etapie przejdziesz do instalowanego pliku i za pomocą ODIN-a umieścisz go
w urządzeniu.
l. Otwórz program ODIN na komputerze.
2. Zaznacz pole wyboru obok przycisku PDA.
3. Kliknij przycisk PDA. Pojawi się okno dialogowe wyboru pliku.
W tych krokach używasz przycisku PDA. Niezwykle ważnejest, aby nie korzystać
z żadnych innych przycisków w trakcie instalowania oprogramowania w telefonie.
4. Przejdź do pliku, który chcesz zainstalować w urządzeniu Droid Charge. Plik ten
może obejmować cały pakiet (z ROM-em, programem zapewniającym dostęp do
konta root i programem do przywracania systemu) lub program ClockworkMod.
5. Wybierz plik z rozszerzeniem . tar.md5. Ścieżka do pliku pojawi się w polu
tekstowym obok przycisku PDA.
6. Usuń zaznaczenie pola Auto Reboot (pod polami ID:COM).
7. Kliknij przycisk Start.
ODIN rozpocznie proces pobierania. Nie przerywaj go. Po zakończeniu operacji ODIN
wyświetli niebieski napis Restart, a następnie zielony napis Pass w polu ID:COM.
Jeśli narzędzie nie wyświetli napisu Pass, należy rozpoczqć rozwiqzywanieproblemów
zprocesem instalacji. Korzystanie z ODIN-ajest stosunkowo bezpieczne iproste. Jeżeli
natknieszsię naproblemy, przejdź do podrozdziału "Rozwiązywanie problemów'.
8. Odłącz telefon, aby ponownie go uruchomić. Jeśli na potrzeby rozwiązywania
problemów włożyłeś baterie, musisz je wyjąć.
• Jeśli pakiet zainstalowany za pomocą ODIN-a to program do przywracania
systemu, można uruchomić telefon w trybie przywracania systemu i zainstalować
niestandardowy, zrootowany ROM. Aby to zrobić, wykorzystaj przedstawione
w rozdziale 3. informacje na temat programu ClockworkMod.
• Aby uruchomić telefon w trybie przywracania systemu, jednocześnie wciśnij
w trakcie rozruchu przycisk ekranu głównego, przycisk zwiększania głośności
i przycisk zasilania.
1 36 ROZDZIAŁ 1 0. Droid Charge - instalowanie oprogramowania za pomocą OD IN-a

ROZWIĄZYWAN I E PROB LE M ÓW
Jeśli ODIN nie wyświetla zielonego napisu Pass w polu ID:COM, warto pomyśleć
o zastosowaniu opisanych poniżej wskazówek.
• Jeżeli urządzenie zamyka się przed ukończeniem procedury, możliwe, że otrzymuje
za mało energii przez kabel USB. Spróbuj wybrać inny port USB (koniecznie tylny) .
• Korzystaj tylko z portu USB komputera. Nigdy nie posługuj się koncentratorem
USB ani portami USB z przedniego panelu. Przy korzystaniu z portów USB innych
niż główny mogą wystąpić zakłócenia, a napięcie może nie wystarczyć do zakończenia
instalacji.
• Upewnij się, że używany kabel USB służy nie tylko do ładowania, ale też
do transferu danych. Wypróbuj różne kombinacje kabli USB i portów.
• Jeśli problem wystąpi w chwili, kiedy telefon jest podłączony do ODIN-a i działa
w trybie pobierania, ponownie włóż baterie na czas instalacji. Po zakończeniu
instalowania pakietu usuń baterie i ponownie uruchom urządzenie.
• ODIN źle współdziała z innymi aplikacjami, dlatego w trakcie jego używania
zamknij inne programy. Wyłącz oprogramowanie antywirusowe, firewalle i inne
zabezpieczenia.
• Zawsze może się okazać, że w pobranym pakiecie instalacyjnym występują błędy.
Wtedy pobierz pakiet jeszcze raz (niezależnie od tego, czy obejmuje wszystkie
komponenty, czy tylko program do przywracania systemu lub ROM).
NEXUS S
- ODB LOKOWANE URZĄDZENIE

W TYM ROZDZIALE:
• Informacje o Nexusie S.
• Rootowanie Nexusa S.

Nexus S to drugi flagowy smartfon firmy Google z niezmodyfikowanym Androidem.


Google od czasu do czasu wprowadza na rynek telefon we współpracy z producentem
sprzętu. Urządzenia z tej serii noszą nazwę Nexus. Są one oparte na oryginalnych
wersjach Androida, bez modyfikacji w interfejsie lub systemie operacyjnym.
Odblokowane (lub możliwe do odblokowania) programy rozruchowe i łatwo dostępne
sterowniki sprawiają, że telefony Nexus są bardzo cenione przez hakerów i hobbystów.

Odblokowane urządzenia są zwykle fabrycznie blokowane, ale obejmują firmware


umożliwiający odblokowanie telefonu za pomocą poleceń Fastboota. Dotyczy to także
Nexusa S. W urządzeniu tym (inaczej niż w Nexusie One) program rozruchowy można
ponownie zablokować. Po odblokowaniu Nexusa S można w stosunkowo prosty sposób
zainstalować program do przywracania systemu lub wybrany firmware, posługując się
funkcjami Fastboota.

Telefony Nexus są odblokowane, ponieważ Google udostępnia je jako urządzenia dla


programistów. Programiści potrzebują dostępu do systemu operacyjnego Android na
bardzo niskim poziomie. Kiedy programista rozwija aplikację, potrzebuje popularnego
urządzenia, które może traktować jak telefon wzorcowy z konkretną wersją Androida.
1 38 ROZDZIAŁ 1 1 . Nexus S - odblokowane urządzenie

PODŁĄCZAN I E U RZĄDZEN IA DO KOM PUTERA


Urządzenie Nexus S trzeba podłączyć do komputera w określony sposób, aby móc
korzystać z instrukcji narzędzi ADB i Fastboot. Koniecznie pobierz i zainstaluj
sterowniki przeznaczone dla Nexusa S, podane w wątku http://forum.xda-developers.com/
showthread.php?t=935819.
Po zainstalowaniu niezależnych sterowników należy starannie przetestować połączenie
z narzędziami ADB i Fastboot. W dodatku A znajdziesz instrukcje dotyczące testów
połączenia i instalowania pakietu SDK Androida.

ZASOBY POTRZE B N E W OMAWIAN EJ PROCED U RZE


Pobierz potrzebne pliki do odrębnego katalogu na komputerze (ułatwi to ich późniejszą
instalację). Oto te pliki:
• sterowniki do obsługi połączenia z narzędziami Fastboot i AD B;
• niestandardowy program do przywracania systemu, na przykład ClockworkMod;
• program SuperUser i aplikacja podana w dotyczącym procedury wątku
na forum XDA.

PROCE D U RA
ODB LOKOWYWAN I E U RZĄDZEN IA
Wykonaj opisane poniżej kroki, aby odblokować Nexusa S i przygotować to urządzenie
do instalacji niestandardowego programu do przywracania systemu.
l. Utwórz kopię zapasową całej zawartości urządzenia.
Proces odblokowywania Nexusa powoduje usunięcie wszystkich danych
z urządzenia i karty SD. Podłącz urządzenie do komputera, zamontuj kartę SD
jako pamięć i skopiuj wszystkie dane do komputera. Po zrootowaniu urządzenia
możesz skopiować dane z powrotem na kartę.
2. Przełącz urządzenie w tryb Fastboot. W tym celu:
a. wyłącz urządzenie;
b. włącz je ponownie, przytrzymując przyciski zwiększania głośności i zasilania.
W urządzeniu powinien pojawić się biały ekran Fastboota z jeżdżącymi
na łyżwach androidami.
3. W oknie wiersza poleceń w komputerze uruchom poniższe polecenie,
aby odblokować Nexusa S:
fas tboot oem un l oc k
HAKOWANI E ANDROIDA 1 39

4. Urządzenie wyświetli prośbę o potwierdzenie, że chcesz je odblokować. Pamiętaj,


że odblokowanie nie tylko prowadzi do usunięcia danych, ale też stanowi
naruszenie warunków gwarancji.
5. Wciśnij przycisk zwiększania głośności, a następnie przycisk zasilania, aby się
upewnić, że urządzenie jest odblokowane.

Po wykonaniu tych operacji urządzenie kasuje dane i jeszcze raz się uruchamia.
Po ponownym rozruchu urządzenie jest odblokowane, co pozwala na instalowanie
oprogramowania przy użyciu instrukcji Fastboota.

I NSTALOWAN I E PROG RAM U DO PRZYWRACAN IA SYSTEM U


Następnie należy za pomocą instrukcji Fastboota zainstalować w urządzeniu program
do przywracania systemu ClockworkMod. Pamiętaj, aby pobrać wersję programu
przeznaczoną dla Nexusa S. W odpowiednim wątku na forum XDA znajdziesz
odnośnik do najnowszej wersji tego programu.
l. Uruchom Nexusa S w trybie Fastboot.
2. Po podłączeniu urządzenia do komputera wpisz poniższe polecenie
(należy uruchomić je w katalogu, w którym znajduje się ClockworkMod) :
fas tboot fl ash recovery recovery-cl o c kwork-crespo . img
Uwaga - nazwa pliku obrazu może obejmować numer wersji programu
do przywracania systemu.

Po udanej instalacji możesz ponownie uruchomić urządzenie i wejść w tryb


przywracania systemu. W tym celu w trakcie rozruchu przytrzymaj przyciski
zwiększania głośności i zasilania. Kiedy pojawi się biały ekran programu HBOOT,
wybierz tryb przywracania systemu.

I NSTALOWAN I E APLI KACJ I SUPERUSER


l. Z a pomocą dostępnej w programie ClockworkMod opcji montowania w trybie
pamięci USB (zobacz rozdział 4.) zamontuj kartę SD jako pamięć masową.
2. Skopiuj plik SuperUser.zip do katalogu głównego karty SD.
3. Wybierz opcję Install Zip, przejdź do aplikacji SuperUser i zainstaluj ją w Nexusie S.

Na tym etapie Nexus S jest odblokowany i zrootowany. Jednak z uwagi na zabezpieczenia


systemu plików urządzenie w trakcie rozruchu zastępuje program do przywracania
systemu. Kod odpowiedzialny za rozruch wykrywa, że program do przywracania
systemu został zmodyfikowany, i umieszcza na partycji przywracania systemu
domyślny program tego typu. Aby temu zapobiec, wykonaj następujące kroki:
l. Pobierz eksplorator plików z uprawnieniami administracyjnymi, na przykład
program Root File Explorer, który pozwala zamontować system plików
z uprawnieniami do odczytu i zapisu.
1 40 ROZDZIAŁ 1 1 . Nexus S - odblokowane urządzenie

2. Zamontuj system plików z możliwością zapisu (kliknij szary przycisk Mount r/w
w programie Root File Explorer).
3. Przejdź do katalogu /etc.
4. Zmień nazwę pliku recovery-install.sh na recovery-install.old.
5. Przejdź do sklepu Google Play, pobierz aplikację RomManager i zainstaluj ją.
6. Za pomocą opcji Install Clockwork Recovery ponownie zainstaluj program
do przywracania systemu ClockworkMod.

W tym momencie program ClockworkMod jest zainstalowany na stałe, użytkownik ma


dostęp do konta root i może instalować niestandardowe ROM-y i inne modyfikacje.
MOTOROLA XOOM
- ODB LOKOWANY TA B LET
Z SYSTEMEM HONEYCOM B

W TYM ROZDZIALE:
• Informacje na temat urządzenia Motorola Xoom.
• Rootowanie Motoroli Xoom.

Xoom to odblokowany tablet z systemem operacyjnym Honeycomb (Android 3.0).


Był to jeden z pierwszych tabletów z tą wersją Androida.

Xoom jest uważany za narzędzie dla programistów. Podobnie jak inne urządzenia
z serii Google Experience Device umożliwia łatwe odblokowanie za pomocą instrukcji
Fastboota. Rootowanie i instalowanie niestandardowych ROM-ów jest proste. Jednak
kod źródłowy wersji Honeycomb został udostępniony przez firmę Google stosunkowo
późno, w podobnym czasie, co kod źródłowy wersji Ice Cream Sandwich (Android 4.0).
Wersje Honeycomb i Ice Cream Sandwich wymagają niemal identycznych sterowników,
dlatego większość programistów nie widzi sensu w rozwijaniu niestandardowych
ROM-ów dla starszej wersji systemu operacyjnego. Z tego powodu dla systemu
Honeycomb istnieje mniej niestandardowych ROM-ów niż dla innych wersji
Androida z dostępnym kodem źródłowym.
1 42 ROZDZIAŁ 1 2. Motorola Xoom - odblokowany tablet z systemem Honeycomb

ZASOBY POTRZE B N E W PROCED U RZE


Aby wykonać opisaną dalej procedurę, trzeba spełnić następujące warunki:
• uruchomić urządzenie Xoom w trybie diagnostycznym;
• zainstalować i skonfigurować narzędzie ADB;
• zainstalować w Xoomie zewnętrzną kartę SD;
• pobrać z forum XDA (http://forum.xda­
developers.com/showthread.php?p=171 35571 ) poniższe pliki:
• plik .zip dający dostęp do konta root;
• plik obrazu systemu.

PROCE D U RA
Oto główne kroki rootowania urządzenia Xoom:
l. Umieszczenie na karcie SD pliku .zip dającego dostęp do konta root.
2. Odblokowanie Xooma.
3. Zainstalowanie w Xoomie programu do przywracania systemu.
4. Wykorzystanie programu przywracającego system do uzyskania pełnego dostępu
do konta root.

U M I ESZCZAN I E NA KARCIE SD
PLI KU DAJĄCEGO DOSTĘP DO KONTA ROOT
Pobierz ze strony http://forum.xda-developers.com/showthread.php?p=1 7135571 plik
dający pełny dostęp do konta root. Umieść ten plik na karcie SD. Konieczne może być
zastosowanie adaptera do podłączenia karty SD jako zewnętrznego nośnika pamięci.
Po skopiowaniu pliku xoom-universal-root.zip na kartę SD można umieścić tę kartę
w Xoomie.

ODB LOKOWYWAN I E XOOMA


Jeśli nie zrobiłeś tego wcześniej, musisz odblokować program rozruchowy Xooma.
Jest to proste, jednak w czasie wykonywania tego zadania należy uważnie czytać tekst
na ekranie Xooma. Aby odblokować program rozruchowy urządzenia, wykonaj opisane
dalej operacje.
Odblokowanie urzqdzenia prowadzi do wykasowania całej jego zawartości
(w tym danych z karty SD). Z uwagi na projekt pamięci wewnętrznej i sposób
odblokowywania następuje przywrócenie Xooma do stanu fabrycznego. Jest to
zwiqzane z utratq wszystkich danych.
HAKOWANI E ANDROIDA 1 43

l . Podłącz Xooma do komputera za pomocą kabla USB. Sprawdź, czy Xoom działa
w trybie diagnostycznym.
2. Otwórz okno wiersza poleceń na komputerze i wprowadź poniższą instrukcję,
aby uruchomić Xooma w trybie Fastboot:
adb reboot bootl oader
Jeśli ten krok się nie powiedzie, upewnij się, że narzędzie ADB jest prawidłowo
skonfigurowane (zobacz dodatek A).
Xooma możesz uruchomić w trybie Fastboot także przez wyłączenie urządzenia
oraz późniejsze przytrzymanie w czasie rozruchu przycisków zasilania i zwiększania
głośności do czasu pojawienia się potrzebnego trybu.

W trybie Fastboot Xoom przyjmuje wszystkie polecenia Fastboota potrzebne do


zainstalowania niestandardowego programu do przywracania systemu. Wspomniany
tryb pozwala też rozwiązać problemy po łagodnym uszkodzeniu urządzenia. Jeśli
możesz uruchomić urządzenie w trybie Fastboot, zwykle możesz też zainstalować
działający ROM lub program do przywracania systemu i zlikwidować w ten sposób
łagodne uszkodzenie lub kłopoty z pętlą rozruchu. Urządzenie Xoom jest stosunkowo
odporne na uszkodzenia.

Po uruchomieniu Xooma w trybie Fastboot możesz odblokować program rozruchowy.


W tym celu wykonaj następujące operacje:
l . W oknie wiersza poleceń wpisz poniższą instrukcję:
fas tboot oem un l oc k
2. Uważnie przeczytaj tekst z okna Xooma. Znajduje się tam ostrzeżenie, ż e naruszasz
warunki gwarancji i że możesz utracić wszystkie dane. Zwróć baczną uwagę na
procedurę potwierdzenia odblokowania. Za pomocą przycisków zmiany głośności
można potwierdzić odblokowanie lub anulować procedurę.

Po odblokowaniu Xoom ponownie się uruchomi i będzie działał w standardowy


sposób. Na tym etapie w urządzeniu nie wprowadzono żadnych zmian oprócz
odblokowania programu rozruchowego.

I NSTALOWAN I E PROGRAM U DO PRZYWRACAN IA SYSTEMU


Następny krok polega n a zainstalowaniu niestandardowej wersji programu
do przywracania systemu ClockworkMod. W wersji tej uwzględniono nietypowe
wykorzystanie pamięci wewnętrznej jako karty SD w Xoomie. Należy pobrać plik
o nazwie solarnz-<numer_wersji>. img.
W trybie Fastboot nie można instalować plików .zip - można to zrobić tylko
z plikami obrazu. Pliki .zip sq obsługiwane przez aplikację ClockworkMod i inne
niestandardowe programy do przywracania systemu.
l. Ponownie uruchom Xooma w trybie Fastboot (zastosuj instrukcję adb rebaat
baatl aader).
1 44 ROZDZIAŁ 1 2. Motorola Xoom - odblokowany tablet z systemem Honeycomb

2. Wpisz poniższe polecenie:


fas tboot fl ash recovery sol arnz-###### . ## # . i mg
Ważne jest, aby wprowadzona nazwa pliku była dokładnie taka sama jak
pobranego obrazu. Niezwykle istotnejest też użycie słowa recovery w instrukcji
fl ash Fastboota. Gwarantuje to, że program zostanie zainstalowany
na odpowiedniej partycji.
Xoom poinformuje o instalacji pliku, a następnie o zakończeniu tego zadania. Na tym
etapie program ClockworkMod jest zainstalowany. Można uruchomić program w trybie
przywracania systemu i zainstalować modyfikacje, na przykład niestandardowe jądra,
kompozycje, animacje startowe lub kompletne niestandardowe ROM-y.
Nie uruchamiaj ponownie Xooma do momentu zainstalowania programu dajqcego
pełny dostęp do konta root. W przeciwnym razie będziesz musiał ponownie umieścić
plik programu ClockworkMod na partycji przywracania systemu. Jeśli tego nie
zrobisz, w momencie rozruchu plik /system/recovery-from-boot.p odtworzy na
partycji przywracania systemu domyślny program do przywracania systemu.

I NSTALOWAN I E PROG RAM U


DAJĄCEGO PEŁNY DOSTĘP DO KONTA ROOT
Aby uzyskać pełny dostęp do konta root w systemie plików, należy zainstalować
pobrany wcześniej pakiet. Obejmuje on pliki zrootowanego systemu plików oraz
pliki binarne dające dostęp do uprawnień i plików systemowych.

Ten etap trzeba wykonać w odpowiednim czasie. Jeśli nie zdążysz tego zrobić, będziesz
musiał ponownie zainstalować program ClockworkMod. Mechanizm do przywracania
systemu ma wbudowaną funkcję automatycznego odzyskiwania. Dlatego należy
zastosować instrukcję Fastboota do ponownego uruchomienia Xooma. Po pojawieniu
się logo Motoroli trzeba wcisnąć przycisk zmniejszania głośności, a następnie przycisk
zwiększania głośności, aby system uruchomił nowy program do przywracania systemu.

Wykonaj poniższe kroki, aby zainstalować plik dający pełny dostęp do konta root.
l. Jeśli jeszcze tego nie zrobiłeś, umieść plik .zip dający pełny dostęp do konta root
w katalogu głównym na karcie SD (poza jakimkolwiek konkretnym katalogiem)
i włóż kartę do Xooma.
Xoom powinien wyświetlić komunikat o powodzeniu instalacji programu
ClockworkMod.
2. Wprowadź w oknie wiersza poleceń poniższą instrukcję, aby ponownie
uruchomić Xooma:
adb reboot
3. Po pojawieniu się logo Motoroli policz do trzech, a następnie wciśnij przycisk
zmniejszania głośności. Na ekranie powinien pojawić się napis Android Recovery.
HAKOWANI E ANDROIDA 1 45

4. Wciśnij przycisk zwiększania głośności, aby uruchomić nowo zainstalowany


program ClockworkMod.
Jeśli nie zdqżysz uruchomić programu do przywracania systemu, konieczne
może być ponowne zainstalowanie aplikacji ClockworkMod na partycji
przywracania systemu, ponieważ plik /system/recovery-from-boot.p odtwarza
domyślny program do przywracania systemu.
5. Za pomocą przycisków zmiany głośności wybierz opcję Install Zip from sdcard
i wciśnij przycisk zasilania.
6. Wybierz opcję Choose Zip.
7. Za pomocą przycisków zmiany głośności przejdź do pliku .zip dającego pełny
dostęp do konta root (wcześniej zapisałeś go na karcie SD) . Wybierz ten plik
przy użyciu przycisku zasilania.
8. Potwierdź instalację.
Po zakończeniu instalacji wróć do głównego menu programu ClockworkMod
i ponownie uruchom Xooma.

Teraz Xoom jest odblokowany i zrootowany. Za pomocą przycisku zwiększania


głośności lub instrukcji adb reboot recovery możesz ponownie uruchomić program
do przywracania systemu oraz zainstalować dowolne ROM-y i modyfikacje. Na forum
XDA poświęconym Xoomowi znajdziesz najnowsze i najciekawsze ROM-y, jądra
i poprawki przygotowane przez pracowitych programistów.

Korzystanie z programu ClockworkMod opisano w rozdziale 4.


1 46 ROZDZIAŁ 1 2. Motorola Xoom - odblokowany tablet z systemem Honeycomb
NOOK COlOR
- ROOTOWANIE ZA POMOCĄ
ROZRUCHOWEJ KARTY SD

W TYM ROZDZIALE:
• Informacje o urządzeniu Nook Color.
• Rootowanie urządzenia N ook Color.

Urządzenie Nook Color, wprowadzone na rynek przez firmę Barnes and Noble, było
pomyślane jako oparty na Androidzie czytnik e-booków. Jednak w rękach hakerów
Androida Nook Color szybko stał się jednym z tabletów o najlepszym stosunku jakości
do ceny. Po zrootowaniu i zainstalowaniu niestandardowego ROM-u Nooka można
przekształcić w przydatny i w pełni funkcjonalny tablet Androida.

Z uwagi na sposób rozruchu urządzenia (nie obsługuje ono protokołu Fastboot)


rootowanie i romowanie urządzenia Nook Color przebiega nieco inaczej niż innych
tabletów z Androidem. Należy zastosować rozruchową kartę SD z plikiem obrazu.
Karta SD w urządzeniu Nook Color jest traktowana priorytetowo względem
wbudowanego mechanizmu rozruchu, dlatego ładowane są pliki z tej karty. Pozwala
to na wykonywanie ciekawych operacji, takich jak zapisanie niestandardowego
programu do przywracania systemu w pamięci EMMC i zrootowanie urządzenia.

Opisaną tu technikę można też zastosować do niemarkowych tabletów z Androidem


i sprzętu mniej renomowanych producentów (urządzenia te zwykle nie mają licencji
Google'a i nie współdziałają ze sklepem Google Play). Szczegóły procedury się
zmieniają, jednak główne operacje pozostają takie same. Koniecznie zapoznaj się
z instrukcjami dla danego urządzenia przed rozpoczęciem tej lub innej procedury
rootowania.
1 48 ROZDZIAŁ 1 3 . Nook Colar - rootowanie za pomocą rozruchowej karty S D

ZASOBY POTRZE B N E W OMAWIAN EJ PROCED U RZE


Do wykonania opisanej tu procedury niezbędne są następujące zasoby:
• zarejestrowany Nook Color w wersji 1 . 1 ;
• karta SD, której zawartość można całkowicie wykasować;
• specjalna nagrywarka do zapisywania na kartach SD (większość wbudowanych
narzędzi tego typu nie zadziała - kup nagrywarkę podłączaną przez port USB);
• konto Gmail powiązane z YouTube'em;
• plik obrazu Auto-Nooter ze strony http://forum.xda-developers.com/
showthread.php?t=942424;
• nagrywarka obrazów Win32Disklmage ze strony https://launchpad. net/
win32-image-writer/+download.a
Auto-Nooter to wygodny program opracowany przez programistów z witryny
nookDevs.com. Auto-Nooter wykonuje większość skomplikowanych operacji w trakcie
rozruchu Nooka Color. Po rozruchu urządzenia za pomocą karty SD z programem
Auto-Nooter kartę można ponownie sformatować i usunąć (lub wykorzystać jako
dodatkową pamięć).

PROCE D U RA
Oto główne kroki procedury:
l. Za pomocą komputera zapisz niestandardowy rozruchowy obraz na karcie SD.
2. Uruchom Nooka Color za pomocą karty SD.
3. Poczekaj na zakończenie procedury automatycznego rozruchu.
Ta procedura jest przeznaczona dla Nooka Color w wersji 1 . 1 . Jeśli korzystasz
z innej wersji, zapoznaj się z różnicami na forum XDA. Różnice te dotyczq
przede wszystkim potrzebnych plików. Kroki procedury sq takie same.

TWORZEN I E ROZRUCHOWEJ KARTY SD


Warto pamiętać, ż e procedurę t ę można wykorzystać także w innych wersjach
Nooka Color oraz w niemarkowych tabletach z Androidem i urządzeniach mniej
renomowanych producentów.
l. Uruchom pobraną nagrywarkę Win32Disklmage.
2. Kliknij przycisk katalogów, aby przejść do pliku obrazu programu Auto-Nooter.
3. Dwukrotnie kliknij plik obrazu.
4. Kliknij listę rozwijaną z literami napędów. Wybierz literę odpowiadającą karcie SD.
Literę napędu karty SD można sprawdzić w Eksploratorze Windows.
HAKOWANI E ANDROIDA 1 49

Koniecznie wybierz odpowiedniq literę napędu. Nie chcesz przecież zastqpić


zawartości partycji z danymi lub innego zewnętrznego nośnika pamięci.
Opisywana procedura powoduje nieodwracalne usunięcie całej zawartości
wybranego napędu.
5. Kliknij przycisk Write i poczekaj na zapisanie obrazu na karcie SD.
6. Po zakończeniu zapisu sprawdź zawartość karty SD za pomocą Eksploratora
Windows. Powinieneś zobaczyć następujące elementy:
MLO
u-boot . bi n
u lmage
uRamdi s k

ROZRUCH U RZĄDZEN IA Z KARTY SD


Opisane t u kroki pozwalają uruchomić urządzenie Nook Color z a pomocą Auto-Nootera
oraz zakończyć proces rootowania i rozruchu.
l. Wyłącz urządzenie Nook Color.
2. Umieść w urządzeniu kartę SD z zapisanym wcześniej Auto-Nooterem.
3. Połącz Nooka Color z komputerem za pomocą kabla USB. Spowoduje to włączenie
urządzenia i rozruch z karty SD.
W trakcie rozruchu z wykorzystaniem Auto-Nootera ekran jest wyłqczony.
Zachowaj cierpliwość. Jeśli korzystasz z kabla dołqczonego do Nooka Color,
dioda LED będzie migotać, jednak nie ma to znaczenia dla procedury.
4. Komputer poinformuje o podłączeniu nowego urządzenia. Anuluj żądania
sterowników wyświetlane przez komputer.

Po zakończeniu procedury zobaczysz nową animację w trakcie rozruchu. Wyjmij kartę


SD z urządzenia, aby zapobiec ponownemu rozruchowi z tej karty.

ZWI Ę KSZAN I E PRZYDATNOŚCI U RZĄDZEN IA


Wszystkie trudne zadania są już zakończone - Nook Color jest zrootowany.
Jednak aby zwiększyć jego przydatność, należy wykonać następujące operacje:
• zintegrować urządzenie z kontem Google, aby uzyskać dostęp do sklepu Google Play;
• włączyć klawisze ekranowe, aby uzyskać dostęp do przycisków Back, Home, Menu
i Search Androida.

W procesie konfigurowania i włączania integracji z kontem Google należy wykorzystać


ciekawą lukę. Jest ona związana z integracją między serwisami YouTube i Google.
l. W trakcie rozruchu dotknij ikony Androida.
2. Wybierz przycisk Skip Sign in.
3. Włącz opcję usług opartych na lokalizacji.
1 50 ROZDZIAŁ 1 3 . Nook Colar - rootowanie za pomocą rozruchowej karty S D

4 . Podłącz urządzenie d o bezpiecznego połączenia Wi-Fi.


5. Uruchom aplikację YouTube za pomocą przycisku menu Extras.
6. Wybierz przycisk Menu widoczny po prawej stronie strzałki w górę.
7. Wybierz My Channel i zaloguj się na konto Google.
8. Zamknij aplikację YouTube i uruchom program Gmail
(też za pomocą menu Extras).
9. Zsynchronizuj konto Gmail i zamknij program. Zachowaj cierpliwość
- synchronizacja może potrwać kilka minut.
10. Przejdź do sklepu Google Play i zaakceptuj warunki korzystania z usługi.
1 1. Pobierz aplikację, aby się upewnić, że wszystko działa poprawnie.

Jeśli pobieranie zostaje wstrzymane bez zainstalowania aplikacji, ponownie uruchom


Nooka i spróbuj jeszcze raz pobrać program.

Trzeba też ustawić klawisze ekranowe, aby uzyskać dostęp do znanych z Androida
przycisków Home, Back, Menu i Search.

Uzyskanie pożądanego efektu wymaga ustawienia programu Softkeys jako domyślnego


launchera (dzięki temu program ten będzie uruchamiany automatycznie). Wybierz
aplikację Softkeys z siatki aplikacji i zaznacz pole wyboru, które powoduje zapamiętanie
akcji powiązanych z klawiszami ekranowymi jako domyślnych. Następnie ustaw klawisz
ekranowy Home tak, aby uruchamiał podstawowy launcher. W tym celu wciśnij przycisk
Menu i wybierz launcher.
KONFIGUROWANIE PAKIETU SDK
ANDROIDA I NARZĘDZIA AD B

W TYM DODATKU:
• Instalowanie pakietu JDK.
• Instalowanie pakietu SDK Androida.
• Instalowanie narzędzi dla platformy.
• Konfigurowanie zmiennych środowiskowych w komputerach z systemem
Windows.

Ten dodatek pomoże Ci w skonfigurowaniu narzędzi dla programistów Androida,


przydatnych w trakcie rootowania i hakowania telefonów.

I N STALOWAN I E PAKI ETU J D K


Pierwszy krok na drodze do uzyskania dostępu do narzędzia dla programistów
Androida to pobranie pakietu JDK (ang. Java Development Kit). Choć narzędzia z tego
pakietu nie będą potrzebne, trzeba zainstalować JDK, aby móc zainstalować pakiet SDK
dla Androida.
l. Otwórz w przeglądarce stronę www. oracle.com/technetwork/java/javase/downloads
(zobacz rysunek A. l). Z pakietem SDK dla Androida współdziała każda nowa
wersja pakietu JDK.
152 DODATEK A Konfigurowanie pakietu SDK Androida i narzędzia ADB

Rysunek A.1. Pobieranie pakietu JDK

2. Kliknij przycisk nad napisem Java Platform (JDK).


3. Zaakceptuj warunki licencji, a następnie wybierz program instalacyjny dostosowany
do używanego komputera. Dla większości użytkowników systemu Windows jest to
program instalacyjny Windows x86. Jeśli korzystasz z 64-bitowej wersji systemu,
wybierz odnośnik z członem x64.
4. Pobierz program instalacyjny. Zapisz go w łatwym do znalezienia miejscu
na komputerze.
5. Uruchom program instalacyjny.
6. W kreatorze instalacji pakietu JDK akceptuj domyślne ustawienia.

INSTALOWANIE PAKIETU SDK ANDROIDA


Teraz możesz pobrać i uruchomić program instalacyjny pakietu SDK Androida.
1. Otwórz w przeglądarce stronę http://developer.android.com/sdk/.
2. Pobierz pakiet dostosowany do używanego systemu operacyjnego (użytkownicy
systemu Windows powinni pobrać plik wykonywalny z programem instalacyjnym).
3. Uruchom pobrany plik.
HAKOWANIE ANDROIDA 153

4. Przeprowadź instalację.
Zapisz katalog, w którym zainstalowałeś pakiet SDK Androida. Możesz zmienić
domyślną ścieżkę, ale lepiej jest zachować jej pierwotną postać. W systemach
64-bitowych domyślna ścieżka wygląda zwykle tak: C:\Program Files (x86)\
android\android-sdk-windows\. W systemach 32-bitowych jedyną różnicą jest
brak członu (x86) w ścieżce.
Po zakończeniu pracy przez kreator domyślnie uruchamiany jest menedżer pakietu
SDK. Za pomocą tego menedżera można pobrać potrzebne narzędzia platformy
(między innymi ADB). Menedżer SDK można też uruchomić z poziomu systemu
operacyjnego, co pokazano na rysunku A.2.

Rysunek A.2. Ręczne uruchamianie menedżera SDK w systemie Windows

INSTALOWANIE NARZĘDZI PLATFORMY


Menedżer SDK po uruchomieniu pobiera z Google’a informacje o dostępnych
pakietach. Następnie wyświetla listę dostępnych pakietów, a użytkownik może wybrać,
które z nich chce zainstalować.
1. Zaznacz pole wyboru obok opcji Android SDK Platform-Tools i Google USB Driver
w lewej kolumnie.
2. Opcjonalnie możesz odrzucić instalację pozostałych pakietów, usuwając
zaznaczenie widocznych obok nich pól wyboru. Skróci to czas pobierania.
154 DODATEK A Konfigurowanie pakietu SDK Androida i narzędzia ADB

3. Kliknij przycisk Install… w dolnej części menedżera SDK.


Menedżer pobierze i zainstaluje wybrane komponenty pakietu SDK.
Po zakończeniu tego zadania można zamknąć menedżer SDK.
Na tym etapie narzędzia platformy SDK (ADB, DDMS itd.) powinny być zainstalowane
w komputerze. Aby się o tym przekonać, wykonaj następujące operacje:
1. Otwórz okno wiersza poleceń. W systemie Windows wybierz kombinację klawiszy
Windows+R. Pojawi się okno Uruchom. Wpisz w nim instrukcję cmd i wciśnij
klawisz Enter.
2. W oknie wiersza poleceń powinieneś zobaczyć ścieżkę C:\Users\<nazwa_użytkownika>
i migający kursor. Kursor określa miejsce wprowadzania tekstu, a ścieżka wyznacza
katalog, który pełni funkcję kontekstu dla wykonywanych instrukcji. Oznacza to,
że polecenia wpisywane w wierszu poleceń system próbuje uruchomić w katalogu
C:\Users\<nazwa_użytkownika> i wpływają one właśnie na ten katalog.
3. Przejdź do okna wiersza poleceń, wpisz instrukcję cd \ i wciśnij klawisz Enter.
Nazwa DOS-owego polecenia cd pochodzi od angielskiego „change directory”,
czyli „zmień katalog”. Lewy ukośnik oznacza katalog główny dysku. Instrukcja
cd \ powoduje więc zmianę katalogu na katalog główny (folder najwyższego
poziomu) dysku. Przez podanie pełnej ścieżki do katalogu można z każdego
folderu uzyskać dostęp do dowolnego miejsca. Ważne jest, aby dobrze nauczyć
się poruszania po katalogach za pomocą wiersza poleceń, ponieważ w taki sam
sposób odbywa się to w systemie operacyjnym Android. Używane do tego
instrukcje będą Ci często potrzebne.
4. Wprowadź instrukcję cd "\Program Files (x86)\Android\android-sdk-windows\"
i wciśnij klawisz Enter.
W instrukcji wykorzystano ścieżkę zapisaną w trakcie instalowania pakietu SDK.
Pamiętaj o cudzysłowach. Jeśli w jednym z fragmentów instrukcji występuje odstęp,
fragment ten trzeba umieścić w cudzysłowach. W 32-bitowych systemach
operacyjnych w ścieżce nie występuje człon (x86).
5. Po ustawieniu kontekstu na katalog android-sdk-windows można sprawdzić, czy
znajdują się w nim pliki i katalogi narzędzi dla programistów. Wpisz instrukcję dir
i wciśnij klawisz Enter. Na liście katalogów i plików powinien znajdować się folder
platform-tools. To właśnie w nim znajduje się program ADB.exe.
Polecenie dir powoduje wyświetlenie w wierszu poleceń systemu Windows
listy plików i katalogów z bieżącego kontekstu (folderu). W wierszu poleceń
w Androidzie (i w Linuksie) odpowiednikiem tego polecenia jest instrukcja ls.
6. Wpisz polecenie cd platform-tools i wciśnij klawisz Enter, aby zmienić kontekst
na katalog platform-tools.
7. Wprowadź instrukcję adb i wciśnij klawisz Enter. Powinieneś zobaczyć ekran
pomocy dotyczący polecenia ADB (zobacz rysunek A.3).
HAKOWANIE ANDROIDA 155

Rysunek A.3. Ekran pomocy dotyczący instrukcji ADB, widoczny po uruchomieniu tej instrukcji bez opcji
lub parametrów

KONFIGUROWANIE ZMIENNYCH ŚRODOWISKOWYCH


SYSTEMU WINDOWS
Po ustaleniu, że narzędzie ADB jest zainstalowane, trzeba dodać odpowiedni wpis
do zmiennej środowiskowej PATH w systemie. Pozwala to wywoływać instrukcję ADB
niezależnie od tego, który katalog w danym momencie jest kontekstem w wierszu
poleceń. Wygodna może być na przykład możliwość wywołania tej instrukcji z katalogu,
do którego pobrano niestandardowy moduł obsługi protokołu TCP/IP dla urządzenia
z Androidem:
adb push tcpip.ko \system\etc

Jeśli zmienna PATH nie jest odpowiednio skonfigurowana, przed wywołaniem


instrukcji ADB zawsze trzeba przejść do katalogu c:\Program Files (x86)\Android\
android-sdk-windows\platform-tools\.
Aby umożliwić wywoływanie instrukcji ADB z dowolnego miejsca
(w systemach Windows Vista i Windows 7), wykonaj następujące operacje:
1. Kliknij przycisk Windows Start.
2. Kliknij prawym przyciskiem myszy opcję Komputer i wybierz opcję Właściwości.
156 DODATEK A Konfigurowanie pakietu SDK Androida i narzędzia ADB

3. Kliknij widoczną w lewej kolumnie opcję Zaawansowane ustawienia systemu,


aby otworzyć okno Właściwości systemu.
4. Kliknij przycisk Zmienne środowiskowe.
5. Przewiń zawartość pola Zmienne systemowe w dół, do miejsca, w którym znajduje
się wpis PATH.
6. Kliknij dwukrotnie wpis PATH, aby otworzyć okno Edytowanie zmiennej systemowej.
7. Kliknij pole Wartość zmiennej i umieść kursor na końcu tekstu.
8. Wpisz średnik (;).
9. Wpisz pełną ścieżkę do katalogu z narzędziem ADB — C:\Program Files (x86)\
Android\android-sdk-windows\platform-tools.
10. Kliknij przycisk OK, aby zamknąć wszystkie okna dialogowe. Następnie zamknij
okno Właściwości systemu.
Teraz możliwe powinno być uruchamianie instrukcji ADB z wiersza poleceń
niezależnie od kontekstu. Jest to bardzo wygodne przy przenoszeniu plików
z exploitami z katalogu, w którym zostały zapisane lub wypakowane.
SKOROWIDZ

7-Zip, 91 modyfikowanie kompozycji, 88


nazwy kodowe wersji, 31
A niestandardowy program rozruchowy, 24
opcja bezpieczeństwa, 25
ADB, 44, 48, 50 opróżnienie pamięci podręcznej, 76
adb devices, 49 pakiet JDK, 151
adb kill-server, 50 pakiet SDK, 90, 152
adb pull, 52 planowe starzenie się oprogramowania, 23
adb push, 51 ponowne uruchamianie urządzenia, 75
adb reboot, 53 proces rozruchu urządzenia, 25
adb shell, 56 program do przywracania systemu, 26
adb start-server, 50 program rozruchowy, 23
Adfree Android, 103 przetaktowanie, 32
ADW, 88 przywracanie ustawień fabrycznych, 76
Amend2Edify, 91 rootowanie urządzeń, 29
Amon Ra, 27 rozruch, 23, 25
Android, 21 system plików, 56
aktualizowanie urządzenia, 75 tryb przywracania systemu, 73
APK, 89 tworzenie kopii zapasowej danych, 78
bloatware, 42 tworzenie przenośnego hotspotu, 32
Donut, 31 Voodoo, 101
drzewo systemu plików, 58 Voodoo Color, 102
Éclair, 31 Voodoo Lagfix, 102
Froyo, 31 Voodoo Sound, 102
Gingerbread, 31 Android Debug Bridge, Patrz ADB
Honeycomb, 31 Android Open Kang, 100
Ice Cream Sandwich, 31 APK, 89
kategorie użytkowników, 61 APKManager, 89
koszty realizowania gwarancji, 23 aplikacja natywna, 69
modyfikacje jądra, 101 ASH, 37
158 Skorowidz

B D
BFS, 102 dd, 64
bloatware, 42 Droid Charge, 133
bootloader, 53 modyfikowanie ROM-u, 133
bricking, Patrz zamiana w cegłę narzędzie ODIN, 134
BusyBox, 44, 64 pakiet ODIN, 133
dd, 64 rozwiązywanie problemów, 136
echo, 65
md5sum, 65 E
echo, 65
C Eclipse, 90
cat, 64 exploity, 37
cd, 58 aplikacja natywna, 69
cd platform-tools, 154 ASH, 37
CFS, 102 psneuter, 37
Chainfire 3D, 104 tworzenie skryptu, 68
chmod, 62 wykonywanie skryptu, 69
opcje, 62 zalety stosowania, 38
ClockworkMod, 27, 74
advanced, 81 F
Advanced Restore, 80 fabryczne narzędzia diagnostyczne, 36
aktualizowanie urządzenia, 75 Fastboot, 38, 54
apply, 77 flash, 55
apply update from sdcard, 75 wady, 38
Backup, 78 zalety, 38
backup and restore, 78 flash, 54, 55
choose zip from sdcard, 78
Fix Permissions, 82
install zip from sdcard, 77
H
instalowanie pliku .ZIP, 77 hakowanie, 44
mounts and storage, 80 ADB, 44, 48
opróżnienie pamięci podręcznej, 76 BusyBox, 44, 64
Partition SD Card, 82 narzędzia, 44, 70
ponowne uruchamianie urządzenia, 75 narzędzia fabryczne, 71
przywracanie ustawień fabrycznych, 76 odpowiedzialność, 24
Reboot Recovery, 81 plik obrazu, 72
reboot system now, 75 środki ostrożności, 83
Report Error, 82 tryb diagnostyczny, 46
Restore, 80 HTC EVO 3D, 109
toggle script asserts, 78 dostęp do konta root, 110
toggle signature verification, 78 Revolutionary, 111
SuperUser, 115
Wipe Battery Stats, 82
TWRP, 114
wipe cache partition, 76
HTC ThunderBolt, 125
Wipe Dalvik Cache, 82
aktualizowanie firmware'u, 132
wipe data/factory reset, 76
dostęp do konta root, 128
cp, 59
metody rootowania, 126
CyanogenMod, 90, 100
rootowanie, 40
HAKOWANIE ANDROIDA 159

J N
Java Development Kit, Patrz JDK narzędzia fabryczne, 71
JDK, 151 NVFlash, 71
RSD Lite, 71
K Nexus One, 117
dostęp do konta root, 121
kategorie technik rootowania, 35 Fastboot, 119
konto root, 103 przenoszenie partycji rozruchowej, 120
Adfree Android, 103 rootowanie, 40
Chainfire 3D, 104 techniki rootowania, 118
SetCPU, 103 Nexus S, 137
Titanium Backup, 104 ClockworkMod, 139
kreator plików update.zip, 91 odblokowywanie, 138
SuperUser, 139
L niestandardowy program rozruchowy, 24
launcher, 88 Nook Color, 147
rootowanie, 147
ADW, 88
Linuks, 22 zwiększanie przydatności urządzenia, 149
BusyBox, 44 NVFlash, 71
ls, 57
dane wyjściowe instrukcji, 61 O
ls–l, 61 ODIN, 133, 134
open source, 22
M overclocking, Patrz przetaktowanie
md5sum, 65
modyfikacje jądra, 101 P
BFS, 102 Paint.NET, 91
Voodoo, 101 pakiet JDK, 151
modyfikowanie kompozycji Androida, 88 pakiet ODIN, 133
7-Zip, 91 pakiet SDK, 90, 152
Amend2Edify, 91 plik obrazu, 72
APKManager, 89 procedura tworzenia plików kompozycji, 92
CyanogenMod, 90 program do przywracania systemu, 26
Eclipse, 90 Amon Ra, 27
edycja plików graficznych, 94 ClockworkMod, 27
instalowanie kompozycji w urządzeniu, 95 program rozruchowy, 23
kreator plików update.zip, 91 konieczność zabezpieczenia umów z
launcher, 88 operatorami, 23
Paint.NET, 91 koszty realizowania gwarancji, 23
pakiet SDK, 90 opcja bezpieczeństwa, 25
procedura tworzenia plików kompozycji, 92 planowe starzenie się oprogramowania, 23
Motorola Xoom, 141 przetaktowanie, 32, 33
ClockworkMod, 143 psneuter, 37, 39
dostęp do konta root, 142, 144 fragment kodu, 69
odblokowywanie, 142
rootowanie, 142
mv, 59
160 Skorowidz

R przekierowanie, 63
przenoszenie plików, 59
recovery, 54 sprawdzanie uprawnień dostępu, 61
Revolutionary, 111 usuwanie plików, 59
rm, 59 wyświetlanie zawartości katalogu, 57
ROM, 100 zarządzanie plikami, 58
Android Open Kang, 100 złączanie, 64
CyanogenMod, 100 zmiana uprawnień dostępu, 62
VillainROM, 101
RomManager, 74
root, 29
T
rootowanie urządzeń, 15, 29 Titanium Backup, 104
exploity, 37 tryb diagnostyczny, 46
fabryczne narzędzia diagnostyczne, 36 tryb przywracania systemu, 73
Fastboot, 38 ClockworkMod, 74
HTC Thunderbolt, 40 tworzenie kopii zapasowej danych, 33
kategorie technik, 35 tworzenie przenośnego hotspotu, 32
kopiowanie plików, 51 tworzenie skryptu, 68
korzyści, 30 TWRP, 114
narzędzia, 43
plik obrazu, 72 U
przetaktowanie, 32
unRevoked, 39
rozruch z karty SD, 34
techniki skryptowe, 39
Nexus One, 40 V
tworzenie kopii zapasowej danych, 33 VillainROM, 101
tworzenie przenośnego hotspotu, 32 Voodoo, 101
unRevoked, 39 Voodoo Color, 102
rozruch urządzeń z Androidem, 23, 25 Voodoo Lagfix, 102
rozruch z karty SD, 34 Voodoo Sound, 102
RSD Lite, 71
W
S
witryna XDA, 13
SDK, 90, 152 wykonywanie skryptu, 69
SetCPU, 103
skrypt, 68
APKManager, 89
X
tworzenie, 68 XDA, 13
uruchamianie, 70
wykonywanie, 69 Z
Software Development Kit, Patrz SDK
SuperUser, 115 zamiana w cegłę, 15
system plików Androida, 56
drzewo systemu, 58
kopiowanie plików, 59
otwarcie powłoki ADB, 57
poruszanie się między folderami, 58
potokowe wykonywanie instrukcji, 63
NOTATKI

You might also like