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 :

fichier jar - empêcher décompression ?


Sujet :

Java

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 60
    Par défaut fichier jar - empêcher décompression ?
    Bonjour,

    Est-il possible d'empêcher la décompression d'un fichier jar ou au moins d'empêcher l'accès à certains fichiers qui sont dans celui-ci ?

    Si cela n'est pas possible, y'a-t-il une solution pour générer un autre fichier que jar pour pouvoir exécuter mon programme ?

    Merci pour les précisions

  2. #2
    Membre éclairé
    Inscrit en
    Mars 2008
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 70
    Par défaut
    pour protéger les .class voir ce sujet : http://www.developpez.net/forums/d45...r-jar-s-curis/

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 60
    Par défaut
    Ok merci, mais ce ne sont pas forcément des .class que je veux protéger mais des dossiers contenant des fichiers de config. Mais je vais regarder ton lien, ça peut m'être utile.

  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 : 45
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 655
    Par défaut
    ça sent les logins/password enregistrés directement dans le fichier de config

    D'une façon générale, il n'y a pas de solution miracle: toutes les techniques que tu mettras en oeuvre dans le code ton application pourront éventuellement ralentir (un peu) le crackage de ta protection, mais en aucun cas le protéger définitivement.
    En effet, si ton application est capable de décoder toute seule ton fichier de config, rien n'empêche à une personne tierce d'insepcter ton code (obfusqué ou pas) pour isoler la partie qui s'occupe du décryptage et la réutiliser.

    Dans ce genre de cas, il faut utiliser une autre approche: ce n'est pas à ton appli d'avoir les accès à ta ressource protégée, mais à la ressource protégée de filtrer les accès en partant du principe qu'elle ne doit jamais faire confiance à priori à son interlocuteur (ici ton appli).

    Exemple concret: tu fais un petit jeu qui doit être capable d'enregistrer ton high score sur la BdD de ton site web qui s'occupe ensuite de les afficher.

    1- la pire des méthodes est de stocker dans ton appli le login/pass de ta BdD pour que le programme aille directement ajouter une ligne à ta table de high-scores.

    2- la bonne méthode serait de faire que ton appli poste ton high score via une bête requête HTTP vers ton serveur. Ton serveur s'occupe alors de traiter la demande, vérifier qu'elle n'est pas farfelue et enfin faire l'ajout dans la BdD. Le login/pass de ta BdD restant alors confidentiel car stocké en interne sur ton serveur.

    Bon, après je me trompe peut-être sur ce que tu cherches à faire. Le mieux serait que tu nous en dise un peu plus.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 60
    Par défaut
    oui en effet c'est exactement ce que tu as dit sauf que ce sont juste des données pour un quiz; en effet je stocke les réponses de mes questions dans un fichier et je veux pas qu'on puisse y accéder. Je ne fais donc pas d'accès à un serveur mais uniquement sur des fichiers texte contenus dans le jar. J'avoue que je sèche un peu sur ce coup là à moins de crypter mes fichiers (même si quelqu'un qui décompile mes .class peut retrouver ma méthode de cryptage).

  6. #6
    Membre extrêmement actif
    Profil pro
    Développeur Java Indépendant
    Inscrit en
    Mai 2007
    Messages
    1 333
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Java Indépendant

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 333
    Par défaut
    Bonjour,

    Tu peux crypter ton fichier ET obfusquer ton code

    Bon courage :p

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 60
    Par défaut
    oui j'y ai pensé, mais je pensais qu'il y avait une autre solution. C'est bizarre car c'est le genre de trucs (protéger des fichiers) qui peut être grandement utile pour pas mal d'applis je pense

  8. #8
    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 : 45
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 655
    Par défaut
    Citation Envoyé par Herve-Loiret Voir le message
    Tu peux crypter ton fichier ET obfusquer ton code
    Comme dit précédemment, ça ne changera quasiment rien à l'affaire. Ca ralentira au mieux le cracker quelques minutes de plus.


    Citation Envoyé par docky Voir le message
    je stocke les réponses de mes questions dans un fichier et je veux pas qu'on puisse y accéder.
    Et pourquoi ne pas faire une page PHP toute conne chez un hébergeur web gratuit ?

    Le principe: ton appli ne stocke pas les réponses. Quand elle a besoin de savoir, elle envoie la proposition tapée par le joueur de ton appli au serveur qui lui répond simplement "c'est juste" ou "c'est faux".

    Le désavantage: ton appli a besoin d'une connexion web pour tourner.

    L'avantage: aucun moyen pour un utilisateur de connaître les réponses sans réussir à pirater ton hébergeur (bonne chance !) ou ... jouer et trouver les bonnes réponses .

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 60
    Par défaut
    Oui en effet cette solution est tout à fait convenable. Je voulais juste éviter un accès Internet mais comme tu le dis cela semble presque impossible à protéger sans ça.

    Merci pour les réponses

  10. #10
    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 : 45
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 655
    Par défaut
    Après faut voir si la protection vaut vraiment le coup.

    1/ Si le jeu est un simple jeu 'casual' que chacun peut télécharger pour s'amuser en local 5 minutes, il n'y a aucun intérêt à vouloir cracker les réponses si ce n'est pour se pourrir soi-même l'intérêt de jouer au jeu.

    2/ Si le jeu est un jeu "concours" où les gens vont poster leur high-score et/ou avec des récompenses à la clef, là il faut absolument blinder ta protection.

  11. #11
    Membre extrêmement actif
    Profil pro
    Développeur Java Indépendant
    Inscrit en
    Mai 2007
    Messages
    1 333
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Java Indépendant

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 333
    Par défaut
    Je vais peut-être dire une bêtise, mais plutôt que d'aller accéder aux questions en décryptant un fichier sur le disque dur, est-il sécurisé de ne pas décrypté les réponses, mais de comparer la réponse crypté du fichier avec la réponse crypté donnée par le joueur ?
    (à la façon des passwords MD5 en php).

  12. #12
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 60
    Par défaut
    pas con ! la question est de savoir si en java on peut crypter façon md5 (si oui ça oblige de toute façon au préalable de crypter toutes les réponses).
    Mais sinon c'est juste un quiz comme ça donc c'est pas trop grave mais c'était aussi pour ma culture personnellle

  13. #13
    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 : 45
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 655
    Par défaut
    Effectivement, c'est une excellente solution intermédiaire

    Le seul désavantage que j'y vois, c'est que ça oblige

    1- soit à ce que la réponse soit donnée au caractère près (un accent ou un 's' de trop et le hash devient invalide)

    2- soit à tester l'ensemble des 'petites' variations possibles de la réposne donnée (ajouter/supprimer un 's', les fautes d'orthographes courantes, ...) calculer pour chacune leur hash et les comparer une à une avec le hash de référence.

    Citation Envoyé par docky Voir le message
    la question est de savoir si en java on peut crypter façon md5
    oui

Discussions similaires

  1. [JAR][POLICE] Utiliser une police ttf dans un fichier jar
    Par Doc.Fusion dans le forum Général Java
    Réponses: 3
    Dernier message: 26/01/2005, 12h23
  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