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 :

ofusquer un projet maven avec proguard


Sujet :

Java

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2015
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2015
    Messages : 9
    Points : 9
    Points
    9
    Par défaut ofusquer un projet maven avec proguard
    Bonjour,
    En ce moment je travaille sur un projet et on me demande d'ofusquer les source, pour cela j'utilise le plugin proguard 2.0.6 avec maven. j'arrive à ofusquer les sources mais j'ai deux problèmes :
    - je constate que l'ofusquation se fait seulement au niveau des noms des classes, nom méthodes et variables des classes, mais le corps des méthodes restent le même et ne change pas alors que mon but était au départ d'ofusquer les sources de mes méthodes. Je voulais savoir normal si c'était normal que ça ne soit pas ofusquée?
    - je travaille sur un projet maven et j'ai plusieurs modules dedans (donc des dépendances entre eux donnees, services...) et quand je mets la déclaration du plugin dans le pom du parent ça ne marche pas et me dit que le projet ne contient pas de sources, du coup je dois déclarer le plugin dans les pom des modules (et je me dis que si j'ofusque les modules séparemment ça ne marchera pas, car les modules données seront renommées et la couche service ne compilera plus après ) comment je pourrais faire, s'il vous plait?

    Merci d'avance
    Cordialement

  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
    Citation Envoyé par ampere_036 Voir le message
    - je constate que l'ofusquation se fait seulement au niveau des noms des classes, nom méthodes et variables des classes, mais le corps des méthodes restent le même et ne change pas alors que mon but était au départ d'ofusquer les sources de mes méthodes. Je voulais savoir normal si c'était normal que ça ne soit pas ofusquée?
    Un obfuscateur modifie les noms et les indentation, supprime les commentaires et fait en sorte que le code soit cryptique, mais il ne va pas changer ton algo général... Donc oui c'est "normal" que le code reste le même au final ! (encore heureux)


    - je travaille sur un projet maven et j'ai plusieurs modules dedans (donc des dépendances entre eux donnees, services...) et quand je mets la déclaration du plugin dans le pom du parent ça ne marche pas et me dit que le projet ne contient pas de sources, du coup je dois déclarer le plugin dans les pom des modules (et je me dis que si j'ofusque les modules séparemment ça ne marchera pas, car les modules données seront renommées et la couche service ne compilera plus après ) comment je pourrais faire, s'il vous plait?
    Pourquoi tu voudrais obfusquer le nom de tes modules?
    Si tu es réellement sur un projet multi module, j'imagine que ton projet parent ne contient que tes modules, du coup il n'a pas de code source (du coup, rien à obfusquer).
    Et le code fonctionnera quel que soit les packages utilisés tant que les références des artefacts restent corrects : il ne faut pas obfusquer les fichiers pom.xml, c'est ce qui défini ton projet.
    Je ne suis pas mort, j'ai du travail !

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2015
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2015
    Messages : 9
    Points : 9
    Points
    9
    Par défaut
    1- Désolé je me suis mal exprimé, quand je dis ofusquer le code des méthodes, je voulais dire qu'ils ne changeait pas les noms des variables à l'intérieur des méthodes comme ce qu'il fait avec les paramètres classes.
    2- pour le deuxième point, j'ai un module service qui a besoin du module donnée:
    - si j'ofusque le module données les noms des classes seront changés
    - quand je vais appeler le module service ça ne tomber en erreur car la classe "Personne" a été changé par "a"
    - alors que je veux que les référence a la classe Personne dans ma couche service soit remplacé par "a".
    Merci pour votre réponse

  4. #4
    Modérateur
    Avatar de Gugelhupf
    Homme Profil pro
    Analyste Programmeur
    Inscrit en
    Décembre 2011
    Messages
    1 320
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Analyste Programmeur

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1 320
    Points : 3 740
    Points
    3 740
    Billets dans le blog
    12
    Par défaut
    Obfusquer un programme Java (ou autre langage de haut niveau) n'est pas forcément très efficace parce que ces langages sont transformés en langage intermédiaire (c'est réversible), de plus le fait d'avoir l'introspection dans un langage et son code source rend l'obfuscation plus difficile. Un décompilateur suffisamment bien fait pourrait te ressortir le programme comme tu l'a écrit, sans les commentaires et le nom des variables locales remplacés.
    Tu as essayé d'autres obfuscateurs ?
    N'hésitez pas à consulter la FAQ Java, lire les cours et tutoriels Java, et à poser vos questions sur les forums d'entraide Java

    Ma page Developpez | Mon profil Linkedin | Vous souhaitez me contacter ? Contacter Gokan EKINCI

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2015
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2015
    Messages : 9
    Points : 9
    Points
    9
    Par défaut
    non j'ai essayé que proguard qui fonctionnait avec Maven. Vous avez d'autres à me proposer qui fonctionnent avec Maven?
    Merci

Discussions similaires

  1. Réponses: 0
    Dernier message: 01/11/2014, 01h25
  2. Création d'un projet Maven avec Eclipse
    Par pt.forumtech dans le forum Eclipse
    Réponses: 1
    Dernier message: 10/05/2012, 02h20
  3. Compiler un projet Maven avec Maven
    Par michel.di dans le forum Maven
    Réponses: 25
    Dernier message: 07/01/2012, 11h24
  4. Réponses: 7
    Dernier message: 22/07/2011, 15h34
  5. [Hudson] Projet Maven avec modules
    Par Invité dans le forum Intégration Continue
    Réponses: 2
    Dernier message: 02/12/2009, 11h10

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