Hakowanie Androida. Kompletny przewodnik XDA Developers po rootowaniu, ROM-ach i kompozycjach 9788324656837

Sprawdź, co potrafi Twój telefon! System operacyjny Android ma rzeszę fanów. Zdobył ich dzięki swym niezwykłym możliwośc

1,035 132 4MB

Polish Pages [162] Year 2012

Report DMCA / Copyright

DOWNLOAD FILE

Polecaj historie

Hakowanie Androida. Kompletny przewodnik XDA Developers po rootowaniu, ROM-ach i kompozycjach
 9788324656837

  • Commentary
  • PDF przerobiony na bitmapę, a później przerobiony na wektory, by pozbyć się znaku wodnego.
Citation preview

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 & Sons Limited.

with Helion S.A. and is not the responsibility ofJohn Wiley

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 any product or vendor mentioned in the book.

& Sons, Ltd. is not associated with

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: [email protected] 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!



Oceń książkę

»

Nasza społeczność

,

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

............................................................................................................

Jak urządzenia z Androidem rozpoczynają pracę? Rozruch

......................................................

........................................................................................................................

Niestandardowy program rozruchowy Jak przebiega rozruch?

...................................................................

...............................................................................................

Niestandardowy program do przywracania systemu - święty Graal

.......................

21 22 23 24 25 26

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

Po co rootować urządzenie?

............................................................................................

Zwiększanie czasu życia urządzenia Naprawianie usterek fabrycznych Zwiększanie możliwości

.........................................................................

............................................................................

............................................................................................

Dostosowywanie urządzenia do potrzeb Tworzenie kopii zapasowej danych Dane kontaktowe

.................................................................

................................................................................

........................................................................................................

Aplikacje i ich dane Dane na karcie SD

....................................................................................................

......................................................................................................

30 30 31 32 33 33 34 34 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 Kable USB

...................................................................................................

..........................................................................................................................

44 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

.........................................................................................

Zasoby potrzebne w tej procedurze Procedura

..............................................................................

.........................................................................................................................

Zapisywanie plików w urządzeniu

.........................................................................

Tymczasowy dostęp do konta root Sprawdzanie sygnatury MD5 pliku

........................................................................

........................................................................

Zapisywanie tymczasowego programu rozruchowego Instalowanie starszej wersji firmware'u

.......................................

.................................................................

Tymczasowy dostęp do konta root w celu odblokowania pamięci MMC Zastępowanie programu rozruchowego Aktualizowanie firmware'u

........

................................................................

.....................................................................................

1 26 1 26 1 27 1 27 1 28 1 28 1 29 1 29 130 131 132

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

Zasoby potrzebne w omawianej procedurze Procedura

...............................................................

.........................................................................................................................

Podłączanie ODIN-a do urządzenia Przenoszenie plików

......................................................................

.................................................................................................

Rozwiązywanie problemów

...........................................................................................

134 1 34 134 135 136

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

Podłączanie urządzenia do komputera

........................................................................

Zasoby potrzebne w omawianej procedurze Procedura

...............................................................

.........................................................................................................................

Odblokowywanie urządzenia

..................................................................................

Instalowanie programu do przywracania systemu Instalowanie aplikacji SuperUser

..............................................

...........................................................................

138 138 138 138 139 139

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

Zasoby potrzebne w procedurze Procedura

...................................................................................

.........................................................................................................................

Umieszczanie na karcie SD pliku dającego dostęp do konta root Odblokowywanie Xooma

.....................

........................................................................................

Instalowanie programu do przywracania systemu

..............................................

Instalowanie programu dającego pełny dostęp do konta root

...........................

142 1 42 142 142 143 144

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

Zasoby potrzebne w omawianej procedurze Procedura

...............................................................

.........................................................................................................................

Tworzenie rozruchowej karty SD Rozruch urządzenia z karty SD

...........................................................................

...............................................................................

Zwiększanie przydatności urządzenia

...................................................................

148 148 148 149 149

8 Spis treści Dodatek A Konfigurowanie pakietu SDK Androida i narzędzia ADB

Instalowanie pakietu JDK

..............................................................................................

Instalowanie pakietu SDK Androida Instalowanie narzędzi platformy

...........................................................................

..................................................................................

Konfigurowanie zmiennych środowiskowych systemu Windows Skorowidz

..................

..........................

..................................................................................................................

151

151 1 52 1 53 155 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).

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. Will Verduzco

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

.

IQl �t.mavl ..",,,bridto.oL. ... M .. H! .... .... f"'�t,_fw_ y, ..,.,IfA'j'oII:"''''1'1'II

�.. ... �". 372" Put:s"

TH·.y. �3,,}2 tly,vo.u, r 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= of= •

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, " , " ) ) el se =

=

O;

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

3. Wpisz poniższe polecenie, aby uruchomić plik wykonywalny w powłoce ADB lub oknie terminala: . /< ś c i eż ka>/

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: •

(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.

Łagodne uszkodzenia

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). �

Edit

Add

[J

J

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

File

Vi ew

Extract

10M

Favo rites

':7

Test

-+

C o py

Tools



Move

Help

X

D elete

l = I @l I___J

D.

Inlo

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

N am e

Size

� Sc reen c a ptu re.a p k � Setti ng s, apk §J Setti ngsProvi der, apk §1 Setu pWizard , apk §1 Stk, apk [§J 5u p eru ser.a p k MM". §1 T, I k2" p k §J Tel eph o nyP rovi d er.a " , §1 Torch. a p k � TtsServi ce.a p k [§J UserOi ction aryP rovid " , §J Ven din g .apk §1 Vi deoP l ayer, a pk '"

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

1=1

UpdatezipCreator by benzyniarzl

UpdatezipCreator - welcome

Create your update .zip quic!y and easily

r-------��

fr==�===r==,-;::-::ł

Question

Do you want to load a default edify script?

CI Push created zip to SD carO CI

Reboot to a recovery after

1 IL

Newline charader

L__ Y_ e ,__ �

@ Unux �e (recommended)

__ _ 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