Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Protection des .class

3 réponses
Avatar
Vincent Courcelle
Salut
Les .class contiennent du bytecode, donc on pourrait immaginer que si
l'on veut distribuer une appli java en non open source, il suffit de
distribuer ces .class
Seulement en quelques secondes avec ça
http://members.fortunecity.com/neshkov/dj.html suffisent à récupérer le
code source de la classe, avec un résultat vraiment bluffant (noms de
variables, indentation, ... mais pas commentaires bien sûr).
Y-a-t'il un moyen de faire une distribution réellement protégée ?
merci :)

--
Vincent Courcelle
http://www.tubededentifrice.com et http://www.france-jeunes.net

3 réponses

Avatar
Hervé AGNOUX
Vincent Courcelle wrote:

Salut
Les .class contiennent du bytecode, donc on pourrait immaginer que si
l'on veut distribuer une appli java en non open source, il suffit de
distribuer ces .class
Seulement en quelques secondes avec ça
http://members.fortunecity.com/neshkov/dj.html suffisent à récupérer le
code source de la classe, avec un résultat vraiment bluffant (noms de
variables, indentation, ... mais pas commentaires bien sûr).
Y-a-t'il un moyen de faire une distribution réellement protégée ?
merci :)



Il faut chercher à partir du mot clef "obfuscation", ou "obfuscator", bref
"obfusca*".

Par exemple :

http://www.java-channel.org/query.jsp?cids=c_2199

Cordialement.

--
Hervé AGNOUX
http://www.diaam-informatique.com

Avatar
O.L.
Vincent Courcelle a émis l'idée suivante :
Salut
Les .class contiennent du bytecode, donc on pourrait immaginer que si l'on
veut distribuer une appli java en non open source, il suffit de distribuer
ces .class
Seulement en quelques secondes avec ça
http://members.fortunecity.com/neshkov/dj.html suffisent à récupérer le code
source de la classe, avec un résultat vraiment bluffant (noms de variables,
indentation, ... mais pas commentaires bien sûr).
Y-a-t'il un moyen de faire une distribution réellement protégée ?
merci :)


Tu devrais essayer d'écrire très très mal ton appli pour que personne
n'y comprenne rien ! :-D
C'est une méthode peu coûteuse en plus ! Si tu veux je pourrais t'aider
.... Mdr :)

Bon, OK, je sors ...

Olivier

--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com

Avatar
Danyel Reynaud-Plantey
Seulement en quelques secondes avec ça
http://members.fortunecity.com/neshkov/dj.html suffisent à récupérer le
code source de la classe, avec un résultat vraiment bluffant (noms de
variables, indentation, ... mais pas commentaires bien sûr).


juste un petit bémol sur les décompilateurs java. Ils font en général du bon
boulot sur du code non protégé, mais ils sont relativement faciles à
tromper. En effet, ils se basent sur le bytecode pour produire du code
source java alors qu'il n'y a pas de lien direct entre les deux. Il est même
assez simple de produire du bytecode qui ne correspond à aucun code source
java. Quel est le comportement du décompilateur dans ce genre de cas ?
Indéfini. Certains plantent, d'autres affichent un message d'erreur et le
bytecode tel quel, et dans le pire des cas ils affichent un code source
*faux*, en gros ils se trompent. Et cela donne l'impression que la
décompilation a eu lieu sans problème alors qu'on examine du code source qui
ne correspond à rien. Je peux donner des exemples si ça intéresse des gens.


Y-a-t'il un moyen de faire une distribution réellement protégée ?
merci :)


ça dépend contre quoi/qui. Si ce que vous voulez c'est empêcher l'analyse de
votre programme alors non, ce n'est pas possible. Même un programme bien
obfusqué ne peut pas résister à l'analyse d'une portion critique (genre
génération de license ou vérification d'intégrité) par un spécialiste. Par
contre l'obfuscation peut rendre ce processus tellement pénible que ton prog
ne vaut plus la peine d'être analysé.

De manière générale on peut dire que l'obfuscation permet d'éviter que l'on
copie tout votre boulot, mais ça n'empêchera pas la sortie de cracks en tout
genre.

Exemple : quand on produit une applet on n'a pas envie que n'importe qui la
copie et la mette sur son site, donc on rajoute un test pour voir si
l'applet a bien été téléchargé depuis notre serveur. Ensuite on obfusque le
tout et on le diffuse tel quel. Il ne faut pas espérer que ce genre de
protection va durer très longtemps. Par contre l'algorithme super secret
contenu dans notre applet sera beaucoup plus long à analyser.

J'espère que ca répond à votre question.

Cordialement,
Daniel Reynaud-Plantey