2009-10-17 7 views
1

J'essaie de créer un registrar de clé de produit pour mon programme. Je veux les clés de produit dans une base de données ou une chose de type dictionnaire où je peux faire de nouvelles clés tous les jours sans les mettre dans le programme, et les redistribuer à chaque fois. Je ne sais pas où commencer, donc si quelqu'un a des idées s'il vous plaît les posterClé de produit Enregistrement - Visual Basic

merci,

kevin

Répondre

0

ROLLING votre inscription et le programme de protection est incroyablement difficile, et le plus souvent très facile à Pause. Essayez de regarder certains des produits commerciaux peu coûteux qui le font déjà, intellilock est bon marché et j'ai trouvé pour être bien décrit (si pas bien soutenu par l'entreprise qui le produit, bien soutenu par la communauté).

+0

Y en a-t-il qui sont gratuits et ne sont pas des démos? J'aime comment Intellilock fonctionne mais je n'aime pas comment c'est une démo et coûte 129 dollars .. Ils ont quelque chose de similaire à celui appelé Aquatic Prime pour le mac c'est gratuit. – lab12

1

Découvrez le Shareware Starter Kit (gratuit) de Microsoft.

http://blogs.msdn.com/danielfe/archive/2005/07/10/437293.aspx

+0

cela fonctionne-t-il pour visual basic 2008? – lab12

+0

Je ne l'ai pas utilisé, mais il y a un lien "VB Download" sur la page que j'ai posté. – NotDan

+0

Oui quand je le télécharge à partir de Microsoft, il me dit de convertir en 2008. et puis quand je débogue il me donne une tonne d'erreurs ... – lab12

1

Gardez les choses simples pour commencer. Si vous avez besoin d'une plus grande complexité ou d'une sécurité plus stricte, faites-le après avoir développé votre infrastructure de base.

Première étape. Regardez quelques algorithmes de cryptage simples comme l'algorithme Tiny Encryption. Soyez à l'aise avec le cryptage et le décryptage d'un fichier en utilisant une seule clé.

http://en.wikipedia.org/wiki/Tiny_Encryption_Algorithm

étape suivante. Vous aurez besoin de beaucoup de clés, d'une base de données pour les stocker et d'une sorte d'identifiant client à associer avec eux. Pour commencer, supposons que l'identifiant du client est un nombre à 6 chiffres commençant à 100000, la clé est 128 bits au format hexadécimal, et la base de données est un simple fichier texte. À ce stade, vous ne devriez avoir aucun problème à faire un programme pour générer un lot de clés pour les 100 prochains clients.

Troisième étape. Maintenant vous avez une base de données, donc configurez des scripts ou une application pour pouvoir chiffrer un fichier spécifique, en produisant plusieurs copies, une pour chaque ID client, cryptée avec leur clé.

Quatrième étape, écrivez une application courte et simple qui prend un fichier, le décrypte avec une clé, puis charge et exécute le fichier exécutable résultant. Une fois l'application terminée, supprimez le fichier déchiffré.

Maintenant, la petite application qui décrypte et fonctionne doit en quelque sorte être produite dans de nombreuses versions, une pour chaque client avec leur clé en place. Le meilleur moyen de le faire est de générer un nombre aléatoire de la même taille que la clé, et de le placer comme une constante dans le code. Puis compilez-le. À ce stade, un outil comme grep peut trouver où il se trouve dans l'exécutable. Ecrire une autre petite application à lire dans l'application décrypteur remplacer la balise par une clé réelle, et écrire une version du décrypteur que vous allez distribuer avec l'application déchiffrée correspondant. Après cela, vous pourriez vouloir examiner de meilleurs algorithmes de déchiffrement que TEA, mais n'utilisez pas quelque chose de trop fort qui irait à l'encontre des lois d'exportation. Notez que rien de tout cela n'empêchera les voleurs déterminés, mais il devrait éviter les voleurs occasionnels et vous apprendrez beaucoup. Une meilleure sécurité peut être obtenue avec une application qui stocke des parties critiques de lui-même sur une clé USB cryptée afin qu'il n'y ait jamais de copie décryptée sur le disque dur. Et rappelez-vous, chaque fois que vous pensez que vous avez trouvé un moyen d'améliorer le cryptage ou la protection du code, vous avez très probablement tort.Des esprits beaucoup plus grands que les nôtres ont passé toute leur vie à étudier le cryptage et la règle générale est que lorsque vous déviez un peu des algorithmes et des usages acceptés, vous finissez par réduire, et non augmenter, la sécurité.

2

Vous pouvez utiliser Advanced Installer. Ils ont un système de licence intégré.

C'est un peu cher, mais cela vous permettra d'économiser de l'argent à long terme. Bien sûr, vous pourriez essayer de faire votre propre. L'enregistrement autonome est un peu plus difficile à sécuriser que celui qui vérifie une base de données.

0

Si vous conservez un référentiel central de codes valides, les utilisateurs de votre logiciel auront besoin d'une connexion Internet pour communiquer avec ce référentiel afin de déterminer si leur code de licence saisi est valide. Ce schéma peut également présenter des problèmes d'évolutivité.

Une méthode alternative couramment utilisée consiste à générer des codes à partir de données d'octets satisfaisant une relation mathématique spécifique, puis à valider le code pour voir si les relations sont valides.

Un algorithme très puissant basé sur le concept ci-dessus est l'algorithme RSA cryptographique.

Si vous pouvez utiliser un système de licences prêt à l'emploi basé sur RSA, consultez CryptoLicensing.