Club Francophone des développeurs Visual Basic


  Vb-French  Vb-English  Autres langages
               Rajoutez votre site

 

Protection de nos réalisations sous Visual Basic
Annexe au Tutoriel22

Samedi 25 octobre 2003

Gilmir Langlade informatique     

Tutoriel 22a  Sommaire

A titre pédagogique et dans l'espoir que ce petit exposé vous permette de mener à bien cette réalisation.
Tiré d'un courrier reçu d'un correspondant domicilié en Suisse
Je cite :
J'ai lu avec intérêt votre description du code à réaliser pour la mise en place d'un numéro de série pour la protection d'une application.
J'ai compris comment récupérer les données de la machine de mon client. J'ai compris comment réaliser ce numéro de série.
Ce que je désire savoir, c'est comment je vais fournir ce numéro de série à mon client, comment il va l'entrer une fois l'application s'installant sur son poste et surtout comment l'application installée chez mon client fera référence à ce numéro. Je pense qu'il sera installé dans la base de registre? Et comment faire?
Si vous pouviez répondre à mes questions ça me serait très utile.
Merci beaucoup.
Jean-René Crudo (Suisse)

Voici ma réponse
J'essaye d'être le plus clair possible dans mes explications,  mais...ou  serait la satisfaction personnelle de l'étudiant si je faisais le travail à sa place ?
Quoi que, les explications que je donne doivent vous permettre de terminer l'application dans son entière conception.
Je crois que votre question appelle une réponse toute simple, aussi je vais faire un effort aujourd'hui pour essayer de vous éclairer
Votre client qui souhaite obtenir une licence va vous contacter via Internet car tout simplement dans votre fichier "About" vous avez inséré votre adresse E-mail !
Vous lui aurez expliqué dans une fenêtre de messagerie que pour obtenir une licence il faut payer un droit et que ce droit lui donne la possibilité de débrider l'application en sa possession.
Il doit donc vous communiquer le numéro de série généré par votre programme et qui contient les informations souhaitées, à savoir :
Le nom de l'ordinateur ainsi qu éventuellement si vous l'avez programmé, le nom de l'utilisateur.
J'explique dans mon exposé qu'il faut construire un programme générateur de code qui va générer à partir du code reçu un nouveau code qui aura pour finalité d' être identique à celui reçu.
Je m'explique :
Essayons de différencier pour notre gouverne les différents codes
Nous appellerons code client tout code qui peut être vu par le client et code machine tout code caché généré par le système que nous avons réalisé.
Je vous rappelle que dans l'exposé vous visualisez un écorché de la feuille qui normalement ne laisse pas paraître la configuration du système.

Dans le cliché de l'exposé du Tutoriel vous pouvez constater que le code généré (SérialNumber1) qui est un code serveur  issu de la machine du client à partir de votre programme que j'ai intitulé NumberCode1 est identique au  second code client SerialNumber2 qui est généré par le générateur de code que vous avez construit..
La finalité est de comparer les deux codes existants.

SerialNumber1 correspond au code qui est généré par le computer de votre client.
SerialNumber2 correspond au code que vous même générez avec le générateur de code que vous avez construit et qui vous affiche un nouveau code différent du premier mais obtenu avec les même données

SérialNumber1
A gauche, dans la ligne du haut vous avez le code qui est généré par le programme à partir des informations récupérées dans la machine de l'utilisateur(voir Tutoriel22). SérialNumber2
A droite le code que vous envoyez à votre client qui est généré par le générateur de code que vous avez construit. Vous trouverez un exemple de code pour construire ce générateur ici (en préparation)
Les caractères qui ne servent pas à la reconnaissance du code n'ont pas étés liés dans cet exemple.


Vous devez envoyer à votre client le code SérialNumber2 généré par votre générateur de code que vous avez construit( a partir des données que j'ai indiqué) - Nota - Vous n'allez pas quand même lui renvoyer le code que vous avez reçu ?

Pour votre gouverne si vous avez réussi à écrire le programme "Protect" dans son intégralité qui génère à partie d'un code(SerialNumber1) un nouveau code SerialNumber2, il vous sera facile de construire ou d'écrire comme vous voulez un programme générateur de code (ce qui à mon avis est l'obstacle qui vous chagrine) qui sera identique à "Protect" mais qui sera écrit à l'envers c'est à dire qui générera un code(SérialNumber2) à partir d'un code(SerialNumber1)

Lorsque le client va rentrer dans sa machine à l'endroit approprié le code(SérialNumber2) que vous lui avez fourni pour qu'il puisse débrider sa machine, le programme va comparer le code généré par son
PC(SérialNumber1) avec le code reçu par le fournisseur(vous) et si les deux codes sont identiques va libérer et désactiver le programme pour que l'utilisateur puissent bénéficier de toutes les fonctionnalités du programme qu'il a maintenant acheté.

Dans l'exposé vous pouvez constater que les deux codes sont identiques.
P.S -Les cliché sont pris directement sur le programme en fonctionnement.

Je n'ai pas installé les données dans la base de registre, mais tout simplement comme je l'ai indiqué, le programme génère un fichier à accès direct dans lequel il inscrit les données qu'il a besoin de stocker en mémoire.
A oui, j'ai peut être oublié de vous dire que le programme que vous avez construit doit pouvoir comparer le numéro de série du computer du client avec le numéro de série que vous lui avez envoyé pour débrider son PC, mais ce n'est pas compliqué, ce n'est qu'un peu d'écriture à réaliser, mais, à mon avis la protection d'un programme n'est utile que si votre programme à de l'intérêt pour un grand nombre de personnes car vous commencer à comprendre que c'est quand même beaucoup de travail pour des résultats incertains. Mais nous avons tellement de plaisir à programmer !

Je pense que ces quelques explications vont pouvoir vous permettre de réaliser pleinement cette application, ce qui sera pour moi ma plus grande joie et le but que je poursuis qui est de transmettre mes connaissances.
Vous pouvez télécharger un programme qui utilise ce système à l'adresse :
http://perso.wanadoo.fr/langlade/download/softwares.html téléchargeable en deux fichiers Disk1 et Disk2
et télécharger le générateur de code à l'adresse :
http://www.developpez.com/vbasic/tutoriel/download/genecode.zip
Cordialement
Gilmir

Prochain Tutoriel : à l'étude
     

VisualBasic6.org est hébergé par Gilmir.com