11 votes

Comment fonctionne la GDN des applications iOS, exactement ?

Lorsque j'achète une application dans iTunes sur mon ordinateur Windows, je reçois un fichier *.ipa qui est un paquet d'applications iOS autonome. Je peux parcourir le contenu de ces fichiers IPA avec 7-Zip et même extraire les ressources et d'autres détails, ce qui suggère que ces fichiers IPA ne sont pas du tout cryptés.

Alors, s'ils ne sont pas cryptés, comment fonctionne la GDN ? Qu'est-ce qui m'empêche de copier un fichier IPA sur l'ordinateur de quelqu'un d'autre et d'importer l'IPA dans iTunes, puis de l'installer sur l'appareil de quelqu'un d'autre ?

Par ailleurs, quelqu'un peut-il confirmer que tant que je conserve le fichier IPA, je pourrai l'installer sur mes iDevices (sous le même identifiant Apple, bien sûr) ? Je crains simplement qu'à l'avenir, une application puisse être mise à jour pour supprimer des fonctionnalités ou même être retirée complètement de l'App Store.

15voto

Kyle Trauberman Points 16049

En fait, ça fonctionne plutôt comme du SSL. Lors de la création d'un compte Apple, Apple génère une paire de clés publique/privée pour votre nom d'utilisateur. Elle vous donne ensuite votre clé privée et conserve votre clé publique. (C'est pourquoi, lorsque vous achetez ou restaurez votre iDevice pour la première fois, vous devez l'activer avec votre compte iTunes). Lors de l'activation, il transfère votre clé privée à votre iDevice. En fait, lorsque vous achetez une application (gratuite ou payante), Apple génère un en-tête de 4096 octets qui est crypté avec votre clé publique.

Si vous avez une quelconque compréhension des clés publiques/privées, la clé publique peut crypter pour sa paire privée... Par exemple, j'utiliserais la clé publique d'un serveur pour crypter des données à envoyer au serveur. Le serveur utilise alors sa clé privée pour les décrypter. Lorsqu'il veut renvoyer des données, il utilise ma clé publique pour les crypter et j'utilise ma clé privée pour les décrypter ! Les clés publiques peuvent uniquement crypter des données et ne peuvent pas les décrypter, et vice-versa pour les clés privées.

Lorsque vous téléchargez votre application, elle contient un en-tête crypté avec votre clé publique. Seule votre clé privée peut décrypter l'en-tête intégré à l'application. Ainsi, par exemple, si je copiais un IPA généré pour vous, et que je le plaçais sur mon iDevice (en supposant que vous puissiez l'obtenir là, iTunes refuserait de toute façon de le synchroniser), et que j'essayais ensuite de l'exécuter, il se planterait tout simplement parce que ma clé privée ne serait pas capable de décrypter l'en-tête ! Il est également intéressant de noter que le fichier IPA (un IPA est essentiellement un fichier zip qui a été renommé) n'a pas d'en-tête, si vous jetez un coup d'œil au contenu d'un IPA, vous vous rendrez compte qu'il contient un fichier sans extension, prenez l'application Facebook par exemple, elle aura un fichier nommé 'Facebook'. C'est le binaire de l'application, et c'est le fichier qui contient l'en-tête crypté.

Oui, comme indiqué ci-dessus, vos applications continueront à fonctionner tant que vous vous souviendrez de votre Apple ID, car l'iDevice (et iTunes) ne fait AUCUNE vérification de signature avec iTunes ! Cela signifie que vous pouvez installer des applications supprimées et aussi synchroniser d'anciens IPA sur votre appareil tant qu'ils sont à vous et que vous avez toujours l'IPA indéfiniment !

0voto

Just Points 9

Il suffit de changer l'extension de .ipa a .zip . Si vous utilisez une ancienne version d'iTunes, le fichier IPA sera dans :

C:\user\ ...\music\itunes\mobile applications 

Avez-vous vu ... Accédez à l'utilisateur que vous utilisiez lorsque vous avez téléchargé l'application.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X