2008-10-06 19 views
11

Je souhaite implémenter mon logiciel sur une base de shareware, de sorte que l'utilisateur soit avec une période d'essai maximale de (par exemple) 30 jours pour essayer le logiciel. À l'achat, je souhaite que l'utilisateur reçoive une clé générée aléatoirement qui, une fois entrée, active à nouveau le logiciel.Intégration de restrictions de shareware dans le logiciel C++

Je n'ai jamais été dans cette voie avant, donc tout conseil ou retour ou pointeur vers des façons «standard» de la façon dont cela est fait serait très apprécié.

Je ne prévois pas les utilisateurs tricher en changeant la date du système ou quelque chose comme ça, même si cela vaut probablement la peine d'envisager. Toutes mes excuses si ce sujet est déjà apparu.

Répondre

5

En ce qui concerne une clé générée de façon aléatoire, comment allez-vous vérifier qu'une clé est légitime ou si une clé est fausse si elle est réellement aléatoire? Jetez un oeil à l'article "Implementing a Partial Serial Number Verification System" car il est assez bon et est facile à mettre en œuvre dans n'importe quelle langue. En ce qui concerne les essais de temps, comme solution de base serait de comparer votre temps de création de fichiers exécutables principaux à l'heure actuelle du système et agir sur la différence. Cela suppose que votre installateur définit le temps de création des fichiers au moment de l'installation, au lieu de préserver le temps que vous avez compilé! :)

+0

En fait Steve, oui vous avez raison, je ne voulais pas dire «aléatoire» clé. – AndyUK

1

Au premier démarrage, vous pouvez stocker la date actuelle quelque part.
Chaque démarrage suivant, vous recherchez la date stockée, si elle existe, vous la lisez et si elle est plus de 30 jours après le premier démarrage, vous arrêtez le programme.

1

Veuillez vous reporter à this library.

Description:

Convertir toute application en shareware limitée dans le temps. Générez des numéros de série pour l'enregistrer. Une bibliothèque de fonctions offrant un système de verrouillage flexible avec un cryptage solide. Facile à mettre en œuvre Prise en charge de VB, C++, Delphi, d'autres langues.

3

Si votre logiciel est vraiment utile, vous trouverez certainement des copies fissurées sur P2P avant de voir votre première commande. Cela arrivera, peu importe à quel point le code d'application de la licence que vous allez mettre en œuvre sera sophistiqué. Cela dit, il suffit de stocker quelque part la première date (peut être le registre, si sous Windows) et après 30 jours refuser de démarrer, ou simplement ouvrir une fenêtre de rappel. Ne vous inquiétez pas au sujet des tricheurs, ils trouveront un moyen de contourner vos restrictions, peu importe quoi. Inquiet de vos clients honnêtes et essayez de ne pas faire leur vie plus difficile.

Eric Sink a écrit plus à ce sujet here (section 4).

3

Faites également attention à l'heure qui change radicalement, si la date actuelle est magiquement inférieure à la date d'installation et ainsi de suite. Un moyen de contourner ce type de datelock est de changer votre date avant de l'installer pour être des années à venir. Vous devriez donc vérifier que la date d'aujourd'hui n'est pas inférieure à la date d'installation.