2009-06-14 17 views
1

Les applications ont souvent des clés d'enregistrement. Il peut sans doute être placé dans un fichier ou dans le registre. Parfois, une application est désactivée par l'entrée d'une autre clé, ou le passage d'une date, etc. Où peut-on en toute sécurité désactiver ces informations sur une application? Un fichier n'est pas la réponse; une copie de sauvegarde peut être restaurée à pour vaincre cela. Le registre est une réponse faible, seulement parce que la plupart des gens ne connaissent pas là-bas, et ne pense pas à le restaurer, et s'ils le font, ils restaurent tout ce qui habituellement a d'autres effets secondaires décourageants.Où est stockée une application "Je suis désactivée" sur Windows?

Il me semble que le stockage des informations de désactivation est désespérément dangereux, car les anciennes copies peuvent toujours être restaurées. Au mieux, on peut cacher ces données par obfuscation sous des fichiers nommés de façon cryptique ou des clés de registre.

Existe-t-il une astuce standard que je ne connais pas, ou un schéma standard pris en charge par Windows, qui aide à résoudre ce problème?

Round 2: J'ai vu un certain nombre de réponses. Aucun d'eux spécifiquement dire "vous ne pouvez pas faire cela" mais plusieurs impliquent que la maison de phonation est le seul bon choix (pour "désactivation").

Supposons que le fait de téléphoner à la maison et que les clés ne soient PAS la réponse, et que l'on doive laisser quelque chose sur la machine. Que font les systèmes d'octroi de licences typiques dans ce cas?

Répondre

1

Créer et signer un fichier de licence sur un serveur. Si vous utilisez la cryptographie à clé publique, le fichier de licence ne peut pas être truqué facilement. Votre application peut bien sûr être piratée pour ne pas avoir besoin de la licence, mais c'est une chose différente.

0

Ya, vous pouvez chiffrer les choses, c'est ce qu'ils font! .Vérifier le net pour diverses licences schemes.Even Microsoft a un ... Microsoft Software Licensing and Protection

Vous pouvez utiliser l'API Microsoft Cryptographic pour vous développer code.Plus obscurcissez-vous les assemblys ou l'activation de l'utilisateur dlls.Force.

+0

Tout ce qui est en train de crypter, c'est masquer le contenu. Indépendamment de ce qu'il y a dans la boîte, si je peux détecter la présence de la boîte, je peux en sauvegarder une copie et la restaurer plus tard. Alors, comment le chiffrement aide-t-il? –

+1

Vous pouvez stocker la date d'installation/première utilisation dans la boîte, puis vérifier si un délai spécifié s'est écoulé depuis. Cela empêchera le scénario que vous mentionnez de fonctionner. – RCIX

+0

Cela vous permet d'implémenter un délai d'expiration. Toutefois, si le logiciel est enregistré pour la fonction complète à un moment donné, et qu'un instantané des éléments pertinents est effectué et restauré après la désinscription, le logiciel s'exécutera sûrement. –

0

Tous les systèmes de protection sont vulnérables à certains types d'attaques. Le cryptage des informations aide à prévenir les attaques car les informations sont stockées de manière obscure, mais même celles-ci ne sont pas incassables.

Une autre option possible est de stocker les informations d'état d'activation réelles à distance et de laisser une référence à ces informations sur la machine, éventuellement cryptée. Il y a beaucoup de manières de faire ceci mais un qui vient à l'esprit est de stocker un GUID d'une sorte que vous pourriez alors rechercher dans votre base de données

Une chute de ceci est l'exigence d'une connexion Internet, je ne savoir si c'est prohibitif ou non mais l'idée générale est de supprimer l'état d'activation d'une machine que vous ne contrôlez pas et de le mettre sur celui que vous faites

+0

Comme je l'ai dit, le cryptage de la boîte m'empêche de regarder à l'intérieur, mais pas de xopying les bits. Je pense qu'il doit y avoir une pièce qui n'est pas copiable par l'utilisateur, par exemple, une pièce consultable hors site. Les connexions Internet semblent être un bon moyen de le faire; J'ai un client classé qui n'aime pas cette solution. Et bien. –

2

Contrairement à l'IPhone et autres environnements fermés sur une plate-forme ouverte Comme Windows/Linux, vous courez toujours un risque très élevé que la protection est facilement contournable (protection sérielle locale) ou sera fissurée en inversant et en corrigeant votre code. Pratiquement chaque jeu solo moderne a ce problème. De plus, il est très difficile de trouver une solution qui n'ennuie pas trop l'utilisateur. Nous nous souvenons tous du désastre de Sony-CD-Rootkit et dans l'industrie du jeu, c'est toujours la toute nouvelle protection DVD qui ne fonctionne pas sur tous les disques de la façon dont elle est supposée le faire. Mais que pouvez-vous faire? Vous pouvez essayer l'option série, call-home habituelle et interdire certaines publications en série dans les nouvelles mises à jour (Adobe, FlashFXP, Windows). Si vous avez une base de consommateurs très faible, cela vous suffit probablement. Si, pour quelque raison que ce soit, ce n'est pas une option, qu'en est-il d'un USB-Dongle nécessaire pour utiliser votre logiciel?J'ai entendu parler de certains programmes de CAO en utilisant cela. Une dernière chose que vous pouvez regarder, qu'en est-il de filigrane de votre demande? S'il apparaît sur certains réseaux p2p, vous pourrez peut-être voir où se trouve la fuite. Fondamentalement rien ne vous donnera une garantie de 100%, mais il existe des options pour le rendre plus difficile pour l'utilisateur moyen ... S'il vous plaît gardez à l'esprit que la plupart de votre argent devrait être dépensé pour créer un produit génial pas acheter une protection inutile!

+0

Cette réponse semble être un conseil générique sur la protection. Bien que cela mentionne «appel à la maison» comme la réponse (que je commence à penser est le seul régime), il ne répond pas vraiment à la question. –

1

Voici un bref aperçu des différentes options.

http://www.developer-resource.com/how-to-protect-software.htm

+0

Ceci énumère certains types de systèmes de protection/certains paquets commerciaux, mais ne donne pas une image claire du fonctionnement de la protection. C'est à dire surtout ne répond pas à la question spécifique que j'ai posée. –