Mettre en place une date d'expiration sur un programme VB .net

ghankus Messages postés 2 Date d'inscription mercredi 17 septembre 2008 Statut Membre Dernière intervention 17 septembre 2008 - 17 sept. 2008 à 13:35
radcur Messages postés 282 Date d'inscription lundi 29 septembre 2003 Statut Membre Dernière intervention 15 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

5 réponses

JPGVB Messages postés 96 Date d'inscription mardi 29 mars 2005 Statut Membre Dernière intervention 10 mars 2011 2
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'
0
cs_Papymuzo Messages postés 169 Date d'inscription jeudi 24 juillet 2003 Statut Membre Dernière intervention 17 août 2010 1
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.
0
ghankus Messages postés 2 Date d'inscription mercredi 17 septembre 2008 Statut Membre Dernière intervention 17 septembre 2008
17 sept. 2008 à 14:45
merci de vos reponse
Papymuso est ce que tu peux expliquer un peu plus ta pethode du "un jour de plus"
j'ai un peu de mal à comprendre ....
0
cs_Papymuzo Messages postés 169 Date d'inscription jeudi 24 juillet 2003 Statut Membre Dernière intervention 17 août 2010 1
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 !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
radcur Messages postés 282 Date d'inscription lundi 29 septembre 2003 Statut Membre Dernière intervention 15 août 2012 2
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.
0
Rejoignez-nous