Protéger un logiciel : version d'évaluation

Protéger un logiciel : version d'évaluation - Sécurité - Windows & Software

Marsh Posté le 16-06-2004 à 10:50:57    

Salut,
J'ai développé un petit logicel en C++ pour un client.
Celui ci aimerait pouvoir le fournir à ses propres clients sous la forme de version d'évaluation limitée dans le temps. La date d'expiration devant être paramètrable. Quelle sorte de solution me proposez vous ?
En existe il déjà ?

Reply

Marsh Posté le 16-06-2004 à 10:50:57   

Reply

Marsh Posté le 16-06-2004 à 11:57:32    

ptet aller planquer qq part dans la base de registre la date d'install ?
en fait, j'en sais trop rien, mais ca a au moins le merite d'upper ton post .. ;)

Reply

Marsh Posté le 16-06-2004 à 12:03:50    

ton prog C++ --> requete a chaque lancement avec le nom d'user a une base de donnée chez ton client pour voir si il a encore le droit d'utiliser le soft.
 
ca te permet de paramétrer comme tu veux la date d'exp de chez toi même pdt sa période d'utilisation.
 
le plus simple étant la réponse de Trictrac mais cé pas paramétrable a volonté.

Reply

Marsh Posté le 16-06-2004 à 12:11:47    

trictrac a écrit :

ptet aller planquer qq part dans la base de registre la date d'install ?
en fait, j'en sais trop rien, mais ca a au moins le merite d'upper ton post .. ;)


 
et de la crypter car sinon elle sera facilement crackable...:/

Reply

Marsh Posté le 16-06-2004 à 12:41:13    

Je sens bien le cryptage.
Qqn connait un bon algo de cryptage en C++ ?

Reply

Marsh Posté le 16-06-2004 à 12:43:29    

Et si pour installer le logiciel un petit malin change sa date ??
 
Faudrai peut etre mieux utiliser un net time si ils sont sur un réseau ...

Reply

Marsh Posté le 16-06-2004 à 12:48:44    

The Flint a écrit :

Je sens bien le cryptage.
Qqn connait un bon algo de cryptage en C++ ?


 
Regarde du côté de blowfish... ca tient la route, tu trouves facilement les codes sources, pas de licence à payer et ca n'a pas encore été cassé.
 
http://www.schneier.com/blowfish.html

Reply

Marsh Posté le 16-06-2004 à 12:49:29    

Alors là, c'est vrai que c'est un gros problèmes.
Ce logiciel est censé être utilisé sur le terrain dans des zones rurales de pays en voie de développpement. Donc, pas internet...

Reply

Marsh Posté le 16-06-2004 à 12:53:47    

Utilisation d'un certificat :
http://msdn.microsoft.com/library/ [...] graphy.asp
 
Par contre, si le mec change la date de la machine, c'est mort :/

Reply

Marsh Posté le 16-06-2004 à 12:55:24    

The Flint a écrit :

Salut,
J'ai développé un petit logicel en C++ pour un client.
Celui ci aimerait pouvoir le fournir à ses propres clients sous la forme de version d'évaluation limitée dans le temps. La date d'expiration devant être paramètrable. Quelle sorte de solution me proposez vous ?
En existe il déjà ?


 
Si ton application a nécessite un accès au net, la meilleure solution est de générer un numéro unique d'install (stocké dans registry et dans un fichier dans le répertoire de l'application... les deux devant correspondre), ensuite tu stockes dans ta DB la date d'install et celle de la fin de l'abonnement en fonction de ce numéro unique. Tous les X que le logiciel est lancé il vérifie sur ton serveur.
 
Sinon planque la date d'installation dans la registry et un fichier en la cryptant de sorte qu'il ne soit pas facile de déterminer qu'il s'agit de la date, tu peux ajouter du code pour obtenir la vrai date depuis un serveur NTP (= serveur de temps sur internet) et te baser sur cette dernière, ce qui éviteras les petits malins qui changent la date de leur PC.

Reply

Marsh Posté le 16-06-2004 à 12:55:24   

Reply

Marsh Posté le 16-06-2004 à 12:58:20    

The Flint a écrit :

Alors là, c'est vrai que c'est un gros problèmes.
Ce logiciel est censé être utilisé sur le terrain dans des zones rurales de pays en voie de développpement. Donc, pas internet...


 
Ok donc planque la à plusieurs endroits et fait en sorte que celà correspond, tu peux combiner plusieurs systèmes. X lancements autorisés du logiciel et la date, à concurrence du premier qui est atteint.
 
Pense aussi à mémoriser la date du dernier lancement, si la date actuelle est inférieure à celle du dernier lancement c'est un petit malin qui modifie son horloge (laisse quand même une marge de quelques heures pour les ajustements horaires d'été / hiver).

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed