Logiciels    Wiki     Programmation     Electronique     Projets     Auteur 
Retour : Accueil > Programmation > Conseils

Elements de contre-piratage logiciel

Je n'expliquerai pas dans cet article la manière de cracker un shareware, mais tout bon sharewareur se doit d'être un minimum au fait des techniques de piratage s'il ne veut pas faire de ses sharewares une proie facile des crackeurs. Je ne ferai que "dénoncer" leurs méthodes, et donner quelques conseils afin de leur rendre la tâche la plus difficile possible, sans pour autant donner de solutions toutes faites, pour des raisons évidentes de sécurité vis à vis de mes propres sharewares ...

Les différents types de cracks

Les outils du crackeur

Le principal outil du crackeur est l'éditeur hexadécimal, qui lui permet d'observer votre logiciel et son code en langage machine, ainsi que de le modifier (patching) pour faire sauter vos protections ...
Il peut aussi utiliser un désassembleur qui lui fournit le code assembleur de votre shareware et lui permet de comprendre son fonctionnement plus facilement qu'avec l'éditeur hexa, en reprendre une partie du code (keygening) et peut même exécuter votre logiciel en pas à pas en scannant la mémoire à la recherche de la vraie clé qui trainerait dans une variable ...

Autant dire qu'il est difficile de leur résister ... mais on peut avec quelques astuces simples leur compliquer sérieusement la tâche.

Conseils

La première chose que l'on est tenté de faire pour vérifier la validité du nom et de la clé entrés par l'utilisateur, est du type :

if (cle1 != cle2) ShowMessage("mauvaise cle");

Deux erreurs ici. Dans tous les cas de patching, votre exécutable est modifié. Il pourrait donc être intéressant d'essayer de détecter ces modifications (toujours à vous de vous creuser la cervelle).

Quant au keygening il faut essayer d'empêcher le crackeur de retrouver votre algorithme de calcul de clé, par exemple en éparpillant au maximum le code, en brouillant les pistes et en essayant de ne pas calculer explicitement la clé correspondant au nom pour vérifier si elle est correcte . Ce dernier élément est également valable contre les serial (ou reg), il faut essayer de ne stocker à aucun moment la clé correspondant au nom dans une variable (ou au moins pas sous sa forme utilisable) .
En dernier recours contre les serial, il est possible de rajouter un paramètre au calcul de la clé avec le nom, généré aléatoirement à l'installation ou en fonction des composants de l'ordinateur, mais se posent alors des problèmes pour l'utilisateur qui a payé le logiciel et qui a une clé qui ne fonctionne plus parce qu'il a formaté son disque dur ou changé de PC ...

Conclusion

En essayant d'appliquer ces quelques conseils votre shareware pourra déjà résister à quelques crackeurs. Mais il faut bien vous dire qu'AUCUN logiciel n'est incrackable, le tout étant d'essayer de dissimuler au maximum votre méthode de protection. Le meilleur moyen est d'observer votre code en vous demandant ce qu'il pourrait être facile de supprimer ou modifier afin de faire sauter votre protection, ou même essayer de le cracker vous-même, même si vous y parviendrez toujours puisque vous connaissez votre code ... (vous pouvez utiliser l'éditeur hexa CR-Hexact)



Retour : Accueil > Programmation > Conseils > [haut]
 Logiciels    Wiki     Programmation     Electronique     Projets     Auteur 


Vie privée