IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java Discussion :

Protection contre la copie en java


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite
    Avatar de Gouyon
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    1 137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 137
    Billets dans le blog
    5
    Par défaut Protection contre la copie en java
    Bonjour à tous

    Je suis en train de développer un jeu en java que je compte vendre. Je cherche (peut être mal) depuis un certain temps un moyen d’empêcher la copie du logiciel. L'idée n'est pas d'avoir une protection totale et imparable je suis bien conscient que ça n'existe pas mais disons que je cherche un système qui rend difficile la copie.
    Pour l'instant je cherche surtout une solution Windows ou Mac.

  2. #2
    Membre Expert
    Inscrit en
    Mai 2006
    Messages
    1 364
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 1 364
    Par défaut
    La premiere chose à savoir est qu'il est facile de decompiler un .jar (c'est à dire de prendre un .jar et de retrouver les sources java).
    Pour protéger ton jeu, tu peux deja obfusquer ton code (renommer tes classes pour qu'elle ne veulent rien dire, ...). Pour cela, il existe des logiciels comme proguard:
    http://proguard.sourceforge.net/

    Pour essayer d'avoir une vraie protection, il faut passer par un serveur et/ou du physique (dongle usb, ...). Mais c'est pas forcement simple donc il faut voir quel est l'investissement (en temps et en argent) que tu acceptes pour proteger ton programme. Pour determiner cela, il faut essayer de voir à combien de personnes tu penses pouvoir vendre ton projet et à quel prix (c'est ca qui determine quel effort sera pret à faire quelqu'un pour te hacker).
    Surtout, il ne faut pas perdre de vue que plus tu ajoutes de protections, plus tu embetes tes utilisateurs payants (parce que ca les oblige à avoir une connexion internet si c'est un serveur, parce que ca demande un dongle, ...). Donc, il ne faut pas sur-dimensionner les protections non plus...

  3. #3
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    C'est vrai que c'est une bonne question. Quand on dit "protéger contre la copie" on parle de quelle copie ?

    - S'il s'agit d'empêcher l'utilisateur lambda de donner à son pote une copie du jeu pour qu'ils puissent tous les deux jouer en n'ayant acheté qu'un seul jeu, eh ben... Y a pas grand-chose.
    Si on veut pas y réfléchir par soi-même, je proposerai de faire comme tous les jeux de notre ère du Steam, Battlenet et j'en passe : les jeux fournissent au joueur une "identité" en ligne, qui lui vient soit d'un compte créé soit d'une "licence d'utilisation", et le joueur ne peut pas jouer avant d'avoir connecté son identité en ligne au moins une fois, ainsi que régulièrement. Et la même identité ne peut pas être en ligne depuis deux postes différents, donc impossible pour les deux potes de jouer en même temps. A des moments différents par contre, c'est interdit et mal, mais possible.
    Et précision importante : tout ça, ou en tout cas la majeure partie, il va falloir se le coltiner soi-même, parce que rien n'est prévu pour.

    - S'il s'agit d'empêcher des programmeurs concurrents de reprendre le jeu pour s'en servir à leur sauce et le revendre en leur nom, il y a bien proguard pour que ce soit pas trop facile à comprendre.
    Mais bon, au bout d'un moment le voleur de code il a pas vraiment besoin de savoir comment marche le code, il a juste besoin de le voler pour que ça fasse la même chose. Et un programmeur ça se laisse quand même pas trop impressionner par de la simple offuscation. De par sa conception robuste et élégante, la plate-forme Java est bien trop facile à étudier et à reprendre en pièces détachées pour se protéger contre la reprise. Si ce genre de concepts existent avec des technologies de code natif, c'est simplement parce que les processeurs natifs et leur architecture sont des abominations sans queue ni tête.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Membre émérite
    Avatar de Gouyon
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    1 137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 137
    Billets dans le blog
    5
    Par défaut
    Citation Envoyé par thelvin Voir le message
    C'est vrai que c'est une bonne question. Quand on dit "protéger contre la copie" on parle de quelle copie ?

    - S'il s'agit d'empêcher l'utilisateur lambda de donner à son pote une copie du jeu pour qu'ils puissent tous les deux jouer en n'ayant acheté qu'un seul jeu, eh ben... Y a pas grand-chose.
    Si on veut pas y réfléchir par soi-même, je proposerai de faire comme tous les jeux de notre ère du Steam, Battlenet et j'en passe : les jeux fournissent au joueur une "identité" en ligne, qui lui vient soit d'un compte créé soit d'une "licence d'utilisation", et le joueur ne peut pas jouer avant d'avoir connecté son identité en ligne au moins une fois, ainsi que régulièrement. Et la même identité ne peut pas être en ligne depuis deux postes différents, donc impossible pour les deux potes de jouer en même temps. A des moments différents par contre, c'est interdit et mal, mais possible.
    Et précision importante : tout ça, ou en tout cas la majeure partie, il va falloir se le coltiner soi-même, parce que rien n'est prévu pour.
    C'est surtout de ça dont je veux protéger le jeu. Qu'un joueur qui a acheté le jeu ne le redistribue pas gratuitement à tous ses copains. J'avais bien pensé à un système de licences mais je ne sais pas comment le mettre en place. Je veux éviter la connexion internet à chaque lancement de jeu car le public visé pour ce jeu n'a pas forcément possibilité de ce connecter.

  5. #5
    Membre Expert
    Inscrit en
    Mai 2006
    Messages
    1 364
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 1 364
    Par défaut
    Dans ce cas, il faut que tu definisses un cahier des charges:
    - Est ce que l'utilisateur doit avoir une connexion internet pour utiliser ton jeu ? => A priori non
    - Est ce qu'il est acceptable de demander une connexion internet uniquement à l'installation ?
    - Est ce qu'il est acceptable d'avoir un dongle physique ?
    - Est ce qu'un utilisateur (qui a payé) peut jouer sur plusieurs ordinateurs ? => Si oui, ca devient compliqué de proteger le jeu sans connexion internet
    - Dans le cas ou tu voudrais lier ton jeu à un ordinateur (donc non à la question précédente), comment geres tu le cas d'un utilisateur payant qui change d'ordi ?

    Il faut bien comprendre que les protections que tu vas mettre en oeuvre vont 99,9% du temps embeter tes utilisateurs payants et vont necessiter de ta part du SAV (en plus du developpement des protections en question). Par ailleurs, j'imagine que tu n'es pas microsoft donc la pérennité de ton SAV n'est pas assurée. En ce qui me concerne, il y a tres peu de chances que j'achete un jeu (meme bien fait) si j'ai un doute sur le fait que je pourrais encore l'utiliser si je change d'ordi.

  6. #6
    Membre émérite
    Avatar de Gouyon
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    1 137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 137
    Billets dans le blog
    5
    Par défaut
    Citation Envoyé par hwoarang Voir le message
    - Est ce que l'utilisateur doit avoir une connexion internet pour utiliser ton jeu ? => A priori non
    NON
    Citation Envoyé par hwoarang Voir le message
    - Est ce qu'il est acceptable de demander une connexion internet uniquement à l'installation ?
    OUI
    Citation Envoyé par hwoarang Voir le message
    - Est ce qu'il est acceptable d'avoir un dongle physique ?
    NON
    Citation Envoyé par hwoarang Voir le message
    - Est ce qu'un utilisateur (qui a payé) peut jouer sur plusieurs ordinateurs ? => Si oui, ca devient compliqué de proteger le jeu sans connexion internet
    NON
    Citation Envoyé par hwoarang Voir le message
    - Dans le cas ou tu voudrais lier ton jeu à un ordinateur (donc non à la question précédente), comment geres tu le cas d'un utilisateur payant qui change d'ordi ?
    Il demande une nouvelle licence en fournissant l'ancienne

    Citation Envoyé par hwoarang Voir le message
    Il faut bien comprendre que les protections que tu vas mettre en oeuvre vont 99,9% du temps embeter tes utilisateurs payants et vont necessiter de ta part du SAV (en plus du developpement des protections en question). Par ailleurs, j'imagine que tu n'es pas microsoft donc la pérennité de ton SAV n'est pas assurée. En ce qui me concerne, il y a tres peu de chances que j'achete un jeu (meme bien fait) si j'ai un doute sur le fait que je pourrais encore l'utiliser si je change d'ordi.
    Justement je ne veux pas un truc qui gène les utilisateurs je veux juste une protection qui empêche un acheteur de refiler le jeu à tous ses copains. Quand tu achètes un jeu dans le commerce en général tu peux l'installer sur une machine et tu as souvent la possibilité de le faire sur une nouvelle. Sans que ce soit la croix et la bannière.

Discussions similaires

  1. [XL-2013] Protection contre la copie
    Par jobemon dans le forum Excel
    Réponses: 9
    Dernier message: 03/04/2016, 14h07
  2. Protection des emails contre la copie
    Par slokix dans le forum Exchange Server
    Réponses: 2
    Dernier message: 28/01/2009, 15h40
  3. protection de cd contre la copie
    Par mufassa dans le forum Sécurité
    Réponses: 12
    Dernier message: 28/09/2007, 14h50
  4. Protection contre la copie
    Par abdelghani_k dans le forum Sécurité
    Réponses: 2
    Dernier message: 08/01/2007, 18h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo