Riflessioni sulle IPA (applicazioni crackate per iPhone e iPod Touch)

installous

E’ diverso tempo che non mi trovo davanti a queste pagine per scrivere qualcosa di interessante, ma questa sera ho fatto una riflessione che vorrei condividere con voi.

Innanzitutto mi scuso per l’assenza (ma probabilmete presto capirete perchè ultimamente ho meno tempo per scrivere articoli), ma cominciamo subito.

Tutti sapete cos’è un file .IPA immagino, ma per chi non lo sappia ancora questi sono file che permettono di installare applicazioni dell’AppStore crackate.

Niente di particolare, esiste da anni la pirateria, canzoni, programmi per PC, programmi per Mac fino ai dispositivi portatili.

Ma le ipa sono qualcosa di pazzesco, un’applicazione si cracka in pochi minuti e si installa in ancora meno tempo!

Naturalmente ciò è fattibile solo per chi possiede un dispositivo con Jailbreak, ma orami buona parte degli utenti che lo effettuano lo fanno proprio per poter installare appicazioni carckate.

Ma come funziona la crack delle applicazioni?

Viene rimosso il signature dal ipa e poi nel file info.plist viene scritto signeridentity = native application. Infatti un’applicazione senza signerIdentity non potrebbe essere eseguita e quindi viene fatta passare come applicazione nativa (tipo Messaggi o Calendario per intenderci).

Un programmatore quindi riesce a capire se l’applicazione è stata crackata o meno (l’ho fatta molto semplice, in realtà è un pò poù complicata ma i passaggi logici sono questi).

Quindi se l’applicazione è stata crackata necessariamente l’iPhone è Jailbroken.

Ma cosa si può fare con un iPhone jailbroken? Praticamente Tutto!

Quindi dopo aver verificato se l’app è stata crackata il programmatore puo eseguire un metodo che danneggi l’iPhone incriminato, potrebbe semplicemente spegnerlo, cancellare un file, copiare la rubrica, le mail e tutto quello che vuole.

Unico ostacolo potrebbe essere l’AppStore, (e qui vado a deduzioni perchè non so benissimo come funzioni).

La apple comunque non ha il codice sorgente, può solo eseguire l’app, quindi non dovrebbe accorgersi di questi metodi “vendicatori” e approvare l’applicazione.

Cosa ne pensate?

P.S. ho scritto tutto di getto, quindi se c’è qualche errore tecnico vi prego di segnalarmelo nei commenti.

  • http://gioggi2002.wordpress.com gioggi2002

    La Apple non ha il codice sorgente in fase di approvazione? E cosa gli mandi?

  • http://www.danielecampogiani.com Daniele Campogiani

    gioggi2002 ha scritto:

    La Apple non ha il codice sorgente in fase di approvazione? E cosa gli mandi?

    L’eseguibile penso, ti cito:

    “Funzioni semplici, più o meno utili, che sono state rivelate dagli stessi sviluppatori e che gli addetti all’App Store non avevano trovato.”

    da qui: http://www.ispazio.net/20169/google-mobile-app-e-le-funzioni-aggiuntive-nascoste

    (questo è solo un esempio, ne esistono altri, ricordo di un’app che permetteva lo streaming video in 3G tramite un trick, e l’Apple l’aveva approvata, poi successivamente rimossa).

  • Pingback: diggita.it()

  • Pingback: BeYouriPhone vs xSellize | Daniele Campogiani()

  • Pingback: Notizie dai blog su Jailbroken su iPod touch con iPhone OS 4.0 [Video]()

  • luca

    …se la tua app fa qualcosa che “danneggia” i file dell’utente (anche se in questo caso e’ un utete disonesto che ti ha derubato) forse alla apple te la fanno passare, all’inizio, ma poi rischi di venire escluso per sempre dal programma sviluppatore. La cosa migliore e fare un controllo e poi mostrare un avviso in cui si informa che la vostra app non funziona perche’ cracatta, e magari aggiungi lo spauracchio di una evantuale eMail spedita allo sviluppatore con i dati dell’utente (questo potrebbe scoraggiare per un po’ qualche “pirata” meno smaliziato), dopodiche’ fermate la app o la “parcheggiate” ad una schermata nera. Meglio poi non attivare la procedura subito, al primo lancio dell’app, ma attivarla dopo 1 o 2 giorni dal primo lancio, cosi’ che chi ha craccato e distribuito la vs app non se ne accorge subito…

  • Teejay

    Non penso proprio che un’applicazione “standard”, passata al vaglio dell’AppStore, possa usare API non documentate (ad esempio quelle per accedere al file system del dispositivo con privilegi di root).

    Inoltre credo proprio che alla Apple abbiano anche qualche iPhone JB su cui fare le prove :D