Mivel az Apple egyenesen kihagyta az első generációs készülékeket az iOS 4.0-ra való frissítésből, így maradt az, hogy próbáljuk meg kihozni a lehető legtöbbet a legutolsó elérhető firmware-ből, a 3.1.3-ból. Az Apple a legutóbbi, az iPhone 4 térerővesztési mizériájának kapcsán tett sajtóközleményével azt is nyilvánvalóvá tette, hogy nem is lesz több szoftverfrissítés az első generációs készülékekre: mert bár a térerő számítási probléma a legelső iPhone szoftvere óta létezik, az ezt javítandó frissítés mégis csak a 3G és afeletti készülékekre lesz elérhető. Egyszóval az iPhone 2G-ről már teljesen lemondtak.
A projekt tehát a következő. Adott egy Nike+ szenzor és vevő, ami alapból csak a következő eszközökkel kompatibilis: iPhone 4, iPhone 3GS, iPod touch 2G, iPod Nano 1G – 5G. Az iPod Nano 1G az csak azért vicces, mert az még bőven az iPhone 2G előtt jelent meg, és azt mégis támogatja, míg az iPhone 2G-t és 3G-t, valamint az iTouch 1G-t nem…
Oldjuk hát meg a kérdést, jöjjön a technikai leírás. (Természetesen készült Cydia csomag is belőle, hogy ne kelljen kézzel megcsinálni, de maga a leírás érdekes lehet.)
Szükséges szoftverek:
- PwnageTool a fájlok firmware-ből való kibontásához
- DiskAid a fájlok készülékre másolásához (vagy SSH kliens)
- Plist editor az egyes plist-ek szerkesztéséhez
- iPod2,1_3.1.3_7E18_Restore.ipsw
- egy patch-elt „iapd” fájl
Szükséges eszközök:
- iPod Touch 1G
- vagy iPhone 2G
- vagy iPhone 3G
- és természetesen a Nike+ szenzor és vevő
A következő lépés tehát, hogy bontsuk ki a fájlokat. Az eredeti leírásban vfdecrypt-et használtak, de nekem azzal sehogy sem sikerült kibontani a fájlokat, mert mindig hibásak lettek a végén, akár hogy is próbáltam. Így az egyszerűbb megoldásként én a PwnageTool-hoz folyamodtam, hiszen az is kibontja a firmware-t a custom firmware létrehozásakor.
Ehhez válasszuk az Expert módot, majd az iPod Touch-ot, válasszuk ki a firmware fájlt, zongorázzuk végig az opciókat, majd indítsuk el. Amint a jelszavunkat kéri, már meg is találhatjuk a fájlokat a /tmp/SUNorthstarTwo7E18.N72OS mappában.
A következő fájlokat és mappákat másoljuk ki:
/Applications/Nike.app (teljes mappa)
/System/Library/PreferenceBundles/VictoriaSettings.bundle (teljes mappa)
/System/Library/PrivateFramworks/SportsTrainer.framework (teljes mappa)
/System/Library/PrivateFrameworks/IAP.framework/Voices (teljes mappa)
/System/Library/PrivateFrameworks/IAP.framework/Templates (teljes mappa)
/System/Library/PrivateFrameworks/IAP.framework/IAP (csak a fájl)
/System/Library/SpringBoardPlugins/NikeLockScreen.bundle (teljes mappa)
Ezek után másoljuk fel az előbbi fájlokat a patch-elni szándékozott eszközre ugyan ezekre a helyekre.
Ezzel természetesen még nem értünk a végére, hiszen a telefont még rá kell venni, hogy használja is a bedugott vevőt, és eleve támogassa is a Nike+ funkciót. Ehhez módosítanunk kell további két rendszerfájlt. Az első az iPhone esetén az M68AP.plist, vagy a Touch esetén az N45AP.plist.
Ezt a /System/Library/CoreServices/SpringBoard.app alatt találjuk. Másoljuk le a készülékről, majd nyissuk meg a plist-editorral, és a Capabilities alatt adjuk hozzá a „nike-ipod” kulcsot, boolean típussal, true értékkel. Majd görgessünk a fájl vége felé, és keressük meg az IconMatrix alatt az AppStore ikonját, és adjunk hozzá egy új kulcsot ennek mintájára, ahol a displayIdentifier-ként a „com.apple.nike” értéket adjuk meg. Mentsük el a fájlt, majd másoljuk vissza a készülékre. (A biztonság kedvéért előtte készítsük mentést az eredeti fájlról, például úgy, hogy átnevezzük .old-ra.)
A másik módosításra váró fájl a .GlobalPreferences.plist, amit a /private/var/mobile/Library/Preferences/ alatt találunk. Ebben a fájlban szintén hozzá kell adnunk egy új kulcsot, „STSupportA45” névvel, boolean típussal, és true értékkel. Itt is mentsük le a készülékről a fájlt, végezzük el a módosítást, majd másoljuk vissza a készülékre. (Itt is érdemes a fájlról mentést készíteni.)
Ha ezekkel mind megvagyunk, nyissunk egy Terminal-t, és SSH kapcsolaton keresztül csatlakozva az eszközhöz, adjuk ki a következő utasításokat, hogy helyre tegyük a fájlok jogait, és az aláírásukat:
cd /Applications/Nike.appchmod 755 Nikeldid -S Nikecd /System/Library/PreferenceBundles/VictoriaSettings.bundlechmod 755 VictoriaSettingsldid -S VictoriaSettingscd /System/Library/PrivateFrameworks/SportsTrainer.frameworkchmod 755 SportsTrainerldid -S SportsTrainercd /System/Library/PrivateFrameworks/IAP.frameworkchmod 755 IAPldid -S IAPcd /System/Library/SpringBoardPlugins/NikeLockScreen.bundlechmod 755 NikeLockScreenldid -S NikeLockScreencd /System/Library/PrivateFrameworks/IAP.framework/Supportcp iapd iapd.backupchmod 755 iapd.nikeplusldid -S iapd.nikepluscp iapd.nikeplus iapdreboot
1 hozzászólás
Nagy Zoli · 2010.07.27. – 01:33
Szia Peti!
Nem teljesen ide való de ezt találtam kb 5 perce!
„…
Legálissá vált az iPhone feltörése
2010.07.26. 23:42 – Index
Egy törvénymódosításnak hála az Apple iPhone tulajdonosai mostantól nyugodtan feltörhetik [1] az okostelefonjukat. A jailbreak néven ismert rendszertörés alkalmazása után olyan szoftvereket is feltelepíthetnek, amelyek nem érhetők el az Apple hivatalos szoftverboltjában.
Az Apple korábban a szerzőijogi törvényre (Digital Millenium Copyright Act) hivatkozva tiltotta az iPhone törését, ebben ugyanis az állt, hogy a júzerek nem kerülhetik meg a gyártók által kitalált korlátozásokat. Ez sok embert zavart, mert az Apple nem enged be akármilyen programot az App Store nevű szoftverboltba, azaz korlátozta a felhasználók lehetőségeit.
Nem csak az iPhone lett szabadabb rendszer. Az Egyesült Államokban a használt mobilok törése is legálissá vált, így azok felhasználói nyugodtan szolgáltatót válthatnak.
Videojátékot csak azok törhetnek fel, akik biztonsági hibákat keresnek bennük, míg a dvd-ket oktatási célból lehet megszabadítani a másolásvédelemtől.
…”
üdv Zoli