Mettre en place une date d'expiration sur un programme VB .net
ghankus
Messages postés2Date d'inscriptionmercredi 17 septembre 2008StatutMembreDernière intervention17 septembre 2008
-
17 sept. 2008 à 13:35
radcur
Messages postés282Date d'inscriptionlundi 29 septembre 2003StatutMembreDernière intervention15 août 2012
-
17 sept. 2008 à 18:59
bonjour,
je voudrai insérer dans mon programme VB.net une date d'expiration à partir de laquelle un utilisateur ne pourra plus utiliser ce programme (que je livrerai en version release). J'ai pensé à insérer une condition du genre :
Dim dt As new DateTime(Date.time.now)
Dim dtexp As new DateTime("la date d'expiration")
if dt.Sustract(dtexp) = 0
j'envoie un message d'erreur
le problème c'est que si l'utilisateur change la date sur son PC il pourra encore l'utiliser
est-ce que qqn aurait une autre solution???
merci
JPGVB
Messages postés96Date d'inscriptionmardi 29 mars 2005StatutMembreDernière intervention10 mars 20112 17 sept. 2008 à 13:50
Bonjour, je me suis posé le même pb il y a quelque temps. J'ai contourné le problème en stockant à chaque ouverture du programme la date d'ouverture (endroit caché et crypté).
Puis à chaque ouverture, je vérifie que date_ouverture <= date_fin_des_droits et que date_ouverture>= date_derniere_ouverture_enregistrée.
Certainement insuffisant pour arrêter un pro, mais assez pour des utilisateurs 'standards'
cs_Papymuzo
Messages postés169Date d'inscriptionjeudi 24 juillet 2003StatutMembreDernière intervention17 août 20101 17 sept. 2008 à 13:54
Salut,
Je te conseilles de passer par le registre, tu inscris une clef "date maxi" par exemple qui sera initialisé en fonction de la date à laquelle le programme a été ouvert la première fois. Ensuite, à chaque ouverture tu regardes si la date n'est pas dépassée.
Pour éviter un changement de date, tu dis qu'a chaque fois que la date change (par exemple de 30/06/2008 à 25/02/1971 s'il a changé la date) et bien sa compte 1 jour de plus, que tu déduis au temps initial.
cs_Papymuzo
Messages postés169Date d'inscriptionjeudi 24 juillet 2003StatutMembreDernière intervention17 août 20101 17 sept. 2008 à 15:11
Je vais essayer d'être le plus clair possible.
Deja il faut savoir que ce à quoi je pense est un peu du code bourrin ^^
Il te faudra inscrire plusieurs clefs :
Deja, une clef servira à dire la date à laquelle tu as installé le prog.
Ensuite, quand tu ouvriras le programme, tu inscriras la date d'ouverture dans une nouvelle clef.
Le principe : quand le gars ouvre le programme, le programme regarde la date d'aujourd'hui et la compare avec la dernière date d'ouverture (contenue dans la clef). Si elle change, ça veut dire qu'un "essai" du programme a été utilisé. Tu inscris donc le nombre d'essais dans une autre clef.
Comme sa, si le gars change la date, tu auras quand meme une idée du nombre d'essais (sauf si il met la meme date que celle du jour d'installation).
Arrivé au bout de 30 essais par exemple, tu bloques le programme.
Bon c'est un peu tiré par les cheuveux hein ^^
Mais sa pourrait etre une piste pour toi ^^
En espérant t'avoir un peu plus éclairci et t'avoir donné des idées,
-Papymuzo-
Bonne prog !
Vous n’avez pas trouvé la réponse que vous recherchez ?
radcur
Messages postés282Date d'inscriptionlundi 29 septembre 2003StatutMembreDernière intervention15 août 20122 17 sept. 2008 à 18:59
il y a déjà eu de nombreuses discussions à ce sujet par le passé. La solution parfaite n'existe pas! Et il sera toujours possible de déjouer ta sécurité. Le mieux que tu puisses faire est de compliquer la tâche sans donner des indices claires dans les fichiers et le registre. J'ajouterai que si tu laisses tes dates en clair dans le registre, il sera extrèmement facile pour quelqu'un qui a la moindre connaissance des registres de contourner ta protection. Penses à encrypter les dates ou encore à utiliser une date référence antérieure (exemple 1 janvier 2005) et inscrit le nombre de jours passés entre cette date et la date d'installation dans le registre avec une clé qui n'a pas un nom trop significatif. A chaque ouverture tu compares la différence en jours entre la date actuelle et la date de référence et si la différence entre cette date . Si cette différence et le nombre de jour inscrit dans le registre est plus grand que 30, ne part pas l'application ou affiche un message d'acheter le produit.