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 :

comment sécuriser ses applications java


Sujet :

Java

  1. #1
    Candidat au Club
    Inscrit en
    Janvier 2008
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 4
    Points : 4
    Points
    4
    Par défaut comment sécuriser ses applications java
    bonjour,
    je souhaite commercialiser une application de gestion, mais comme tout développeur java le connait, on peut récupérer le source .java en décompilant les .class!!
    apres une recherche sur la protection des source java, j'ai appris qu'il y a des logiciels obfuscator comme proguard, mais les gens experts arrivent a décompiler meme si c'est protégé avec ces dits obfuscators, donc ca ne fait que les retarder.
    en creusant encore, j'ai constaté qu'il faut crypter, j'ai essayer qq sources faisant du cryptage, ca fonctionne parfaitement avec n'importe quel fichier, ma question est: si je crypte les fichiers .class ensuite je crée l'exécutable .jar est ce qu'il fonctionnera, et comment la JVM va savoir que c'est crypté et quel est l'algorithme de cryptage utilisé? ou faut il que ces classes soient décryptées avant exécution?
    si vous avez déjà pensé ou essayé ses trucs, je serai très reconnaissante à votre réponse
    merci

  2. #2
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,

    Il faut que les classes soient décryptées avant leurs exécutions. Cela doit surement se faire via un ClassLoader personnalisé...

    Maintenant, je pense que ces experts besogneux au point de récupérer du code offusqué, pourront sans doute réussir à le décrypter...

    a++

  3. #3
    Invité
    Invité(e)
    Par défaut
    Salut,
    Crypter les .class c'est bien, mais comme l'a dit adiGuba, il faut faire ton classLoader, mais un autre problème :
    Il faut décrypter, pour cela il te faut une clef, et ta clef tu vas la stocker comment ? Dans le code ?, donc en clair dans le code, donc on la retrouve facilement en décompilant et donc ca ne sert plus à rien... ou alors tu peux protéger donne la clef à la personne qui achète ton logiciel et il doit la rentrer à chaque démarrage du logiciel, un peu lourd quand même et pis il peut diffuser la clef ensuite...
    Non plus que obfusqué ca devient dur

  4. #4
    Modérateur
    Avatar de nouknouk
    Homme Profil pro
    Inscrit en
    Décembre 2006
    Messages
    1 655
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 655
    Points : 2 161
    Points
    2 161
    Par défaut
    salut,

    ça ne conviendra peut-être pas à ton projet, mais tu peux peut-être compiler ton code source Java en 'vrai' code machine (par opposition au bytecode java), avec un compilateur comme GJC.

    Tu perds alors l'approche 'un seul jar mutli-plateforme', mais rien ne t'empêche de compiler différentes releases pour les différentes plateformes que tu cibles (linux, windows, ...).

    Pour en revenir à l'obfuscation: certes il reste toujours possible de décompiler du code obfusqué (et encore, c'est moins facile que ce que tu penses), mais il ne faut pas tomber dans la paranoïa à mon avis. Autant si ton projet était un système d'accès au SI de l'armée américaine, il y aurait des candidats pour essayer de décompiler tout ça ; autant pour un logiciel de gestion, je ne me ferais pas de soucis à ta place.

    De plus, quand on parle d'un hacker qui décompile du code, ce n'est quasiment jamais pour récupérer le source d'un programme en entier (tâche bien trop gigantesque), mais en règle générale c'est plutôt pour 'adapter' passage (très) précis du code (genre un système de protection, ...). Donc pas d'inquiétude, on ne te piquera pas ton logiciel comme ça

    D'ailleurs, logiquement un logiciel de gestion s'adresse plutôt au milieu professionnel, donc vraisemblablement:

    - des gens qui ne rechigneront pas à payer la licence de peur de se faire tomber dessus par la justice.

    - des gens dont l'informatique n'est pas leur coeur de métier, et qui ont donc une connaissance limitée en matière de développement ... et surtout qui ont probablement plein d'autres choses à faire que de décompiler du code

  5. #5
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par nouknouk Voir le message
    ça ne conviendra peut-être pas à ton projet, mais tu peux peut-être compiler ton code source Java en 'vrai' code machine (par opposition au bytecode java), avec un compilateur comme GJC.
    Le code natif peut également être décompilé !

    Citation Envoyé par nouknouk Voir le message
    Pour en revenir à l'obfuscation: certes il reste toujours possible de décompiler du code obfusqué, mais il ne faut pas tomber dans la paranoïa non plus, à mon avis.
    +1


    De plus dans tous les cas le code décompilé n'est pas strictement identique et souvent il n'est même pas compilable sans adaptation !

    a++

  6. #6
    Candidat au Club
    Inscrit en
    Janvier 2008
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 4
    Points : 4
    Points
    4
    Par défaut compresseur sans décomprésseur!! ça peut aller??
    merci pour vos réponses.
    j'utilise JBuilder, je peux créer avec un .jar et un .exe (pour windows).
    pour l"exécutable .exe , il est possible de le décompresser et donc retrouver les classes!
    ma question est et ce qu'il est possible de trouver un outil compresseur qui fait un exécutable sans qu'il ait de son décomprésseur?
    comme ça je me casserai plus la tete looooooooooooooool

Discussions similaires

  1. Réponses: 3
    Dernier message: 06/07/2009, 09h15
  2. [Debug] Comment débugger une application java qui tourne
    Par GyZmoO dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 19/03/2008, 08h56
  3. Comment packager une application java et un SGBD ?
    Par developper2006 dans le forum Général Java
    Réponses: 7
    Dernier message: 29/06/2007, 15h53
  4. Comment exécuter une application java comme un batch C ?
    Par gillin dans le forum Général Java
    Réponses: 7
    Dernier message: 09/02/2007, 13h59
  5. [AJAX] Comment sécuriser ses scripts serveur
    Par vallica dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 27/10/2006, 13h47

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