Comment faire de logiciel de date d'expiration sur Windows?
J'ai un morceau de Windows/application C++ qui comprend une codés en dur date d'expiration, de sorte que la libération d'expiration et s'arrête à une certaine date comme, 30 août 2009.
Évidemment, l'utilisateur peut reprendre la temps de système pour contourner cette limitation.
Est-il un bon moyen pour arrêter mon application en cours d'exécution si la date est passée, même si l'utilisateur du système date de retour ?
P. S. je ne peux pas faire usage d'une connexion internet à cette fin. Et je crois que l'écriture de la dernière moment de l'exécution d'un fichier ou d'un registre serait aussi trop facile à casser.
Grâce.
Paul
Votre logiciel est si brillant que l'utilisateur va causer beaucoup d'inconvénients eux-mêmes par la réinitialisation de la date pour l'utiliser? Possible, mais j'en doute.
Oui, il est si brillant.
Oui, il est si brillant.
OriginalL'auteur Paul | 2009-07-31
Vous devez vous connecter pour publier un commentaire.
Ce que vous ne sera fissuré, alors vous êtes mieux de vous concentrer sur votre logiciel plutôt que de la protection. Garder les choses simples. Si les gens sont déterminés à obtenir autour de votre protection, ils le feront. Ils pourraient même machine virtuelle, donc le jour des essais ne sont pas vraiment une limitation qui peuvent être appliquées.
OriginalL'auteur DanDan
À faire de la date d'expiration un peu plus difficile à éviter, vous pouvez stocker le temps de la plus récente exécution de quelque part "caché" et assurez-vous que l'utilisateur ne peut pas aller en arrière dans le temps. Tout décent "hacker" va contourner ce problème, mais pour joe l'utilisateur moyen, il sera trop de tracas.
De travail avec une date erronée a quelques mauvais effets secondaires lors de l'utilisation d'autres programmes qui dépendent de la bonne date/heure. Ainsi, lorsque l'utilisateur est assez désespéré pour changer la date/l'heure chaque fois qu'il démarre votre logiciel, il a l'habitude de l'acheter de toute façon...
L'amélioration de l'expiration du mécanisme supplémentaire est comme protection contre la copie pour les jeux à ce point. Bon jeux vendre de toute façon, les mauvais ne le font pas.
J'ai utilisé un système similaire une fois que: nous stockées de la date dans un fichier, nous n'avons pas le stocker dans un format reconnaissable mais codé, donc si quelqu'un a ouvert le fichier et la regarda, il ne serait pas évident que c'était une date, puis nous nous sommes dit que si la date est jamais en arrière, c'était une automatique échoue. Si votre logiciel est assez populaire que les gens décompiler et il figure it out, il est certain qu'ils peuvent contourner un tel régime. Tout dépend de la quantité de travail que quelqu'un est prêt à aller.
OriginalL'auteur Timbo
Vous pouvez stocker la première et la dernière date d'exécution dans un fichier et également stocker un salée de la somme de contrôle. @Timbo dit, tout bon hacker va contourner ce problème (comme il le ferait avec pratiquement n'importe quelle autre méthode).
Comme cela, vous pouvez stocker quelque chose comme cela dans un fichier de n'importe où (peut-être dans le registre)
:
de cette façon, vous pouvez vérifier la validness de la somme de contrôle à l'aide d'un algorithme semblable à ce
bien sûr, vous pouvez utiliser SHA-1 ou de tout autre digest algorithm vous aimez le plus. Juste assurez-vous d'utiliser un pas facilement deviner
SecretSalt
.Et vous pouvez vérifier la
LastExecutionDate
à contre-courant de la date de vérifier si la date a été changée en arrière.OriginalL'auteur Vargas
vous pouvez essayer en magasin (à l'intérieur du code, pas dans un fichier) la date d'expiration md5summed, cela peut ajouter un peu plus de "protection" de l'désassembleurs.
Masquer la date de vérifier le code à l'intérieur de certains autres fonction critique, ne pas écrire une fonction spécifique pour le faire.
Vous pouvez également modifier le fichier exe sur l'expiration, juste pour éviter la "date de modification" truc.
OriginalL'auteur fnurglewitz
Dans ce cas, vous pouvez faire quelques changements dans le système lors de l'application expire. En d'autres termes afin d'obtenir l'application du système, la date, et non le changement de système devrait être là.
Vous pouvez ajouter une entrée de registre lorsqu'il arrive à expiration. ou peut-être une la suppression d'un fichier.
Et c'est un previoud débat lancé par me à aborder un problème similaire de. Il sera peut-être utile..
Licence
Encore un problème. Si le hacker est un utilitaire de sauvegarde 🙁
Captures de la suppression d'un fichier ou autrement vandaliser vous-même, c'est que si l'utilisateur avait un incident temporaire qui a massacré leur horloge système ou autrement déclenché votre auto-destruction du système, puis ils résoudre le problème, ils ne peuvent toujours pas s'exécuter. Ok, chaque régime de sécurité a pour solde de vous protéger contre les utilisateurs non autorisés avec trop de désagréments pour les utilisateurs autorisés.
OriginalL'auteur Chathuranga Chandrasekara