
Envoyé par
Obsidian
Non.
Aussi complexe que soit ton algorithme, il sera toujours interprété par ton ordinateur et, de là, rien n'empêche un examinateur humain de faire de même et d'adapter ton programme, si le jeu en vaut la chandelle, pour lui faire faire ce dont il a envie.
Comme le dit prgasp77, le meilleur moyen consiste à chiffrer ses fonctions et à fournir la clé avec la licence. Cette clé peut bien sûr être dupliquée. Certains éditeurs fabriquaient alors des dongles, très difficiles à répliquer, donc, qui se chargeaient de décoder les fonctions tout en gardant secrète la clé privée. Mais là encore, rien n'empêche un utilisateur compétent de récupérer les données décodées en mémoire et de les sauver en lieu sûr.
Pour qu'une protection par chiffrage soit réellement efficace, il faudrait procéder comme avec les certificats racines X.509 utilisés sur le web et ailleurs : une chaîne de sécurité dont la racine est contrôlée par une autorité de confiance. C'est pour cela que les grands éditeurs ont voulu mettre en place TCPA dans les années 2000. On sait ce que ça a donné.
La seule méthode réellement efficace est l'obsolescence : il faut publier suffisamment fréquemment pour qu'un logiciel ou une source de données perde d'elle-même tout intérêt avant que le pirate n'ait eu le temps de percer sa protection. Autant que je sache, c'est que fait Microsoft, par exemple.
Partager