Perché / come vengono codificati gli IPA di Apple Testflight?

2

Ultimamente stavo giocando con il Testflight di Apple. Funziona tutto bene, posso caricare e testare la mia app internamente. Tuttavia, mi sono imbattuto in qualcosa di curioso mentre lo esaminavo.

Ho esaminato il traffico generato dall'app Testflight e ho notato che sta richiedendo l'installazione di IPA da phobos.apple.com. Tuttavia, la risposta del server non sembra essere un archivio zip / IPA valido. Quando scarico l'IPA manualmente, non posso né installarlo né decomprimerlo. Sembra essere corrotto.

Durante un'ulteriore ispezione sembra che questo IPA sia effettivamente un archivio zip (ci sono le intestazioni dei file locali, le voci della directory centrale e l'intestazione EOCD, così come la maggior parte dei nomi file in testo in chiaro). Molte cose però non hanno alcun senso. Ad esempio, l'intestazione EOCD afferma che ci sono 38 voci della directory centrale, ma durante la ricerca delle intestazioni della directory centrale, trovo solo 32 occorrenze. Inoltre, alcuni nomi di file sono in parte codificati.

Tutto considerato, sembra che alcune parti dell'archivio zip siano in qualche modo codificate / criptate. Eseguendo alcuni esperimenti con nomi di file diversi, sono stato in grado di determinare che i dati binari sembrano essere partizionati in blocchi di 512 byte, con i primi 112 byte codificati, dati apparentemente privi di significato ei restanti 400 byte sono solo normali dati plaintext / zip.

Non ho ancora potuto determinare in che modo esattamente i dati sono criptati, solo che per ogni blocco viene utilizzata una "chiave" diversa. In questo momento, sospetto, si tratta di una sorta di meccanismo di protezione per impedire installazioni non autorizzate.

Ma perché Apple la implementerebbe in questo modo? Perché non criptare semplicemente il file? È forse una sorta di meccanismo di checksum integrato?

Se qualcuno mi può dire di più su cosa sta succedendo qui, o può indicarmi alcune risorse che mi mancano, mi piacerebbe davvero saperne di più su questo ..

    
posta Piet 23.02.2015 - 16:38
fonte

0 risposte

Leggi altre domande sui tag