Vos utilisateurs doivent être en mesure d'exécuter votre .jar
fichier. Vous ne pouvez donc pas les empêcher de connaître le code exécuté tout en les laissant exécuter votre code. Vous pouvez seulement faire des efforts pour rendre la vie difficile aux stratégies de décompilation et de rétro-ingénierie les plus courantes.
Si vous devez cacher votre code, voici quelques options :
-
.jar
découragent déjà les gens de consulter la source. Regardez dans le .jar et vous ne devriez pas voir la source. .java
(sauf si vous avez spécifiquement choisi de les inclure). Les fichiers .class doivent être inclus et ils peuvent être décompilés en un équivalent lisible par la machine de votre programme, mais il ne sera pas facile à lire ou à comprendre.
-
Réécrivez le programme en C, puis utilisez un programme d'obfuscation sur la source et compilez à partir de celle-ci. C'est à peu près aussi verrouillé et caché que vous pouvez le faire. Toute personne qui regarde votre code verra un charabia complètement incompréhensible pour l'homme et si difficile à modifier pour le rendre compréhensible, il devient beaucoup plus facile d'observer le comportement du programme et d'écrire un nouveau programme qui l'imite.
-
Convertissez votre fichier jar en un fichier .exe pour Windows : Comment puis-je convertir mon programme Java en fichier .exe ?
Option nucléaire :
Si vous avez le code source du vaisseau spatial extraterrestre/du costume de l'homme de fer, et que vous doit cacher ce code à tout prix alors vous devrez supprimer les droits et les libertés de l'utilisateur qui l'utilise tout en utilisant votre programme. Aucun utilisateur ne doit être autorisé à observer ou à comprendre votre programme d'assez près pour avoir une idée de la manière dont il fait ce qu'il fait. Des tiers doivent être impliqués pour rendre aléatoire et obscurcir non seulement le code lui-même, mais aussi la perception de la façon dont l'utilisateur comprend que les tâches sont accomplies. Une personne engagée ou un logiciel malveillant peut surveiller l'utilisation du programme par l'utilisateur et l'électrocuter ou s'autodétruire s'il détecte l'indice qu'il essaie de comprendre ou de construire sur votre code. Le code source doit devenir conscient de lui-même et s'effacer en cas de comportement suspect.
Microsoft et XBox utilisent ce genre de stratégies en supprimant les droits et les libertés des utilisateurs en concevant du matériel et des logiciels qui s'autodétruisent si vous dérangez le vaisseau-mère. Prends cette canette, citoyen. Ne m'obligez pas à vous tazer.