2 votes

Rendre une source Java inexploitable mais toujours lisible par l'homme

Je voudrais donner mes sources Java à un autre développeur Java afin qu'il puisse les étudier alors qu'il ne devrait pas pouvoir les compiler. Je cherche un algorithme simple mais efficace pour rendre mes sources non compilables. J'espère avoir expliqué clairement l'objectif.

Ma première idée était de parcourir toutes mes sources et de mélanger aléatoirement la casse de tous mes noms de méthodes :

private double getAvailableCash() --> private double gEtaVailabLEcASh()

C'est assez simple et pas si facile à refaire, bien que ce ne soit pas impossible. Pouvez-vous me suggérer d'autres façons, de préférence meilleures?

Mise à jour:

Beaucoup d'entre vous ont commenté/demandé la raison pour laquelle quelqu'un voudrait faire cela. Supposons le scénario suivant : vous devez prouver que vous êtes prêt avec une solution de bonne qualité avant que l'autre développeur ne vous paie, mais vous ne lui faites pas confiance pour une bonne raison. Montrer une démo compilée fonctionnelle ne suffit pas car il veut voir la façon dont vous avez travaillé. Si vous lui donniez le code source compilable, il est possible que vous ne receviez pas votre paiement aussi rapidement que si vous ne lui donniez pas le code source.

Quoi qu'il en soit, cela m'a semblé être un problème très intéressant et amusant et j'ai vu de nombreux commentaires et réponses, même pour beaucoup d'entre vous.. :-)

1voto

User1 Points 3826

Créez un fichier PDF à partir du code source. Et désactivez la copie du contenu du document PDF. Peut-être que vous devriez également désactiver l'impression du document.

1voto

emory Points 6319

Utilisez JavaDocs. Cela affichera une belle description lisible par l'homme de votre code qui ne compilera pas.

1voto

Victor Points 2455

Rendez le code source un captcha. Vous savez, imprimez des caractères avec différentes couleurs ou textures, différentes polices, une certaine distorsion, une rotation, ajoutez des lignes aléatoires, du bruit, du flou, etc.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X