David Jurick, Adam & Damien Stolarz
Velká kniha tipů a triků pro iPhone
Computer Press, a. s. Brno 2009
K1721.indd 1
15.9.2009 15:22:08
Velká kniha tipů a triků pro iPhone David Jurick, Adam & Damien Stolarz Computer Press, a. s., 2009. Vydání první. Překlad: Jiří Novotný Odborná korektura: Tomáš Doseděl Jazyková korektura: Pavel Bubla Sazba: Petr Klíma Rejstřík: Daniel Štreit Obálka: Martin Sodomka
Komentář na zadní straně obálky: Michal Janko Technická spolupráce: Jiří Matoušek, Zuzana Šindlerová, Dagmar Hajdajová Odpovědný redaktor: Michal Janko Technický redaktor: Jiří Matoušek Produkce: Petr Baláš
Authorized translation of iPhone Hacks ISBN 9780596516642 © 2009, David Jurick; Adam Stolarz; Damien Stolarz. This translation is published and sold by permission of O'Reilly Media, Inc., the owner of all rights to publish and sell the same. Autorizovaný překlad z originálního anglického vydání iPhone Hacks ISBN 9780596516642. Originální copyright: © 2009, David Jurick; Adam Stolarz; Damien Stolarz. Překlad: © Computer Press, a.s., 2009. Computer Press, a. s., Holandská 8, 639 00 Brno Objednávky knih: http://knihy.cpress.cz
[email protected] tel.: 800 555 513 ISBN 978-80-251-2645-5 Prodejní kód: K1721 Vydalo nakladatelství Computer Press, a. s., jako svou 3356. publikaci. © Computer Press, a. s. Všechna práva vyhrazena. Žádná část této publikace nesmí být kopírována a rozmnožována za účelem rozšiřování v jakékoli formě či jakýmkoli způsobem bez písemného souhlasu vydavatele.
K1721.indd 2
15.9.2009 15:22:50
OBSAH Předmluva Počítače a komunikace Jak číst tuto knihu Jak je kniha uspořádána Konvence použité v knize Použití ukázek kódů Poznámka redakce českého vydání
Kdo se na knize podílel Přispěvatelé
7 7 8 8 10 11 11
12 12
KAPITOLA 1
Základní triky pro iPhone a iPod touch Trik 1.01: Naučte se jazyk „hackování“ iPhonu Trik 1.02: Objevte možnosti prolomení ochrany iPhonu Trik 1.03: Prolomením ochrany jeho iPhonu nebo iPodu touch jej otevřete k vlastním úpravám Trik 1.04: Instalujte aplikace třetích stran Trik 1.05: Obsluhujte souborový systém vašeho iPhonu Trik 1.06: Zálohujte své soubory v iPhonu
15 15 22 27 33 37 43
KAPITOLA 2
Řešení problémů s vaším iPhonem nebo iPodem touch Trik 2.01: Zjistěte zdravotní stav iPhonu Trik 2.02: Vynuťte ukončení aplikace iPhonu Trik 2.03: Proveďte restart iPhonu Trik 2.04: Proveďte obnovu a zotavení svého iPhonu Trik 2.05: Aktivace režimu DFU Trik 2.06: Získejte kvalitní podporu pomocí „hackování“ iPhonu
51 52 55 56 57 60 64
KAPITOLA 3
Posílání zpráv a komunikace Trik 3.01: Získejte maximum z e-mailu v iPhonu Trik 3.02: Odhalte plný potenciál textových zpráv Trik 3.03: Posílejte „textovky“ z vašeho iPhonu pomocí Instant Messengeru Trik 3.04: Povolte MMS na svém iPhonu Trik 3.05: Zvyšte dobu oznámení o nové SMS ve vašem iPhonu Trik 3.06: Používejte Instant Messaging ve vašem iPhonu Trik 3.07: Připojte se ve vašem iPhonu k IRC
K1721.indd 3
73 73 79 83 86 90 92 96
15.9.2009 15:22:50
KAPITOLA 4
Média a data Trik 4.01: Noste s sebou přenosný souborový server Trik 4.02: Převeďte videa a disky DVD či Blu-Ray do iPhonu a iPodu touch – připravené formáty Trik 4.03: Prezentace PowerPointu na projektoru nebo televizi pomocí iPhonu nebo iPodu touch Trik 4.04: Synchronizujte hudbu a video mezi více počítači a svým iPhonem Trik 4.05: „Streamujte“ hudbu a videa z vašeho počítače do svého iPhonu Trik 4.06: Jak na rychlé čtení zpráv, RSS a webových stránek Trik 4.07: Čtěte na svém iPhonu elektronické knihy Trik 4.08: Panoramatické a noční snímky pomocí vestavěného fotoaparátu Trik 4.09: Nahrávejte video pomocí svého iPhonu
99 99 102 115 122 124 130 134 142 147
KAPITOLA 5
Emulace her Trik 5.01: Emulace a homebrew hry Trik 5.02: Zahrajte si na svém iPhonu nebo iPodu touch hry pro konzolu Nintendo Trik 5.03: Zahrajte si na svém iPhonu nebo iPodu touch hry pro konzolu Sega Genesis Trik 5.04: Zahrajte si na svém iPhonu nebo iPodu touch hry pro Nintendo Game Boy Trik 5.05: Zahrajte si na svém iPhonu nebo iPodu touch hry pro konzolu Super Nintendo Trik 5.06: Zahrajte si na svém iPhonu nebo iPodu touch hry pro Nintendo Game Boy Advance Trik 5.07: Zahrajte si na svém iPhonu nebo iPodu touch hry pro Sony PlayStation
149 149 152 154 155 156 158 159
KAPITOLA 6
Triky pro telefonování Trik 6.01: Používejte GSM kódy k nastavení telefonu Trik 6.02: Přidejte si vlastní ikony pro zrychlené vytáčení Trik 6.03: Přistupujte z iPhonu nebo iPodu touch ke svým hlasovým schránkám Asterisk Trik 6.04: Přistupujte z iPhonu nebo iPodu touch ke svým hlasovým schránkám Vonage Trik 6.05: Používejte VoIP na iPhonu nebo iPodu touch druhé generace Trik 6.06: Získejte vizuální hlasovou schránku u T-Mobile nebo dalších operátorů Trik 6.07: Automaticky překládejte svoje hlasové zprávy na text Trik 6.08: Aktualizujte telefonátem svůj Twitter nebo blog Trik 6.09: Vytvořte během jízdy autem podcast
167 167 172 178 179 180 184 188 191 193
KAPITOLA 7
Odblokování a aktivace Trik 7.01: Kupte si odblokovaný telefon od Applu Trik 7.02: Odblokujte si iPhone softwarově Trik 7.03: Odblokujte si iPhone „hacknutím“ SIM karty Trik 7.04: Po odblokování si iPhone nakonfigurujte
4
K1721.indd 4
195 197 198 202 206
obsah
15.9.2009 15:22:50
KAPITOLA 8
Přizpůsobení Trik 8.01: Přidání vlastních vyzvánění do iPhonu Trik 8.02: Používejte v iPhonu skiny a upravte systémové zvuky Trik 8.03: Změňte si startovací obrazovku Trik 8.04: Rozšiřte automatické opravy o položky adresáře Trik 8.05: Oskinujte si iPhone i z vnějšku Trik 8.06: Skryjte nechtěné aplikace
213 213 220 225 227 227 229
KAPITOLA 9
Síťové triky Trik 9.01: Používejte iPhone nebo iPod touch jako trackpad Trik 9.02: Ovládejte stolní počítač nebo notebook iPhonem nebo iPodem touch Trik 9.03: Ovládejte iPhone nebo iPod touch ze stolního počítače nebo notebooku Trik 9.04: Připojte se k iPhonu pomocí Secure Shell (SSH) terminálu Trik 9.05: Spravujte vzdálené servery pomocí terminálu Trik 9.06: Připojte souborový systém iPhonu k Macu pomocí AppleTalk či SSH Trik 9.07: Jednoduše spravujte všechny síťové služby ve svém iPhonu Trik 9.08: Sledujte a získejte zpět svůj iPhone Trik 9.09: Sledujte, získejte zpět a ovládejte svůj iPhone Trik 9.10: Udělejte ze svého iPhonu nebo iPodu touch webový server Trik 9.11: Připojte se k iPhonu nebo iPodu touch z vnějšku své domácí/kancelářské sítě Trik 9.12: Tiskněte z iPhonu na libovolném faxu Trik 9.13: Propojte síť EDGE/3G v iPhonu s vaším notebookem Trik 9.14: Nechejte aplikace běžet na pozadí Trik 9.15: Udržte v iPhonu neustále zapnuté Wi-Fi Trik 9.16: Oklamejte svoje Wi-Fi aplikace tak, aby fungovaly i na 3G
231 231 232 234 235 245 249 252 253 255 257 258 263 266 268 268 269
KAPITOLA 10
Triky aplikací Trik 10.01: Vytvářejte hudbu pomocí iPhonu a iPodu touch Trik 10.02: Měřte vzdálenosti vestavěným fotoaparátem a GPS Trik 10.03: Přidejte další způsoby synchronizace Trik 10.04: Změňte v iPhonu svůj hlas a odchozí ID volajícího Trik 10.05: Použijte iPhone jako dálkový ovladač multimédií Trik 10.06: Přinuťte iPhone nebo iPod touch mluvit Trik 10.07: Kopírujte a vkládejte napříč aplikacemi Trik 10.08: Stáhněte si videa YouTube namísto jejich streamování Trik 10.09: Získejte nová média s dTunes Trik 10.10: Zálohujte si svoje prolomené aplikace
271 271 278 282 283 285 287 288 289 291 292
5
K1721.indd 5
15.9.2009 15:22:50
KAPITOLA 11
Přizpůsobení Trik 11.01: Proměna skriptů příkazového řádku v aplikace pro iPhone Trik 11.02: Editujte seznamy vlastností systému Mac OS X Trik 11.03: Vytvářejte pravidelné úlohy, které se provádějí na pozadí Trik 11.04: Manipulace s databázemi aplikací iPhonu Trik 11.05: Synchronizujte svou historii volání s iCal v Mac OS X Trik 11.06: Pro vývoj na iPhonu vyberte mezi Apple SDK a Open Tools Trik 11.07: Vyvíjejte aplikace pro iPhone pomocí Apple SDK Trik 11.08: Sami si podepište své projekty využívající Apple SDK Trik 11.09: Manuálně instalujte aplikace Trik 11.10: Použijte pro sestavování aplikací pro iPhone virtuální stroj Trik 11.11: Vyvíjejte aplikace pro iPhone přímo v telefonu Trik 11.12: Restartujte SpringBoard pro odhalení nově nainstalovaných aplikací Trik 11.13: Vytvořte UI bez použití Interface Builderu Trik 11.14: Použijte API Explorer pro průzkum zabudovaných frameworků Trik 11.15: Přistupujte k soukromým API
295 295 304 307 315 319 324 329 333 336 336 341 344 346 349 352
KAPITOLA 12
Technické triky Trik 12.01: Upravte si sluchátka, aby fungovala s původním iPhonem Trik 12.02: Přinuťte kolébku původního iPhonu fungovat i s iPhonem 3G Trik 12.03: Vyrobte si pro iPhone headset z uzavřených sluchátek Trik 12.04: Použijte fotoaparát iPhonu pro detailní záběry Trik 12.05: Sledujte iPhone nebo iPod touch na televizi Trik 12.06: Pomocí televizního výstupu zrcadlete nebo odesílejte obraz iPhonu Trik 12.07: Připojte si iPhone v autě Trik 12.08: Používejte iPhone i s navlečenými rukavicemi Trik 12.09: Nakoukněte do nitra svého zařízení Trik 12.10: Rozeberte a složte si původní iPhone Trik 12.11: Rozeberte a složte si původní iPhone 3G Trik 12.12: Rozeberte a složte si původní iPod touch Trik 12.13: Rozeberte a složte si iPod touch druhé generace Trik 12.14: Poznejte zapojení konektorů iPhonu a iPodu touch Trik 12.15: Vyrobte si přídavné světlo pro fotoaparát iPhonu Trik 12.16: Ovládejte z iPhonu svět okolo Trik 12.17: Nabíjejte svůj iPhone kdekoli Trik 12.18: Připojte váš iPhone k sériovému portu pomocí dokovacího konektoru Trik 12.19: Vzdáleně ovládejte svůj iPhone nebo iPod touch přes dokovací konektor Trik 12.20: Přijímejte signály z infračerveného dálkového ovladače bez jailbreakingu Trik 12.21: Připojte ke svému iPhonu sériové zařízení – bez jailbreakingu Trik 12.22: Připojte ke svému iPhonu klávesnici – bez jailbreakingu Trik 12.23: Použijte iPhone pro cestování nazpět časem
Rejstřík
6
K1721.indd 6
361 361 362 364 366 370 372 374 380 383 387 394 402 405 408 419 421 429 434 436 440 444 452 457
459
obsah
15.9.2009 15:22:51
PŘEDMLUVA Jak je důležitý mobilní telefon? Více než dvě miliardy lidí na Zemi – více než čtvrtina světové populace – vlastní mobilní telefon. A zřejmě polovina z nich provádí pravidelný upgrade – každý rok se prodá více než miliarda telefonů. Ale nazvat iPhone „telefonním“ zařízením je krátkozraké. iPhone je mobilní počítačové zařízení. A skutečně, pokud sledujete počítačové trendy, brzy zjistíte, že iPhone je prostě počítač. Příběh iPodu – skvělého předchozího osobního zařízení společnosti Apple – je příběhem, jenž se bude přednášet na obchodních akademiích další stovky let. Apple několik let nečině přihlížel trhu s MP3 a přenosnými mediálními přehrávači. Nechali věci tak trochu vyspět a poté vstoupili na trh s tím, čemu říkáme přelomový („killer“) produkt, s mediálním přehrávačem, který předběhl všechny ostatní a stal se definicí přenosné hudby. Poté spustili obchod s digitální hudbou, který byl v době psaní této knihy jedničkou na americkém trhu, porážeje všechny kamenné prodejny. Dokážou něco takového znovu? V rámci potenciálu stále se rozvíjejícího trhu s chytrými telefony je těžké předvídat svět, v němž dosáhl iPod tak divokého úspěchu, co se týká podílu na trhu. I tak jsou čísla Applu ohromující. V roce 2008 prodali 10 milionů iPhonů1. V porovnání s miliardou prodaných telefonů po celém světě2 za každý z posledních dvou let to je podíl blížící se 1 % z celého počtu prodaných telefonů – nejen chytrých telefonů. A to není na nového účastníka s drahou hračkou špatné. Apple v prodejích za rok 2008 porazil RIM (Blackberry) a stal se třetím největším dodavatelem mobilních telefonů, co se týká příjmů z prodeje3. Ale toto není kniha o investování, toto je kniha o maximálním využití iPhonu.
Počítače a komunikace V počátcích nástupu chytrých telefonů byli novináři zmatení mobilní konvergencí: „Tento telefon umí fotografovat, kontrolovat e-maily a – překvapivě – umožňuje také telefonování.“ Jejich sarkasmus měl jen zastřít nedostatek přehledu o budoucím vývoji a perspektivách telefonů. Víceúčelová povaha mobilní komunikace zahrnuje hlas, text, obrázky a video a nesčetné množství kombinací. Konferenční hovory, hlasové schránky, vícestranné hovory, posílání textů, čtení e-mailů, posílání fotografií a videí, sociální sítě, mikroblogování, podcasting, video blogy, čtení, telekonference, nebo jazykový překlad v reálném čase jsou výčtem pouze těch způsobů, jimiž se komunikace přetváří všudypřítomností chytrých telefonů. 1 Apple: www.apple.com/pr/library/2009/01/21results.html 2 Gartner research 3 Jobs, Q3’08 Earnings call
Počítače a komunikace
K1721.indd 7
7
15.9.2009 15:22:51
Cíle, jichž se snažíme dosáhnout, jsou především tyto:
Mobilní telefony dovolují globální kulturu. Každý bude brzo vlastnit chytrý telefon. Mobilní telefony jsou budoucností oboru počítačů. Mobilní telefony budou pohánět příští boom Internetu.
A proč to? Uvádíme teorii, která zní: Vše, co činí komunikaci více „telepatickou“ – překračující čas a prostor – pravděpodobně najde u lidí úspěch. A tak jakékoli zařízení nebo technologie v základu vylepšující lidskou komunikaci nutně překročí obecná očekávání, dokud ji na Zemi budou všichni používat. Umělci si budoucnost kultury představují obecně. Vědecko-fantastičtí autoři si budoucnost kultury a technologie představují specificky. Ale kdo modeluje takovou budoucnost? Hackeři. Užijte si tuto knihu.
Jak číst tuto knihu Tuto knihu můžete číst od začátku do konce, pokud chcete, ale většina triků jsou samostatné návody, takže neváhejte vyhledávat a přeskakovat z jedné části na druhou, podle vašeho zájmu. Pokud některý trik vyžaduje určitě předchozí znalosti jiného triku, najdete na takovém místě křížový odkaz, jenž vás k tomuto triku dovede.
Jak je kniha uspořádána Účelem této knihy je poskytnout kompendium triků jak pro iPhone, tak pro iPod touch. I když existuje řada knih a stránek, které opakovaně uvádí funkce, jež iPhone zdědil, tato kniha je sbírkou těch nejlepších a nejméně běžných inovací, které předvádí jejich snadné použití.
Kapitola 1: Základní triky pro iPhone a iPod touch V této kapitole sice najdete mnoho informací o „hackování“ iPhonu a iPodu touch, které lze najít na Internetu, ale zde nejsou dobře uspořádaní a ne všechny jsou spolehlivé. V kapitole 1 se rychle dozvíte o hatmatilce, takže okamžitě porozumíte nezdravé povaze online literatury o iPhonu. Takže se dozvíte, jak jednoduše, bezpečně a spolehlivě „prolomit“ ochranu vašeho telefonu, abyste zpřístupnili celý svět funkcí a aplikací.
Kapitola 2: Řešení problémů s vaším iPhonem nebo iPodem touch Někteří lidí si dělají starosti s tím, že „hackováním“ přijdou o záruku, díky níž mají k dispozici technickou podporu, tedy pokud nemají k ruce nějakého známého, jenž jim ochranu telefonu prolomí. Vůbec ne! Pokud jste dostatečně zruční a máte dostatečné vybavení, můžete telefon „hacknout“ bezpečně a s klidnou myslí. V kapitole 2 se dozvíte základy oživovacích technik. A také se naučíte, jak získat odkazy na online specialisty, pokud nastanou nějaké komplikace.
8
K1721.indd 8
Předmluva
15.9.2009 15:22:51
Kapitola 3: Posílání zpráv a komunikace iPhone je nezvykle schopným komunikačním zařízením, ale Apple nedokázal uspokojit všechny komunikační potřeby. Kapitola 3 ukazuje, jak iPhone rozšířit, aby používal široké pole možností od posílání multimediálních zpráv či e-mailů až po fungování s chatovacími systémy na Internetu.
Kapitola 4: Média a data Dny fyzických médií, jako jsou CD a DVD, jsou sečteny. Mnoho lidí už přestoupilo a většina z jejich osobních a zábavných médií existuje pouze v digitální formě na pevných discích, nebo „v oblaku“ online. V kapitole 4 se naučíte, jak importovat a převést vaši sbírku DVD do iPhonu. A poté začnete se svou informační dietou – informačními zdroji RSS, novinkami a knihami ve vašem telefonu.
Kapitola 5: Emulace her Síla iPhonu tkví v tom, že umí emulovat téměř všechny klasické systémy videoher od doby Pongu. V kapitole 5 se naučíte, jak vzít všechny arkády, které máte pro Nintendo, Segu nebo GameBoy či originální PlayStation, a donutit je běžet v iPhonu nebo iPodu touch.
Kapitola 6: Triky pro telefonování Když je nyní hlas pouhým datovým zdrojem, vše, co jsme se naučili od Internetu, lze použít také na naše hovory. Kapitola 6 vám ukáže, jak používat technologii za hranicí Voice over IP v iPhonu, a pak ji chytře kombinovat s hlasovou schránkou, SMS a technologiemi přenosu hlasu na Web, čímž přetvoříte většinu iPhonu v komunikační nástroj.
Kapitola 7: Odblokování a aktivace iPhone byl navržen tak, aby fungoval v jakékoliv síti GSM na světě. A s trochou vůle tomu tak skutečně může být. V kapitole 7 se naučíte všem technikám, jimiž iPhone odemknete tak, aby fungoval s jakoukoliv SIM kartou operátora, kterého si vyberete.
Kapitole 8: Přizpůsobení Od obrázků na pozadí přes úpravu zvukových motivů systému až po vyzváněcí tóny bylo přizpůsobení dlouho základem operačních systémů a mobilních telefonů. V kapitole 8 se naučíte upravit iPhone k obrazu svému.
Kapitola 9: Síťové triky S přístupem k Internetu přes Wi-Fi nebo 3G oplývá iPhone lepší konektivitou, než většina přenosných počítačů na dnešním trhu. Vlastně v oblasti dobře pokryté signálem 3G sítě je iPhone zařízením s přenosným připojením T1. Obrovské možnosti tohoto vždy k síti připojeného přenosného zařízení nejsou pro „hackery“ ztracené. V kapitole 9 se dozvíte o tuctech chytrých aplikací s téměř všudypřítomnou konektivitou, jako je vzdálené ovládání v síti, GPS vyhledávání, obsluhování webu a navazování spojení s přenosným počítačem. Také se naučíte, jak obejít několik pravidel, jako jsou programy běžící na pozadí vašeho iPhonu a použití VoIP před vaším připojením 3G.
Kapitola 10: Triky aplikací Zatímco počet aplikací v App Store dosáhl astronomických čísel, pouze užitečné aplikace jsou dostatečně inovativní na to, aby s nimi bylo možné provádět skutečné triky. V kapitole 10 se Jak je kniha uspořádána
K1721.indd 9
9
15.9.2009 15:22:51
dozvíte, jak donutit telefon, aby používal hudbu, měření či správu médií. Taktéž poznáte skupinu „odmítačů“ obchodu App Store, kteří to zkoušení vzali sami za sebe.
Kapitola 11: Přizpůsobení Počítačoví programátoři po celém světě přemýšlí: „Možná bych se měl naučit něco málo o vývoji mobilních aplikací.“ Ale mnohé z nich odradí nutnost mít Mac a naučit se jazyk Objective-C. V kapitole 11 zjistíte, že programování pro iPhone je jednodušší, než se zdá. Kdokolí umí psát jednoduché skripty, dokáže během hodiny vytvořit a distribuovat vlastní aplikaci. Profesionální vývojáři získají rychlý výukový kurs do možností programování pro iPhone.
Kapitola 12: Technické triky Mobilní telefony jsou dnes počítači. A k počítačům je příslušenství. Kapitola 12 představuje široké pole možností připojení hardwaru k vašemu iPhonu a iPodu touch. V této kapitole se naučíte, jak iPhone připojit v autě nebo k velké obrazovce televize. Naučíte se, jak v iPhonu provádět chirurgické operace; jak jej bezdrátově spojit s jakýmkoliv sériovým zařízením a jak jej přimět ovládat auto na dálkové ovládání. Také se naučíte, jak zprovoznit to, co je pro některé „svatým grálem“ konektivity iPhonu – externí klávesnici. A co je pozoruhodné, většina z triků v této kapitole nevyžaduje žádné prolamování iPhonu.
Konvence použité v knize Tato kniha používá následující typografické konvence: Kurzíva Používá se k označení nových termínů, adres URL, názvů souborů, přípon souborů, adresářů nebo složek. $ Příkazový řádek Unixu/Linuxu, který uvidíte při přihlašování jako běžný (smrtelník) uživatel. Neproporcionální písmo
Používá se pro ukázky kódů, doslovné vyhledávání a příkazy, obsahy souborů a pro výstup příkazů. Tučné neproporcionální písmo
Používá se v ukázkách a tabulkách k zobrazení příkazů nebo jiného textu, který je třeba zadat doslovně. Kurzivní a tučné neproporcionální písmo
Používá se ve výpisech kódu a příkazů k zobrazení textu, který má uživatel nahradit. Zvláštní pozornost věnujte poznámkám ve speciálních odstavcích s těmito ikonami: Tato ikona označuje tip, radu nebo obecnou poznámku. Obsahuje užitečné doplňující informace nebo vhodnou poznámku k tématu. Tato ikona označuje varování nebo důležitou poznámku.
10
K1721.indd 10
Předmluva
15.9.2009 15:22:51
Ikony s teploměrem, které najdete u každého triku, označují relativní složitost triku: Začátečník: Pokročilý: Znalec: Unikátní je v této knize také ikona „prolomení“:
Zatímco některé triky lze provádět s iPhonem, jak jste ho zakoupili, mnoho dalších vyžaduje změnu („prolomení“) továrního firmwaru, jímž umožníte fungování nového softwaru, jak vysvětluje trik 1.03. Ikona prolomení označuje návod, jenž vyžaduje prolomení ochrany telefonu.
Použití ukázek kódů Tato kniha vám má ve vaší práci pomoci. Kód z této knihy můžete obecně použít ve vašich programech a dokumentaci. Nemusíte nás kontaktovat pro získání povolení, dokud nebudete rozmnožovat jeho větší části. Například, když budete psát program používající více částí kódu z této knihy, nemusíte o povolení žádat. Prodej a distribuce CD s příklady z této knihy ale povolení vyžaduje. Odpovídání na otázky s použitím citací z knihy a uvádění ukázek kódů nevyžaduje povolení. Zahrnutí větší části ukázek kódu z této knihy do své produktové dokumentace ale povolení vyžaduje. Oceníme, ale nevyžadujeme, označení našeho textu. Označení obvykle obsahuje autora, titul a nakladatele s číslem ISBN knihy. V případě originálního vydání: iPhone Hacks, by David Jurick, Adam Stolarz & Damien Stolarz. Copyright 2009 O’Reilly Media, Inc., ISBN: 978-0-596-51664-2. V případě českého vydání: David Jurick, Adam Stolarz, Damien Stolarz: Velká kniha tipů a triků pro iPhone. Computer Press, 2009. Pokud si myslíte, že potřebujete získat náš souhlas ohledně ukázek kódů, neváhejte napsat na adresu
[email protected] (anglicky).
Poznámka redakce českého vydání I nakladatelství Computer Press, které pro vás tuto knihu přeložilo, stojí o zpětnou vazbu a bude na vaše podněty a dotazy reagovat. Můžete se obrátit na následující adresy: Computer Press redakce počítačové literatury Holandská 8 639 00 Brno nebo
[email protected] Další informace a případné opravy českého vydání knihy najdete na internetové adrese http:// knihy.cpress.cz/K1721. Prostřednictvím uvedené adresy můžete též naší redakci zaslat komentář nebo dotaz týkající se knihy. Na vaše reakce se srdečně těšíme. Použití ukázek kódů
K1721.indd 11
11
15.9.2009 15:22:52
KDO SE NA KNIZE PODÍLEL O autorech David Jurick (www.davidjurick.com) je IT manažerem v oblasti digitální zábavy a nových médií ve společnosti sídlící v Santa Monice v Kalifornii. Má bohaté zkušenosti se sítěmi, počítači, hardwarem, softwarem, skriptováním a se systémy Unix/Linux. Získal bakalářský titul v oblasti přírodních věd na University of California v Santa Barbaře. Adam Stolarz (www.adamstolarz.com) je zaníceným počítačovým hráčem a expertem v oblasti pozadí elektroniky. Jako -náctiletý byl spoluautorem publikace Car PC Hacks (vydal O’Reilly). Aktuálně studuje politologii a japanistiku na California State University v Northridge. Damien Stolarz je společníkem ve společnosti Perceptive Development (www.perceptdev.com), v Los Angeles sídlící společnosti poskytující softwarové konzultace v rámci vývoje aplikací pro iPhone. Je vynálezcem, autorem a podnikatelem, který rád vytváří stroje komunikující s jinými stroji. Na svém kontě má jako autor několik knih včetně Mastering Internet Video (AddisonWesley), Car PC Hacks (O’Reilly) a Hands-On Guide to Videoblogging and Podcasting (Focal Press). Dosáhl titulu B.S. v oblasti počítačových věd a titulu inženýra na University of California v Los Angeles. Jeho osobní blog najdete na adrese www.damienstolarz.com.
Přispěvatelé Následující lidé do této knihy přispěli formou několika triků: George Dean IV je softwarový vývojář ve společnosti Perceptive Development v Los Angeles (www. perceptdev.com). Dean má široké znalosti téměř tuctu programovacích jazyků a množství platforem. Stále se zajímá o množství oborů včetně matematiky a všech přírodně-vědních oborů. Jeho umělecké sklony zahrnují vroubkování a psaní scénářů. Má titul B.S. v počítačových vědách z University of California v Los Angeles. Jeho osobní stránku najdete na adrese www.georgedeaniv.com. Matthew Drengler působí jako student v nejvyšším ročníku na University of Toledo, studuje elektroinženýrství. Po skončení studia má v plánu odejít na Ohio State University, kde chce získat magisterský titul v obchodní administrativě. Když se Drengler neučí do vyučování, rád se věnuje hraní golfu, na kytaru, poolu, konzole Xbox 360 a vaření. Jeho blok najdete na adrese http:// matthewdrengler.com/blog. Zack Gainsforth je fyzik na University of California, na katedře přírodních věd, kde studuje vzorky komet získaných v rámci mise NASA s názvem Stardust, stejně jako jiné astronomické materiály. Dříve byl úspěšným počítačovým programátorem pracujícím pro společnost Diskeeper Corporation, a software, na němž pracoval, se používá na milionech počítačů po celém světě. Jeho skutečnou láskou je fyzika, kariéru začal v podomácku vytvořené laboratoři a s pomocí svých rodičů. Možná bude navštěvovat University of California v Berkeley, kde bude studovat fyziku z pohledu, který je vlastní jeho současnému výzkumu. Na svém kontě má řadu příspěvků do několika vědeckých publikací a je spoluautorem článku pro časopis Science. Je šťastně ženatý se svou ženou Cindy. Jeho webové stránky najdete na adrese www.thetalab.com.
12
K1721.indd 12
Kdo se na knize podílel
15.9.2009 15:22:53
iFixit je udělej-si-sám společností pro Mac+iPod. Jejím cílem je povzbuzovat lidi, aby sami opravovali tím, že jim poskytnou potřebné informace, nástroje a součástky. Zatím pomohli přes 30 tisícům lidí opravit jejich počítače a iPody. iFixit byla založena v roce 2003 studenty v Cal Poly v San Luis Obispo. Nyní jsou největším obchodem náhradních dílů pro přenosné počítače Mac na světě. Mathias Kettner pracuje s Linuxem od dob jádra verze 0.99, kdy byla celá instalace umístěná na šest disket. I po tolika letech zůstává jeho láska k Linuxu stejná. Dnes je linuxovým konzultantem, školitelem a autorem bestselleru Fehlerdiagnose und Problembehebung unter Linux (SUSE Press). Vlastní diplom z počítačových věd z Ludwig-Maximilians-Universität München. Jeho stránku najdete na adrese http://mathias-kettner.com. Christopher „karp“ Kurpinski se stal za svých chlapeckých let šíleným vědcem a založil tak kariéru cynického inženýra. I přes jeho nejlepší snahu spát v každé hodině, nějak získal inženýrský diplom v elektroinženýrství na UCLA. Kurpinski v současnosti bydlí na předměstí Detroitu, kde navštěvuje práva na University of Michigan a pracuje jako technický analytik patentů. Má téměř perverzní radost, když může věc použít tak, jak nikdy nebyla zamýšlena. Jeho web najdete na adrese www.kurpinski.net. Patrick Ng je fotograf pracující v Hongkongu pro maloobchodní řetězec nazvaný City’super. Patrick je mužem činu, ale chová se velmi přemýšlivě. Vede si zápisník „hacků“ a zajímá se o věci, které prezentuje na svém osobním blogu Scription (http://moleskine.vox.com). Josef Průša je mladý, nekonvenční DJ z České republiky. DJingu se začal věnovat, když mu bylo pouhých 15 let. Má rád nové technologie a miluje „hackování“ nových funkcí, aby zjistil, že výsledky jsou zajímavé, užitečné nebo alespoň zábavné. Mezi jeho zájmy patří programování, elektronika, hudba, auta a ekonomika. iPhone používá k dálkovému ovládání auta a nedávno používal iPhone k ovládání svých hudebních vystoupení. Jeho nejnovější projekty můžete zhlédnout na jeho stránkách na adrese http://josef-prusa.eu. Erica Sadun má titul Ph.D. v počítačových vědách z Georgia Institute of Technology. Je autorkou, spoluautorkou nebo přispěvatelkou více než tuctu knih o technologiích, zvláště z oblastí programování, digitálního videa a digitální fotografie. Jako nadšenec Sadunová nikdy neměla hračku, kterou by nepotřebovala. V minulosti vyzkoušela NeXT, Newton a mnoho dalších úspěšných i neúspěšných technologií. Její stránky najdete na adrese http://ericasadun.com. Devananda Van der Veen má certifikace DBA pro MySQL a je autorem open source databázového a serverového administrátorského nástroje MyCAT. Aktuálně pracuje pro Hydra Network. Jeho blog najdete na adrese http://blog.dbadeva.com. Joe Vennix je teenager z Houstonu v Texasu, který se věnuje „hackování“ iPhonu od jeho uvedení na trh. Prodává aplikace na iTunes a spravuje seznam novinek a aplikací pro iPhone na adrese www.iphonexe.com. Když se dověděl, že bude moci publikovat v knize, pěkně z toho vyšiloval. Zastihnout ho můžete na adrese
[email protected]. ZodTTD je velmi skoupý na detaily o svém původu. Svou dráhu vývoje softwaru začal ve velmi mladém věku. Naučil se programovat hry na Gameboy Advance s pomocí provizorních flashových karet. Pracoval také na vývoji Open Transport Tycoon Deluxe pro společnost Tapwave Zodiac – z toho odvozena zkratka „ZodTTD“. Pracoval také na portování všech hlavních herních emulátorů – PSX, Sega, SNES, GBA, MAME a dalších – do iPhonu. Na plný úvazek nyní vyvíjí aplikace pro iPhony. Jeho stránky najdete na adrese www.zodttd.com.
Přispěvatelé
K1721.indd 13
13
15.9.2009 15:22:53
K1721.indd 14
15.9.2009 15:22:53
01
ZÁKLADNÍ TRIKY PRO IPHONE A IPOD TOUCH
Existuje hodně důvodů k „hackování“ vašeho iPhonu a iPodu touch. Existuje jeden mýtus o tom, že „hackování“ vymizí, jakmile Apple přidá onu jedinou zásadní funkci. Ale to je nepravděpodobné, neboť iPhone není jako dřívější verze iPodů nebo jakýchkoli telefonů, které se dříve vyskytly na trhu před iPhonem. Jde totiž o plně funkční osobní počítač. iPhone je globálním zařízením používajícím mezinárodní standardy protokolu GSM. Zpřístupnění telefonu, aby mohl používat SIM karty kdekoliv, je hlavním zájmem, a pravděpodobně se v tom bude pokračovat i poté, co zmizí výsadní smlouvy mezi Applem a mobilními operátory. iPod touch je zjevným dědicem iPodu, a jakmile velikostí paměti flash překročí velikost pevných disků, iPod touch bude iPodem. Avšak tento iPod umí procházet webové stránky, stahovat e-maily a mapovat vaše umístění, a stále se pro něj vyvíjí nové aplikace. Impulsem k získání iPodu – v podstatě standardu mezi MP3 přehrávači – je více než jeho neodolatelnost. Bez ohledu na to, co Apple přidává do svého vývojového prostředí (SDK – Software Development Kit), vždy zde bude něco důležitějšího, na co prostě zapomněli. Tím něčím je možná právě ona zásadní aplikace. A tak komunita „hackerů“ bude pokračovat v překračování hranic toho, co lze s telefonem provádět. Je důležité si uvědomit, že iPhone je mocným nástrojem stejně jako nejlepší počítače konce 90. let. Počítače v tomto období byly dostatečně rychlé, aby mohly používat širokopásmové připojení, a mohly tak zvládnout první boom Internetu. Ale tento počítač se vejde do náprsní kapsy košile a lze jej ovládat pomocí jediného prstu. Nyní si představte svět, v němž každý ve svých rukou drží na Linuxu založený osobní počítač s širokopásmovým připojením. Dokážete přemýšlet o čemkoliv, na co Apple možná nepomyslel? My ano.
Trik 1.01:
Naučte se jazyk „hackování“ iPhonu
Vyhněte se zdlouhavé výuce iPhonu pomocí tohoto rychlého tutoriálu. Je snadné nechat se přemoci množstvím nové terminologie, když se chcete naučit něco nového, zvláště když se to týká počítačů a „hackování“. Tento trik vás rychle seznámí se vším potřebným, takže rychle opustíte fázi úplného nováčka a online diskuse vám začnou dávat smysl.
K1721.indd 15
15.9.2009 15:22:53
Celulární standard iPhonu iPhone společnosti Apple byl ve Spojených státech oficiálně uveden pouze pro síť AT&T, v ostatních zemích jej většinou uvedli všichni operátoři (např. v Česku jej najdete v nabídce O2, T-Mobilu i Vodafonu). Přitom existuje řada jiných mobilních standardů, ale ve světě a v Evropě široce používaným standardem je GSM (Global System for Mobile communications, česky globální systém pro mobilní komunikaci). GSM popisuje technologii pro poskytování hlasových služeb, ale systém GSM zahrnuje taktéž řadu úrovní služeb bezdrátového přenosu dat. GPRS (General Packet Radio Service) je nejpomalejším z protokolů, který poskytuje rychlosti kolem 40 kb/s – podobně jako modem pro vytáčené připojení (dial-up). EDGE (Enhanced Data Rates for GSM Evolution) je protokol pro přenos dat schopný rychlostí až do 180 kb/s, s teoretickým maximem na 230 kb/s, tedy rychlostí podobných bolestně pomalému širokopásmovému Internetu z konce 90. let. Obecně dělají rychlostní limity z EDGE protokol jakési generace 2,5G (něco mezi druhou a třetí generací mobilních sítí) pro bezdrátový přenos na rozdíl od telefonů generace 3G, jež používají HSDPA (High Speed Downlink Packet Access, v současnosti nejrychlejší standard pro přenos dat v sítích GSM), což je rychlost porovnatelná s pomalým DSL připojením. V Česku se setkáte s HSDPA zatím jen v síti O2, jeho rychlost se pohybuje okolo 1 Mb/s.
Telefony GSM jsou charakteristické použitím SIM (Subscriber Identity Module) karty a schopností přenášet si službu mezi jednotlivými telefony jednoduše přenosem karty (obrázek 1.1). Jakmile smlouva mezi Applem a AT&T vyprší, možná vytvoří iPhone, který funguje i na jiných mobilních standardech, jako jsou standardy CDMA (Code Division Multiple Access) a EVDO (EvolutionData Optimized) používané ve Spojených státech společnostmi jako je Verizon a Sprint. S odstupem času lze říct, že Apple nic podobného nechystá. V současné době distribuuje svůj iPhone jak v USA, tak v Evropě, kde bez problémů funguje v sítích GSM a 3G. I když vztah Applu k mobilním operátorům je velmi direktivní, v řadě zemí již netrvá na exkluzivní spolupráci s jediným operátorem.
Obrázek 1.1. SIM karta ve slotu iPhonu
16
K1721.indd 16
KAPITOLA 1: Základní triky pro iPhone a iPod touch
15.9.2009 15:22:54
TRIK 1.01
Aplikace iPhonu V iPhonu běží systém Mac OS X (určený pro zařízení, ne počítač) – tedy odlehčená verze stejného kódu, jaký najdete na počítačích Macintosh. Původní aplikace jsou programy nainstalované do iPhonu, v protikladu k webovým aplikacím nebo webovým stránkám optimalizovaným pro iPhone, které běží v prohlížeči Safari, a používají technologie jako je AJAX (Asynchronous JavaScript a XML), a jež ke své funkčnosti vyžadují fungující připojení k Internetu. Mnoho aplikací zabudovaných do iPhonu, jako je Calendar, Photos, YouTube a Safari, jsou aplikacemi původními. Existují ještě také původní aplikace třetích stran. Všechny aplikace se v iPhonu spouští pomocí SpringBoardu, aplikace ovládající domácí obrazovku. Obrázek 1.2 ukazuje telefon s prolomenou ochranou (aby byl osvobozen od původních omezení) s některými aplikacemi třetích stran.
Obrázek 1.2. Množství nainstalovaných původních aplikací třetích stran na telefonu s prolomenou ochranou
Dědictví Unixu v iPhonu Unix je multiplatformní, multiuživatelský, serverový operační systém s dlouhou historií. Jako první jej vyvinula společnost AT&T v roce 1969. Byl jedním z prvních operačních systémů typu open source (software s otevřeným programovým kódem). Za posledních 40 let se rozdělil do obrovské rodiny tří tuctů soupeřících verzí a mnoha prominentních klonů, jako je Linux. Dlouho byl operačním systémem (OS – Operating System) pro programátory stejně jako původním domovem „hackerů“. Unix a na Unixu založené servery, jako je Linux, zastupují podstatnou část serverů v Internetu. Mac OS X je na Unixu založený operační systém. Jednou ze zajímavých věcí ohledně iPhonu je to, že více než 10 milionům lidí běží v jejich iPhonu právě na Unixu založený operační systém.
Chroot, ochrana a její prolamování Jak jsme právě zmínili, Unix je multiuživatelský systém. Různým účtům (s různými uživatelskými jmény) lze přidělit různá práva. Například superuživatel-administrátor, nazvaný root, může měnit jakékoli soubory v systému. iPhone za normálních okolností spouští aplikace jako uživatel s názvem mobile, jenž má mnohem omezenější přístup.
Naučte se jazyk „hackování“ iPhonu
K1721.indd 17
17
15.9.2009 15:22:55
Slovo „root“ (česky „kořen“) v unixových systémech se taktéž používá k popsání nejvyšší úrovně v hierarchii pevného disku, v němž se adresář nejvýše nazývá právě „root“ (jako kořen rostliny nebo stromu). Pokud uvidíte symbol lomítka, tak vězte, že to značí právě kořenový adresář pevného disku. Jedna z metod prosazování bezpečnosti v unixových systémech se nazývá chroot(). Za normálních okolností může každý uživatel potenciálně vidět obsah celého pevného disku. Metoda chroot() dělá to, že změní kořenový adresář, takže uživatel může přistupovat pouze do svého domovského adresáře. Například, pokud má Joe jako svůj domovský adresář nastavený /Users/ joe, chroot z něj udělá adresář /, který směřuje na adresář /Users/joe na pevném disku. Takže Joe nemůže přistoupit k těm částem systému, kam by přistupovat neměl. Toto bezpečnostní opatření vsazuje uživatele Joe takříkajíc za mříže metody chroot(). Toto přirovnání se vztahuje k cele nebo vězení, které omezuje přístup k běžným adresářům a limituje uživatele v tom, jaké programy může spustit. V iPhonu má flash disk (ve skutečnosti se jedná o paměť, která se však vůči operačnímu systému může tvářit jako disk) dvě části – jedna o velikosti asi 300 MB je určena pro operační systém a aplikace (oddíl /dex/disk0s1), druhá je celkovou ukládací pamětí pro data uživatele jako jsou obrázky, hudba a filmy (oddíl /dex/disk0s2). Existují dvě hlavní omezení: uživatel nemůže zapisovat do oddílu s operačním systémem a iPhone nespustí jakýkoli program uložený v oddílu s daty. Pokud nainstalujete aplikaci z App Store, může se spustit, protože se uloží do oddílu s operačním systémem. V iPhonu procesem prolomení ochrany odstraníte obě tato omezení. Změnou souboru /etc/ fstab, provedete následující: Umožníte zápis do oddílu s operačním systémem. Umožníte spuštění programů z oddílu s daty. iPhone pracuje s mnoha bezpečnostními funkcemi pro software i hardware, aby zajistil, že jeho běh nebude snadno napadnutelný škodlivými vetřelci, a aby tlačil na odpovědnost, takže půjde dohledat tvůrce zákeřného nebo destruktivního programu, když už se dostane do vašeho telefonu. Kvůli této tenké bezpečnostní vrstvě je nutné ochranu telefonu prolomit (trik 1.03), aby bylo možné instalovat programy a zpřístupnit funkce, které nenajdete v obchodu App Store. Mnoho softwaru určeného k prolomení ochrany přidává správce balíčků, s nímž nainstalujete nové aplikace přímo do zařízení. Prolomení ochrany přidává také širokou škálu běžných nástrojů Unixu/Linuxu, včetně Secure Shell (SSH), takže se k iPhonu můžete připojit pomocí terminálového programu a konfigurovat ho. Důležité je také to, že iPhone s prolomenou ochranou je plně vybaveným unixovým serverem a jsou pro něj k dispozici všechny hlavní internetové služby a vývojové technologie – jmenujme například MySQL, webové servery Apache, PHP, Python, Perl, Ruby nebo Java. To znamená, že portování existujícího kódu – zvláště kódu typu open source – do iPhonu je triviálně jednoduchou záležitostí. A právě proto záleží funkčnost mnoha triků uvedených v knize právě na prolomení ochrany telefonu.
18
K1721.indd 18
KAPITOLA 1: Základní triky pro iPhone a iPod touch
15.9.2009 15:22:55
TRIK 1.01
Vývojové prostředí (SDK) a obchod App Store V únoru 2008 Apple oznámil vydání vývojového prostředí – Software Development Kit (SDK) umožňující vytváření aplikací třetích stran, které bude možné instalovat v iPhonu. Po osm měsíců před tímto datem vytváření původních aplikací pro iPhone vyžadovalo vývojové prostředí pro reverzní inženýrství běžně nazývané toolchain (sada softwarových nástrojů používaných k vytváření nových aplikací). To proto, že aplikace SDK běžely v sandboxu (jiné slovo pro „vězení“), který omezoval možnosti udělat nějakou škodu, ale také omezoval jejich schopnost udělat něco správně. A tak existují aplikace SDK (vyvinuté pomocí vývojových nástrojů pro Mac od Applu, prodávaných v App Store a vyhovující restrikcím Applu a politice distribuování), a toolchain aplikace vyvinuté za pomoci softwarových vývojových prostředí pro reverzní inženýrství. Toolchain aplikace mohou používat jakoukoli dostupnou funkci telefonu. Naproti tomu SDK je omezeno na ty funkce, které Apple vestavěl do svého SDK. Například aplikace SDK nemůže pořídit snímky bez uživatelova výslovného povolení a nemůže vytáčet telefonní čísla nebo posílat textové zprávy bez toho, aby byl uživatel o tomto kroku informován, obecně nemohou běžet na pozadí, když se uživatel přepne do jiného programu. Toolchain aplikace netrápí žádné z těchto omezení. Více informací o programování těchto aplikací najdete v knize Jonathana Zdziarskiho nazvané iPhone Open Application Development, 2. vydání (O'Reilly, 2008).
Odemčení Porozumění různým metodám „hackování“ iPhonu záleží na pochopení jejich různých částí. Jak bylo zmíněno dříve, iPhone je velmi podobný konvenčnímu stolnímu počítači s výpočetní silou porovnatelnou se systémy na konci 90. let minulého století. Jejich hlavní procesor (CPU) běží na frekvenci okolo 400 MHz a má obrazovku a na ní virtuální klávesnici, dotykovou obrazovku, která funguje místo myši, a 4 GB a více úložného prostoru typu flash pro svůj souborový systém (k ukládání souborů). Běží na něm operační systém – jímž je aktuálně Mac OS X. Nicméně na rozdíl od mnoha osobních počítačů má iPhone dva „mozky“ – jedním je ARM procesor (výslovně jde o ARM11) CPU, na němž běží software systému Mac OS X a grafické rozhraní (GUI – graphical user interface), a druhý, jímž je čip, jenž se stará o komunikaci s celulární sítí, nazvaný čip základní desky (GSM procesor Infineon). Každý mobilní telefon na trhu má čip základní desky. Na většině telefonů („hloupých” telefonů) je tento čip jediným procesorem telefonu. Tento čip obsahuje jednoduchý procesor, a k tomu bezdrátový modem, a je zodpovědný za veškerou celulární komunikaci GSM/EDGE/HSDPA. Prolomením ochrany iPhone „hacknete“ pouze Mac OS X běžící na procesoru ARM. Čip základní desky v iPhonu je „druhým mozkem“, který je třeba přeprogramovat – často proti jeho vůli – pokud chcete telefon odemknout. Někteří lidé se diví, proč se čip nazývá čipem pro „základní pásmo“. Tento název je odvozen od mnohem běžnějšího termínu širokopásmový, jenž popisuje drátový nebo bezdrátový přenos probíhající na úrovni mnoha kanálů (pásem nebo frekvencí), podobně je připojení pomocí kabelového modemu sdíleno každým v okolí. Naproti tomu základní pásmo je takové, kdy má drátový nebo bezdrátový přenos pouze jedno pásmo přenášející pouze jeden signál, například jedno volání bezdrátového telefonu. Jedním z nejpopulárnějších termínů, na které v rámci „hackování“ iPhonu narazíte, je bricking – česky rozbíjení cihel. Což znamená připodobnění iPhonu k bezcenné cihle, když se „hackování“
Naučte se jazyk „hackování“ iPhonu
K1721.indd 19
19
15.9.2009 15:22:55