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

Build Java Discussion :

Cryptage d'un fichier Jar


Sujet :

Build Java

  1. #1
    Nouveau membre du Club
    Femme Profil pro
    etudiant
    Inscrit en
    Mars 2014
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : etudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2014
    Messages : 38
    Points : 33
    Points
    33
    Par défaut Cryptage d'un fichier Jar
    Bonjour,

    je cherche une méthode fiable pour crypter mon fichier jar afin de ne pas pouvoir le dé-compiler.
    j'ai utilisé ProGuard mais il ne l'a pas vraiment crypter seulement il a renommé des classes et j'ai eu même des problèmes dans mon application (des trucs qui n'ont pas marché après le cryptage.

    y a t-il quelqu'un qui peut m'aider?

    merci bien.

  2. #2
    Membre chevronné
    Avatar de eulbobo
    Homme Profil pro
    Développeur Java
    Inscrit en
    Novembre 2003
    Messages
    786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Novembre 2003
    Messages : 786
    Points : 1 993
    Points
    1 993
    Par défaut
    Malheureusement, quand tu fournis un JAR, il faut qu'il puisse s'exécuter donc il faut qu'il soit lisible et utilisable... A moins d'utiliser un ClassLoader maison qui se chargera de pouvoir lire un jar réellement crypté... Ce qui ne fait que déporter le problème...

    Ci-dessous des petits liens

    http://jmdoudoux.developpez.com/cours/developpons/java/
    http://cyberzoide.developpez.com/securite/obfuscation/


    Du coup pour répondre efficacement à ta question, laisse-moi t'en poser une autre : quel but recherches-tu ? Comment en es-tu venu à vouloir protéger ton code d'une décompilation?
    Je ne suis pas mort, j'ai du travail !

  3. #3
    Nouveau membre du Club
    Femme Profil pro
    etudiant
    Inscrit en
    Mars 2014
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : etudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2014
    Messages : 38
    Points : 33
    Points
    33
    Par défaut
    en fait, j'ai développé une application java et j'ai voulu la rendre installable ... du coup j'ai utilisé un logiciel pour ça mais en fouillant dans le dossier d'installation j'ai remarqué que mon fichier jar existe c'est pour cette raison la que je voulais le crypter afin de ne pas pouvoir être décompiler par les utilisateurs.

  4. #4
    Membre chevronné
    Avatar de eulbobo
    Homme Profil pro
    Développeur Java
    Inscrit en
    Novembre 2003
    Messages
    786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Novembre 2003
    Messages : 786
    Points : 1 993
    Points
    1 993
    Par défaut
    A partir du moment où tu fournis le programme il EST décompilable...
    Et tu ne pourras rien faire pour l'empêcher (à part créer ton propre OS... Qui sera lui aussi décompilable...)
    Du moment que quelqu'un a le programme, tu ne peux plus contrôler grand chose à part si tu installes un mouchard... (les DRM, ça te parle?)


    Je repose la question : de quoi veux-tu te protéger? La copie de ton code? L'utilisation à des fins commerciales ?
    Selon ce que tu veux protéger, il existe peut-être d'autres solutions...

    Autre question : pourquoi ne pas mettre ton code sous licence créative commons ? Il y a plein de cas possibles pour protéger son travail !
    http://creativecommons.fr/licences/les-6-licences/


    L'obfuscation ne permet que de compliquer les choses quand on veut lire le code décompilé, le rendre moins lisible... Au risque d'y ajouter des erreurs...
    Je ne suis pas mort, j'ai du travail !

  5. #5
    Nouveau membre du Club
    Femme Profil pro
    etudiant
    Inscrit en
    Mars 2014
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : etudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2014
    Messages : 38
    Points : 33
    Points
    33
    Par défaut
    dans mon programme y'a le mot de passe de la base de données

  6. #6
    Membre chevronné
    Avatar de eulbobo
    Homme Profil pro
    Développeur Java
    Inscrit en
    Novembre 2003
    Messages
    786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Novembre 2003
    Messages : 786
    Points : 1 993
    Points
    1 993
    Par défaut
    Citation Envoyé par sarra02 Voir le message
    dans mon programme y'a le mot de passe de la base de données
    Donc je te confirme que tu as un problème, mais pas un de ceux qui pourrait être résolu par du cryptage.
    Ce dont tu as besoin c'est de revoir ton architecture et de faire en sorte que les gens qui utilisent ton application se connectent à une "interface" (web par exemple), qui ELLE sait comment elle doit accéder à la base de données.

    Bref, tu vas avoir besoin d'un serveur, d'une application côté serveur, et de modifier ton application "client" pour qu'elle ne se connecte plus directement à la base de données.
    Je ne suis pas mort, j'ai du travail !

  7. #7
    Nouveau membre du Club
    Femme Profil pro
    etudiant
    Inscrit en
    Mars 2014
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : etudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2014
    Messages : 38
    Points : 33
    Points
    33
    Par défaut
    j'aimerais bien préciser que mon application c'est pas une application web ... cette application va être installé dans le poste de chaque utilisateur et la base de données est installé dans un serveur j'ai bien peur que l'un des utilisateur puisse décompiler le fichier jar du coup il peut voir le nom d'utilisateur et le mot de passe de la base de données

  8. #8
    Membre chevronné
    Avatar de eulbobo
    Homme Profil pro
    Développeur Java
    Inscrit en
    Novembre 2003
    Messages
    786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Novembre 2003
    Messages : 786
    Points : 1 993
    Points
    1 993
    Par défaut
    Ton appli n'est pas une appli web, soit.

    Cependant, rien ne l'empêche de savoir communiquer avec un serveur sur lequel tu auras créé une application web ! Application web qui te servira d'interface entre tes utilisateurs et ta base de données.


    Utilisateur (ton application sur le poste client) ---> flux de données ---> Interface serveur (application web) ---> connexion base de données (qui est peinard et qui ne peut recevoir de connexion que depuis l'application web = augmentation de la sécurité)

    De cette façon, tu n'as pas à publier d'informations confidentielles dans ton code. En plus ça vaut mieux, imagine que tu changes le mot de passe de ta base de données... Faudrait tout réinstaller sur tous les postes !
    Je ne suis pas mort, j'ai du travail !

Discussions similaires

  1. [Stratégie] Cryptage Fichier JAR
    Par dimitris dans le forum Général Java
    Réponses: 1
    Dernier message: 22/10/2008, 17h05
  2. [Applet][JAR]Charger une applet depuis un fichier jar
    Par CappCorp dans le forum Applets
    Réponses: 8
    Dernier message: 23/11/2004, 13h08
  3. [jar] Comment modifier un fichier jar
    Par newfsch dans le forum JBuilder
    Réponses: 5
    Dernier message: 18/07/2004, 14h25
  4. [Jar]comment creer un fichier JAR?
    Par ed_hunter dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 24/05/2004, 11h44
  5. creation d un fichier jar ou .exe en java
    Par sadjia dans le forum JBuilder
    Réponses: 13
    Dernier message: 13/12/2002, 16h01

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