Últimamente estuve jugando con Testflight de Apple. Todo funciona bien, puedo subir y probar mi aplicación internamente. Sin embargo, me tropecé con algo curioso mientras lo miraba.
Observé el tráfico generado por la aplicación Testflight y noté que está solicitando a la IPA que instale desde phobos.apple.com. Sin embargo, la respuesta del servidor no parece ser un archivo zip válido / IPA. Cuando descargo el IPA manualmente, no puedo instalarlo ni descomprimirlo. Parece estar corrupto.
En una inspección más detallada, parece que esta IPA es de hecho un archivo zip (existen los encabezados de archivos locales, las entradas del directorio central y el encabezado EOCD, así como la mayoría de los nombres de archivo en texto plano). Sin embargo, muchas cosas no tienen ningún sentido. Por ejemplo, el encabezado EOCD indica que hay 38 entradas de directorio central, pero cuando busco los encabezados de directorio central, solo encuentro 32 apariciones. Además, algunos de los nombres de los archivos están encriptados parcialmente.
A fin de cuentas, parece que algunas partes del archivo zip están codificadas / encriptadas de alguna manera. Al realizar algunos experimentos con diferentes nombres de archivo, pude determinar que los datos binarios parecen estar particionados en bloques de 512 bytes, con los primeros 112 bytes codificados, los datos aparentemente sin sentido y los 400 bytes restantes son simplemente datos normales de texto sin formato / zip.
Todavía no pude determinar cómo exactamente se mezclan los datos, solo que se usa una "clave" diferente para cada bloque. En este momento, sospecho que es algún tipo de mecanismo de protección para evitar instalaciones no autorizadas.
¿Pero por qué Apple lo implementaría de esta manera? ¿Por qué no simplemente cifrar el archivo? ¿Es esto tal vez algún tipo de mecanismo de suma de control integrado?
Si alguien me puede decir más sobre lo que está pasando aquí o puede indicarme algunos recursos que me faltan, realmente me gustaría saber más sobre esto ...