Je travaille sur un petit produit multiplateforme pour Windows et Mac écrit en C++/Obj-C. On m'a demandé de mettre en place un module de licence pour le même. Cette tâche fait partie d'un projet très ambitieux visant à introduire des licences pour tous nos produits. À la fin, nous aurons un système de licences complet où nous pourrons vendre des licences à nos clients qui supportent les renouvellements annuels, les niveaux de licence, etc. Mon problème est que je ne connais pas la première chose à propos de l'implémentation des vérificateurs de licence. Est-ce que quelqu'un peut me diriger vers quelque chose pour la même chose? Existe-t-il des modules de licence open source autour de ce que je peux étudier?Implémentation de la bibliothèque de vérification des licences
Répondre
J'utilise un système de PKV (Partial Key Verification), et j'ai implémenté ceci en C# avec un générateur PHP. Google proposera divers hits, explications et implémentations; mais Brandon Staggs a écrit une bonne vue d'ensemble (bien que dans Delphi!), voici:
PKV fonctionne en codant certaines informations (type de licence, produit numéro de série, date, etc.) dans la clé avec un hachage du nom d'utilisateur et hash de l'information codée. Une grande partie de la clé consiste en plusieurs hachages de char. L'idée est que vous ne vérifiez qu'un sous-ensemble de ces hachages. Le sous-ensemble exact qui a été émis peut être modifié au fil du temps pour une certaine sécurité et pour protéger contre certains types d'ingénierie inverse. Je voudrais également crypter la clé pour aider à masquer ce que chaque char de la licence signifie. Sinon, quelqu'un avec plusieurs clés pourrait déterminer certaines positions char signifie certaines choses ("oh, les caractères 3-4 sont le numéro de série"). Cela pourrait être une faille dans votre armure!
Tout système de licence que vous développerez sera imparfait. Ce sera craquant, et si vos produits sont populaires, ils seront craqués. Cependant, il existe un solide argument selon lequel un système de licence existe pour garder les honnêtes gens honnêtes et produire assez d'obstacles pour les personnes légèrement malhonnêtes - mais pas tellement d'obstacles que cela devient trop gênant (par exemple, je suis généralement contre le verrouillage matériel). Ceux qui piratent votre système ne le paieront probablement pas de toute façon.
- 1. Bibliothèque de vérification des licences Android hors ligne
- 2. Bibliothèque de vérification des licences Android et plusieurs comptes Google
- 3. Bibliothèque de vérification des licences dans le papier peint
- 4. Licences de bibliothèque de licences Android
- 5. Bibliothèque de vérification des licences - Comment tester la réponse du serveur
- 6. bibliothèque de licences d'adobe air
- 7. Bibliothèque LVL Android - Licences de marché
- 8. Vérification de la bibliothèque c
- 9. Vérification à distance de l'API de licences Android
- 10. Implémentation d'un programme qui génère des licences non transférables
- 11. Android In-App Billing - Vérification/confirmation des licences
- 12. Consensus sur la protection des licences logicielles?
- 13. Service de licences Android Market
- 14. Exécuter la méthode à partir de la bibliothèque de classes référencée avant la génération de l'application .NET pour la vérification des licences
- 15. Implémentation de la bibliothèque scientifique GNU?
- 16. Implémentation de la vérification de version dans un script bash
- 17. Mentionner une bibliothèque de licences BSD dans mon application iPhone
- 18. Implémentation d'une bibliothèque Clojure
- 19. Bibliothèque de vérification de la force du mot de passe
- 20. Est-il possible d'ajouter une vérification de licence (à l'aide de la bibliothèque de vérification de licence) à un service?
- 21. Implémentation de la vérification du courrier électronique dans Django
- 22. Licences de paquets internes?
- 23. Asp.net protection des licences de contrôle du serveur
- 24. Prédistribution de licences WMDRM
- 25. Implémentation de la bibliothèque Open Source: comment gérer la journalisation?
- 26. Aperçu des licences de logiciels libres (pour les nuls)
- 27. Utilisation d'une bibliothèque de licences BSD, qui utilise une bibliothèque GPL, pour l'iPhone
- 28. Vérification de la licence de l'application Android
- 29. Vérification des paramètres dans les hiérarchies de bibliothèque
- 30. Implémentation d'un projet de bibliothèque Android
+1 pour le dernier paragraphe, ça ne sera jamais parfait, mais si c'est déjà assez difficile, ça ira. –
J'adore votre explication et surtout le dernier paragraphe. Il résume tout cela! –