Hakowanie iPhone część 12

                27 lipca 2008 o godzinie 21:38, w kategorii Jabłka.

Pamiętacie ten cholerny komunikat który iTunes wyświetla przy każdorazowym podłączeniu iPhona do komputera? Obiecywałem wam, że przez weekend przyjrzę się temu bliżej i tak też zrobiłem. Okazało się że miałem nosa – wystarczy tylko wytłumaczyć iPhonowi jak ma rozpoznawać waszego operatora a irytujący przypominacz zniknie na dobre! Z tego co wiem problem nie dotyczy Ery i Orange – z racji tego że niedługo będą one sprzedawać iPhona w Polsce są rozpoznawane ootb – na pewno zaś dotyczy Plusa i prawdopodobnie reszty polskich sieci. Poniżej znajdziecie opis jak sobie z tym poradzić w Plusie – jednak nic nie stoi na przeszkodzie abyście dodali własną sieć. Zanim jednak przejdziemy do konkretów musimy z grubsza wyjaśnić sobie jak to wszystko działa…

Itu771630Dhdk


iPhone rozpoznaje operatora korzystając z danych umieszczonych w /System/Library/Carrier Bundles/. W katalogu znajdziecie pary składające się ze skrótu będącego numerem MCC/MNC oraz katalogu z właściwą dla danej sieci konfiguracją o nazwie skonstruowanej według klucza nazwaoperatora_kraj.bundle. Jeśli iPhone napotyka nieznaną sobie kartę korzysta z ogólnych ustawień dla tzw. operatora nieznanego czyli do pliku Unknown.bundle. Wewnątrz każdego takiego „tobołka” znajdziecie zestaw kilku plików odpowiadających za domyślną konfigurację telefonu w danej sieci. Podobnie wyglądało to czasach 1.1.1 – tylko znacznie bardziej skromnie. Zawierają one predefiniowane ustawienia – w tym ważne takie jak na przykład domyślna konfiguracja APN, numer poczty głosowej czy BOK ale także sporo różnych drobiazgów takich jak choćby sprofilowane pod kątem lokalizacji indeksy dla aplikacji Giełda czy nawet bookmarki dla Safari z adresem strony operatora. I wiele wiele innych. Część z nich jest w oczywisty sposób czytelna i zachęca do eksperymentów – część nie.

987Ysdfghufdssjsp

Nas interesują właściwie tylko dwa pliki – carrier.plist oraz info.plist . Przynajmniej na razie – chcemy bowiem usunąć nagscreen a nie wszystko pozmieniać. Tak w ogóle zalecam ostrożność bo w ten sposób możecie na przykład przypadkowo nauczyć iPhona samoczynnego wysyłania esemesów co może okazać się dosyć kosztowne. To właśnie w jednym z powyższych plików krył się felerny wpis przez których telefony z kartą Orange po cichu nabijały rachunek wysyłając i otrzymując tajemnicze esemesy z serwisu tok2mi. Tak więc zanim zaczniecie dłubać w konfiguracji dobrze się przyjrzyjcie co i gdzie zmieniacie! I zrozumcie – to nie jest wprawdzie żadne kung-fu ale jeśli macie problemy z podstawową obsługą komputera, nie wiecie co to jest SSH lub nawet powyższe kilka zdań nie jest dla was do końca zrozumiałe nie zabierajcie się za to. Nie wszystko można opisać krok po kroku – a nawet nie wszystko wolno – bo człowiek korzystający z takiego poradnika bez świadomości tego co i po co akurat robi łatwo może narozrabiać. A jak mawiał Aleksander hrabia Fredro – łatwiej kijek obcieńkować, niż go później pogrubasić. Ok. Tyle ostrzeżeń. Przejdźmy do rzeczy.

Plusgsgfsa984-1

Jak zatem dodać własnego operatora do bazy iPhona? Po pierwsze musicie stworzyć w /System/Library/Carrier Bundles/ katalog zawierający ustawienia waszego operatora. Ja zbudowałem go w oparciu o domyślne ustawienia dla operatora nieznanego (Unknown.bundle) na których telefon z nieznanym sobie simem i tak działa – jest to więc w 100% bezpieczne. Tutaj znajdziecie gotową paczkę dla Plusa ale oczywiście możecie ją sobie przygotować samemu. Porównanie wyżej wymienionych plików pochodzących z dwóch dowolnych „tobołków” łatwo pozwala wyśledzić różnice i nanieść konieczne poprawki. Do edycji najlepszy będzie Property List Editor który znajdziecie w Developer/Applications/Utilities/ lub na płycie z systemem w pakiecie z Xcode. To naprawdę nic wielkiego – w pliku info.plist musicie wyedytować klucze CFBundleExecutable oraz CFBundleIdentifier a w pliku carrier.plist zmienić klucz CarrierName oraz dodać nowy o nazwie SupportedSIMs zawierający numer MCC/MNC waszego operatora. To niezbędne minimum.

87Sd868Sdjsdhbbmmd4

Warto przy okazji sprawdzić też zawartość kluczy ShowCallForwarded i ShowCallForwarding które odpowiadają za wyświetlanie nie mniej irytującego komunikatu o aktywnym przekierowaniu połączeń oraz – być może – dopisać właściwą dla swojego operatora konfigurację APN. Poza tym rozejrzycie się uważnie dookoła – może coś jeszcze wpadnie wam w oko? Ja niewiele wiem o sieciach GSM więc mogłem coś przegapić. Ok. To tyle – wrzucamy całość na iPhona, potem jeszcze tylko tworzymy dowiązanie symboliczne za pomocą komendy ln -s Plus_pl.bundle 26001 i restartujemy telefon. Po wszystkim. Oczywiście przykłady powyższe dotyczą Plusa i dla innych operatorów będą wyglądały odrobinę inaczej niemniej schemat postępowania pozostaje ten sam – zresztą sami sprawdźcie i dajcie znać jak poszło. Zachęcam, zwłaszcza że gra jest warta świeczki – od tej pory iTunes przestanie was nękać tym wkurzającym komunikatem o dostępnych poprawkach – a święty spokój jest przecież bezcenny!

Gotowe rozwiązanie znajdziecie w repozytorium i-apps.pl.


komentarzy 9