OVH Cloud OVH Cloud

Rendre le code d'une applet indéchiffrable ?

10 réponses
Avatar
Debug
Bonsoir !

Un ami m'a dit qu'il existait des utilitaires capables de "crypter" le code
d'une applet, de manière à ce que personne ne puisse comprendre son contenu
même si le fichier ".class" est décompilé...

Je compte diffuser une applet bientôt sur mon site Web, mais je ne voudrais
pas que quelqu'un récupèrer le ".class" et puisse ensuite voir le code en
clair... pourriez-vous m'éclairer sur le sujet ?

(Pour info, je bosse en version 1.1 de Java)

Merci d'avance !

Debug ;-)

10 réponses

Avatar
Richard Delorme
Bonsoir !

Un ami m'a dit qu'il existait des utilitaires capables de "crypter" le code
d'une applet, de manière à ce que personne ne puisse comprendre son contenu
même si le fichier ".class" est décompilé...

Je compte diffuser une applet bientôt sur mon site Web, mais je ne voudrais
pas que quelqu'un récupèrer le ".class" et puisse ensuite voir le code en
clair... pourriez-vous m'éclairer sur le sujet ?

(Pour info, je bosse en version 1.1 de Java)


On peut offusquer le bytecode avec de nombreux utilitaires, par exemple
retroguard :

http://www.retrologic.com/retroguard-main.html

--
Richard

Avatar
Debug
Merci !
Par contre on dirait que le soft ne prend que des ".jar" en entrée... pour
l'instant, je dispose simplement d'un fichier ".class" !
Existe-t-il d'autres softs qui cryptent des fichiers ".class" ??

A++

Debug ;-)


"Richard Delorme" a écrit dans le message de
news:40fc4b92$0$313$


Bonsoir !

Un ami m'a dit qu'il existait des utilitaires capables de "crypter" le
code


d'une applet, de manière à ce que personne ne puisse comprendre son
contenu


même si le fichier ".class" est décompilé...

Je compte diffuser une applet bientôt sur mon site Web, mais je ne
voudrais


pas que quelqu'un récupèrer le ".class" et puisse ensuite voir le code
en


clair... pourriez-vous m'éclairer sur le sujet ?

(Pour info, je bosse en version 1.1 de Java)


On peut offusquer le bytecode avec de nombreux utilitaires, par exemple
retroguard :

http://www.retrologic.com/retroguard-main.html

--
Richard



Avatar
Adobex
Hé hé, je me permets de corriger le terme :D :D :D

C'est "obfusquer" qu'il faut dire et pas offusquer, sinon il va pas être
content le byte code après :)
C'est plus pratique pour les recherches aussi...

"Richard Delorme" a écrit dans le message de
news:40fc4b92$0$313$


Bonsoir !

Un ami m'a dit qu'il existait des utilitaires capables de "crypter" le
code


d'une applet, de manière à ce que personne ne puisse comprendre son
contenu


même si le fichier ".class" est décompilé...

Je compte diffuser une applet bientôt sur mon site Web, mais je ne
voudrais


pas que quelqu'un récupèrer le ".class" et puisse ensuite voir le code
en


clair... pourriez-vous m'éclairer sur le sujet ?

(Pour info, je bosse en version 1.1 de Java)


On peut offusquer le bytecode avec de nombreux utilitaires, par exemple
retroguard :

http://www.retrologic.com/retroguard-main.html

--
Richard



Avatar
Richard Delorme

Merci !
Par contre on dirait que le soft ne prend que des ".jar" en entrée... pour
l'instant, je dispose simplement d'un fichier ".class" !
Existe-t-il d'autres softs qui cryptent des fichiers ".class" ??


Je ne sais pas mais très certainement. Essaye une recherche dans google
avec, pour mot-clés, java bytecode obfuscation.

--
Richard

Avatar
Richard Delorme
Hé hé, je me permets de corriger le terme :D :D :D

C'est "obfusquer" qu'il faut dire et pas offusquer, sinon il va pas être
content le byte code après :)
C'est plus pratique pour les recherches aussi...


NON ! En Français, c'est offusquer, obfusquer est un anglicisme.

Extrait du TLFI à offusquer :
2. Au fig., littér.
a) Masquer quelque chose, atténuer l'éclat de quelque chose, le prestige
de quelqu'un. L'âme offusque le réel (DURRY, Nerval, 1956, p.134).
L'éclat resplendissant du maître saxon [Wagner] offusque ses
successeurs, et, seul, Richard Strauss parvient à rayonner à son tour
(DUMESNIL, Hist. théâtre lyr., 1953, p.168).b) En partic.
[L'obj. désigne une faculté intellectuelle] Priver de clarté, de
perspicacité. Offusquer la raison. J'ai souvent des ténèbres qui
offusquent mon intelligence et je ne vois pas les vérités les plus
simples (MAINE DE BIRAN, Journal, 1821, p.306). Une vague impression de
complicité entre Geneviève et Françoise peu à peu m'offusquait l'esprit
(BOSCO, Mas Théot., 1945, p.91).
[P. méton.] Va travailler mon fils, car j'ai remarqué que le travail te
distrait de tes fantaisies qui t'offusquent et rend le calme à ta raison
troublée par de mauvais songes (NODIER, Fée Miettes, 1831, p.164).
[L'obj. désigne un obj. de connaissance, une recherche] Dès les premiers
mots paraît l'invincible confusion qui offusque tout le débat (BREMOND,
Poés. pure, 1926, p.84). Ce qui est évidence au regard ingénu disparaît
quelquefois aux yeux des connaisseurs par la fixité même et le
raffinement de leurs attentions. Il ne faut alors rien de moins qu'un
homme de génie pour apercevoir quelque vérité essentielle et fort simple
qu'ont offusquée les travaux et l'application d'une quantité de têtes
profondes (VALÉRY, Variété IV, 1938, p.60).

--
Richard

Avatar
JScoobyCed
Il y a deux principaux outils du meme genre qui oFFusquent le code java:
retroguard et proguard. je parle de produit gratuit bien entendu.
Tu dis que tu n'as "qu'un .class". Il est tant d'en faire un .jar alors.
Pour info, un .jar est une archive de .class et autres ressources. Tu as
deux optionspour ca.
1. Version simple pour debutant java (mauvais exemple a suivre): winzip.
Tu zip ton .class dans un fichier zip et tu le renomme en .jar
Ensuite tu utilise l'outil d'offuscation.
2. Version java clean (bon exemple a adapter): utilise l'outil jar.exe
(win) ou jar (linux/unix/solaris). Dans une ligne de commande (en etant
dans le bon repertoire):
jar -cvf monApplet.jar monApplet.class
Cela cree le fichier monApplet.jar
3. Version IDE (Eclipse, JBorland, NetBeans,...): utilises l'outil
d'exportation de ton outil de developement sur ton .class pour creer le .jar

Note: j'ai utilise 'ton .class' mes ca peut etre 'tes .class' s'il y en
a plusieurs.
Maintenant je te conseille de lire :
http://java.sun.com/docs/books/tutorial/jar/index.html
car tu en aura surement besoin au cours de ton parcours Java...

--
JScoobyCed
Avatar
Unknown
Je compte diffuser une applet bientôt sur mon site Web, mais je ne voudrais
pas que quelqu'un récupèrer le ".class" et puisse ensuite voir le code en
clair... pourriez-vous m'éclairer sur le sujet ?


met le en GPL ca rendra service a d'autres

Avatar
clxn
bien bien, autant pour moi :)

Richard Delorme wrote in message news:<40fc547d$0$307$...
Hé hé, je me permets de corriger le terme :D :D :D

C'est "obfusquer" qu'il faut dire et pas offusquer, sinon il va pas être
content le byte code après :)
C'est plus pratique pour les recherches aussi...


NON ! En Français, c'est offusquer, obfusquer est un anglicisme.

Extrait du TLFI à offusquer :
2. Au fig., littér.
a) Masquer quelque chose, atténuer l'éclat de quelque chose, le prestige
de quelqu'un. L'âme offusque le réel (DURRY, Nerval, 1956, p.134).
L'éclat resplendissant du maître saxon [Wagner] offusque ses
successeurs, et, seul, Richard Strauss parvient à rayonner à son tour
(DUMESNIL, Hist. théâtre lyr., 1953, p.168).b) En partic.
[L'obj. désigne une faculté intellectuelle] Priver de clarté, de
perspicacité. Offusquer la raison. J'ai souvent des ténèbres qui
offusquent mon intelligence et je ne vois pas les vérités les plus
simples (MAINE DE BIRAN, Journal, 1821, p.306). Une vague impression de
complicité entre Geneviève et Françoise peu à peu m'offusquait l'esprit
(BOSCO, Mas Théot., 1945, p.91).
[P. méton.] Va travailler mon fils, car j'ai remarqué que le travail te
distrait de tes fantaisies qui t'offusquent et rend le calme à ta raison
troublée par de mauvais songes (NODIER, Fée Miettes, 1831, p.164).
[L'obj. désigne un obj. de connaissance, une recherche] Dès les premiers
mots paraît l'invincible confusion qui offusque tout le débat (BREMOND,
Poés. pure, 1926, p.84). Ce qui est évidence au regard ingénu disparaît
quelquefois aux yeux des connaisseurs par la fixité même et le
raffinement de leurs attentions. Il ne faut alors rien de moins qu'un
homme de génie pour apercevoir quelque vérité essentielle et fort simple
qu'ont offusquée les travaux et l'application d'une quantité de têtes
profondes (VALÉRY, Variété IV, 1938, p.60).



Avatar
François Cheippe
C'est "obfusquer" qu'il faut dire et pas offusquer, sinon il va pas être
content le byte code après :)
C'est plus pratique pour les recherches aussi...


NON ! En Français, c'est offusquer, obfusquer est un anglicisme.


Pour ma part, je préfère le verbe "brouiller" (plus simple et moins
littéraire) et le terme "brouilleur de code", car le mot "offusqueur"
n'existe pas...


Avatar
azubi
Unknown wrote:

Je compte diffuser une applet bientôt sur mon site Web, mais je ne
voudrais pas que quelqu'un récupèrer le ".class" et puisse ensuite voir
le code en clair... pourriez-vous m'éclairer sur le sujet ?


met le en GPL ca rendra service a d'autres


exact !

si la sécurité du système dépend de ce qu'on puisse ou non décompiler la
classe, alors *attention danger*. Les outils pour rendre le code illisible
(ce qu'on appellait les obfuscateurs de code juste avant ce topic) rendent
certe le travail nettement plus difficile, mais pas impossible pour autant!
Donc s'il est nécessaire de vraiment verrouiller le code, il faudrait
plutôt trouver une solution cryptographique (par exemple avec un class
loader spécifique). Si par contre c'est juste pour pas que qu'on te pique
ton code, alors c'est pas très sympa, surtout si c'est pas un code que tu
comptes pas commercialiser... L'idée du web c'est d'abord le partage ! ici
les gens répondent aux questions de manière compétente et *gratuite* !!