Contenu des .ipa visibles ?

ceburoceburo Membre
12:56 modifié dans API UIKit #1
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 :
  • 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.

Réponses

  • allianallian Membre
    12:56 modifié #2
    Je suis pas spécialiste mais d'après ce que j'avais dans d'autres post, on peut oui rendre la tache de récupération du contenu du paquet plus difficile mais ceci te prendra du temps, donc il faut te poser la question : est ce que mes ressources sont autant importantes que le temps que je vais passer à  coder des protections ?
  • zoczoc Membre
    12:56 modifié #3
    dans 1249462396:
    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, ...).


    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]...
  • zoczoc Membre
    12:56 modifié #4
    dans 1249462396:
    compiler les applis ainsi que les ressources (qui deviennent ainsi totalement invisibles puisque que incluses dans le code de l'.exe)

    Elles sont quand même totalement récupérables sans trop de difficultés...
  • DrakenDraken Membre
    août 2009 modifié #5
    Mazette, c'est impressionnant ce problème. Je viens de tester avec les fichiers .ipa de quelques jeux. J'ai pus lire les fichiers graphiques dans 50% des cas. Apple s'est bien planté, là . Bêtement, je pensais que les fichiers de distribution des applications étaient crypté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é !



  • yoannyoann Membre
    12:56 modifié #6
    dans 1249473541:

    Mazette, c'est impressionnant ce problème. Je viens de tester avec les fichiers .ipa de quelques jeux. J'ai pus lire les fichiers graphiques dans 50% des cas. Apple s'est bien planté, là . Bêtement, je pensais que les fichiers de distribution des applications étaient crypté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...
  • DrakenDraken Membre
    12:56 modifié #7
    Oh je sais bien que le problème existe partout. Je m'y suis déjà  collé sur Pc, et avant sur Atari ST. C'est juste que je pensais qu'Apple avait sécurisé sa chaà®ne de distribution d'applications, et utilisé un format propriétaire pour coder les représentations intermédiaires, plutôt qu'un simple Zip, lisible par n'importe quel ordinateur. La pomme aime tellement la sécurité à  tous les niveaux, qu'une faille comme celle-ci est inattendue, enfin pour moi.




  • ceburoceburo Membre
    12:56 modifié #8
    En fait j'étais moi aussi parti sur l'idée de passer par une extension personnalisée, mais sans pour autant aller jusqu'à  opérer un petit XOR dessus les données. mais pourquoi pas.

    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!:
  • apocaalypsoapocaalypso Membre
    12:56 modifié #9
    Peut-être, mais on ne peut pas parler de "faille", c'est le système qui veut ça. Et ton application, y compris son contenu, est censé être protégée (copyright).
  • DrakenDraken Membre
    12:56 modifié #10
    Le système est mal conçu, c'est tout. Et la protection par copyright n'a jamais empêché un pirate du dimanche de récupérer les ressources d'une application, et les mettre sur Internet.

  • apocaalypsoapocaalypso Membre
    12:56 modifié #11
    Même, il n'y a pas d'intérêt à  publier seulement les ressources d'une application mais elle oui. Et une fois qu'on a celle-ci, on peut la publiée aussi.
  • DrakenDraken Membre
    août 2009 modifié #12
    Détrompe-toi, le piratage et la publication des ressources graphiques/sonores sont très répandus dans les communautés amateurs de création de jeux vidéo. Il existe des centaines des sites publiant des images, des sprites, des polices de caractères, des animations, des musiques, des fichiers sonores, tous venant de logiciels commerciaux.

    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 *




  • apocaalypsoapocaalypso Membre
    12:56 modifié #13
    Oui c'est sûr, dans ce cas, à  part le cryptage...
  • ceburoceburo Membre
    12:56 modifié #14
    En même temps, je vous demande ça, vu le succès de ma seule appli (12 downloads), je risque peu d'être piraté, mais je me posais vraiment la question, et ça pourra peut-être servir à  d'autres.  8--)
  • zoczoc Membre
    12:56 modifié #15
    dans 1249489023:

    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.

    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é).
  • DrakenDraken Membre
    12:56 modifié #16
    Peut être bien, en tout cas c'est déjà  arrivé sur Pc.


  • Philippe49Philippe49 Membre
    12:56 modifié #17
    Notre société est conçue ainsi : personne ne vous empêche de trucider votre voisin ! seules les menaces des conséquences des exactions existent. Pour la propriété, c'est pareil. Donc si vous voulez protéger votre production, il faut passer par les voies prévues pour cela, et le préciser. Un post
  • AliGatorAliGator Membre, Modérateur
    12:56 modifié #18
    Je vois pas ce qui vous choque dans le fait que les ressources soient accessibles :
    - 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...
  • zoczoc Membre
    12:56 modifié #19
    dans 1249509458:
    heureusement qu'Apple ne le fait pas de base


    +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.
Connectez-vous ou Inscrivez-vous pour répondre.