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 :

[Sécurité] Un obfuscateur suffira-t-il ?


Sujet :

Java

  1. #1
    Membre confirmé
    Profil pro
    Consultant informatique
    Inscrit en
    Février 2004
    Messages
    93
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Février 2004
    Messages : 93
    Par défaut [Sécurité] Un obfuscateur suffira-t-il ?
    Bonjour,

    Je compte développer une application mais je me demande si Java est le langage approprié.

    En fait, je dois protéger le programme avec un système d'enregistrement avec une clé.

    Malheureusement, le code est facilement recompilable même avec un obfuscateur (par contre, il est difficilement lisible).

    Cela dit, il suffirait qu'un gars repère les méthodes pour vérifier si la clé entrée est valide pour simplement supprimer le bloc de code et hop, voilà un programme cracké de plus.

    Est-ce qu'il y a un moyen d'échapper à cela ? (j'ai pensé à l'activation en ligne, mais le problème n'est pas changé et il en ouvre un autre : celui de l'identification sur le serveur distant ainsi que l'obligatoir d'avoir internet pour l'utilisateur).

    Si cela est impossible en Java, est-ce que le C++ me permettrait d'avoir du code moins facilement décompilable ? Car désassembler un programme et faire mumuse avec des JUMP et compagnie, c'est déjà un peu plus compliqué que de faire passer une valeur de retour de false à true (pour la vérif. de la clé).

    Voilà voilà :-)
    Merci !!

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Février 2006
    Messages
    238
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 238
    Par défaut
    Salut,

    Dans mon entreprise on développe un logiciel en Java qui est vendu avec une licence.
    La seule sécurité étant l'obfuscation du code.
    Je peux te dire que lorsque tu as plusieurs milliers de classes 'a', 'b', 'c' dans plusieurs centaines de packages 'a', 'b', 'c'....trouver la méthode 'a' qui te renvoi si la clé est valide ou non c'est du travail de pro lol.
    Surtout que l'obfuscateur utilisé est payant et donc ne renomme pas tout simplement par a, b, c (en fait ce son des noms beaucoup plus complexes) mais il insère de nombreuses autres lignes de codes (qui n'interfère pas sur le déroulement du programme).

    Voila après il faut voir si sa te suffit comme sécurité.

    a+

  3. #3
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Mouaip, mais au final, si quelqu'un veut vraiment cracker ton soft il le fera tout de même, donc l'obsfucation sert à protéger du tout venant, ce qui est pour ma part amplement suffisant.

  4. #4
    Membre confirmé
    Profil pro
    Consultant informatique
    Inscrit en
    Février 2004
    Messages
    93
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Février 2004
    Messages : 93
    Par défaut
    Merci pour vos réponses !

    Java, c'est pour deux motifs :

    - c'est le langage que je maitrise le mieux (et que j'apprécie beaucoup !)
    - c'est facilement multi-plateformes

    J'ai bien réfléchi et je me dis que la distribution de mon logiciel ne se fera sûrement pas telle qu'il soit victime de pirates fortement expérimentés (mais mon logiciel sera confronté à des gens qui, parfois, ont des compétences moyennes en informatique). De là à diffuser une version pirate et à ce qu'elle soit téléchargée...

    Après, je peux toujours m'amuser avec C++ et une lib graphique (wxWidgets, ...) multi-plateforme mais je me demande si je gagne en protection de code ?
    Que pensez-vous de cette question précise ?

  5. #5
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Le mieux serait de parcourrir ce qui a pu être dit dans le débat suivant:

    http://www.developpez.net/forums/showthread.php?t=2242


    Et de se dire que de grands éditeurs ne font pas plus que de l'obsfucation (genre Business Object, IBM) et qu'au final il n'y a pas de recette magique (le plus dur pour les pirates ayant d'avoir à faire à un classloader permettant de charger de classes encryptées avec du DES par exemple, mais même si les classes ne sont pas directement décompilables, le classloader lui l'est, et donc le pirate pourra trouver la clef permettant par la suite de décompiler les classes).

    Sinon une autre solution est de fournir un dongle usb sans lequel le programme ne fonctionne pas, mais par contre il faut vérifier que ça marche en java (je crois qu'il en existe certains spécifiques pour java)

    ++

  6. #6
    Membre confirmé
    Profil pro
    Consultant informatique
    Inscrit en
    Février 2004
    Messages
    93
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Février 2004
    Messages : 93
    Par défaut
    J'ai pourtant effectué une recherche (et j'en ai lu pas mal) mais ce sujet me semble intéressant donc je m'en vais le lire dans son entièreté !
    Merci pour le lien !

    Mon logiciel n'a vraiment pas besoin de protections coûteuses...la dongle USB, c'est vraiment un moyen extrême (et encore, si on peut accéder aux sources et qu'on décrypte tout et qu'on reconstruit les classes, qu'on les décompiles, on peut éviter la vérification du dongle USB, non ? ).

    La méthode des watermarks a l'air intéressante mais ça doit être fastidieux pour pas grand chose...

Discussions similaires

  1. La Sécurité dans Access
    Par Maxence HUBICHE dans le forum Sondages et Débats
    Réponses: 81
    Dernier message: 24/06/2007, 01h07
  2. [Sécurité] Roles
    Par Mister Nono dans le forum Débuter
    Réponses: 4
    Dernier message: 06/12/2003, 11h55
  3. probleme de sécurité
    Par maxmj dans le forum ASP
    Réponses: 2
    Dernier message: 10/11/2003, 20h44
  4. [TomCat][sécurité]config fichier web.xml
    Par liomac dans le forum Tomcat et TomEE
    Réponses: 6
    Dernier message: 24/09/2003, 15h46
  5. Pb de sécurité
    Par xtrips dans le forum Débuter
    Réponses: 6
    Dernier message: 16/04/2003, 07h50

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