IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Tutoriel 22a : Protection de nos réalisations sous VB6 (Annexe)

Date de publication : 25/10/2003 , Date de mise à jour : Lundi 4 février 2008

Par Gilbert Miralles (gilmir.developpez.com)
 




I. Réflexion

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 :

"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, néanmoins ma principale activité étant de vendre mon savoir, je ne me sens pas obligé de donner des détail précis et de décrire entièrement le code dans les détails, et puis 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 SérialNumber1 qui est un code client génère un code machine intitulé NumberCode1 et que le second code client SerialNumber2 génère un code machine intitulé NumberCode2 et vous pouvez voir que ces deux codes sont identiques.
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

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).

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, à partir 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.


II. Liens

Télécharger un programme qui utilise ce système (téléchargeable en deux fichiers Disk1 et Disk2)



Prochain tutoriel :

info Le contrôle documenté "MCI32.ocx"


Valid XHTML 1.1!Valid CSS!

Copyright © 2000 Gilmir. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.