Contenu des .ipa visibles ?
Bonjour tout le monde.
Je ne sais pas trop si je suis dans la bonne section. Je m'excuse par avance au modérateur.
J'ai une petite question.
Un ami m'a fait remarqué qu'en modifiant l'extension .ipa en .zip d'une appli téléchargé, on pouvait avoir accès aux différentes ressources (images, icônes, ...).
Il n'y a pas un moyen d'empêcher ça ? Je n'ai pas vraiment envie que des images, que je ne veux pas diffuser en dehors de l'appli, se retrouvent un peu partout.
Travaillant en .net, je sais que l'on peut soit :
Merci d'avance.
Je ne sais pas trop si je suis dans la bonne section. Je m'excuse par avance au modérateur.
J'ai une petite question.
Un ami m'a fait remarqué qu'en modifiant l'extension .ipa en .zip d'une appli téléchargé, on pouvait avoir accès aux différentes ressources (images, icônes, ...).
Il n'y a pas un moyen d'empêcher ça ? Je n'ai pas vraiment envie que des images, que je ne veux pas diffuser en dehors de l'appli, se retrouvent un peu partout.
Travaillant en .net, je sais que l'on peut soit :
- compiler les applis en laissant les ressources visibles (il y aura un .exe et des fichiers à côté)
- compiler les applis ainsi que les ressources (qui deviennent ainsi totalement invisibles puisque que incluses dans le code de l'.exe)
Merci d'avance.
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
C'est pareil sous MacOSX... La seule solution viable que je vois, c'est de crypter les fichiers, et de les décrypter à la volée (par exemple en les chargeant dans un NSData intermédiaire). Mais du coup cela complique fortement le code, car, par exemple, pour une image, plus question de faire un simple [NSImage imageNamed:@image.png]...
Elles sont quand même totalement récupérables sans trop de difficultés...
Images, fichiers sonores, musiques, tout est accessible. C'est pas bien !
Comme zoc, la seule méthode que je vois c'est le cryptage intermédiaire. Ce qui complique la tâche, alourdit le logiciel et fait perdre du temps au chargement des ressources. En gros, c'est comme créer son propre format graphique.
EDIT :
Ou alors altérer les fichiers graphiques de la distribution, et les reconstruire correctement à la première utilisation du logiciel. Un simple XOR sur les premiers octets d'une image devrait gravement nuire à sa lisibilité !
Heu quelque part c'est comme ça de partout... Sous Mac OS X mais sur le reste aussi, tout ce qui est bande son, ressources etc est toujours accessible, après certains utilise des format propriétaire pour éviter les problème mais au final une image reste une image...
Je comprend la peur que ça peut provoquer mais ça a toujours était comme ça.
Pour l'idée de chiffrer les images, personnellement ce que je ferais c'est des fichier avec une extension perso et une classe genre [YGEncryptedImage imageWithName:] qui renvois une image à partir des données de la ressource en question et en appliquant une simple opération style ROT13 ou XOR et en oubliant surtout pas de créer un dossier de cache pour tout ça, sinon bonjour la baisse de perf...
J'ai juste un peu peur que le léger gain en "sécurité" ne vaut pas la probable perte de performance à l'exécution. Je vais essayer pour voir. Si l'exécution n'en souffre pas alors je garderais cette méthode pour toutes les applis à venir.
J'aime bien partager, mais certaines images sont gracieusement prêtées par "l'ami à l'origine de ce topic" et je m'en voudrait de laisser filer ses "affaires" .
En tous cas, merci pour vos réponses. Si vous avez encore des pistes, je suis preneur (et d'autres personnes aussi je pense :P).
:adios!:
EDIT:
Vu le succès des jeux sur iPhone/iTouch, on risque de voir des programmeurs peu scrupuleux utiliser des ressources piratés pour créer des applications. * espère ne pas donner des idées à de futurs criminels *
Je doute que quiconque d'un peu intelligent s'amuse à faire cela, car qui dit publication sur le store dit identification facile (Apple a les coordonnées de tous ses clients publiant sur le store), et donc procès pour violation de copyright (succès assuré).
- Ca a toujours été comme ça, sous Mac le contenu des bundles est visible à quiconque fait un clic droit pour le demander
- Sous PC les ressources sont souvent installées à côté de l'application, genre dans un dossier Data
- Si c'est inclus dans l'appli finale (compilé avec l'appli si on veut) il existe de toute façon des extracteurs puisqu'il suffit d'aller fouiller dans les symboles ou ressources...
Après oui on peut crypter nos images, mais heureusement qu'Apple ne le fait pas de base, sinon je vous laisse imaginer la baisse de perfs, à décrypter à la volée à chaque fois qu'on veut charger une image... d'autant qu'il arrive pour ne pas surcharger la mémoire avec trop de données chargées on décharge certaines images, quitte à les recharger après...
+1
Et puis de toute façon, si c'était crypté de base, il est a peu près certain que des outils seraient rapidement disponibles pour décrypter.