10
votes

Comment fonctionne l'activation logicielle?

J'ai essayé de chercher, et toutes les questions sont liées à des choses spécifiques telles que " comment générer des clés ", etc. Quelqu'un peut-il expliquer comment différents types d'activation de logiciels fonctionnent?


1 commentaires

Pouvez-vous nous donner deux exemples de "types différents d'activation de logiciels"?


3 Réponses :


1
votes

Je soupçonne que beaucoup de mettriers de la mise en œuvre ne donneront pas ces informations parce qu'il leur ouvre de piratage. Mais si je devais faire cela, c'est comme ça que je voudrais y aller:

  1. Décidez si le logiciel est sous licence à une personne ou à un ordinateur.
  2. trouver un moyen d'identifier la personne / l'ordinateur (compte de connexion ou ID du matériel informatique).
  3. sur demande / paiement: Dans votre base de données privée, créez une clé de licence et ajoutez une entrée pour la personne / PC avec cette clé.
  4. Fournissez le logiciel client avec la clé.
  5. Votre logiciel stocke la clé locale ou vérifie régulièrement la clé donnant un service de votre service les informations d'identification en échange de laquelle votre service fournit la clé s'il y en a un. Si aucun n'est trouvé, votre logiciel vous offre des détails pour acheter une licence. Ce dernier permet des clés flottantes, des mises à niveau d'ordinateur et d'identifier des installations en double.

    Est-ce ce que vous demandiez?


2 commentaires

N'oubliez pas que les gens voudront déplacer des logiciels sur différents ordinateurs et ils voudront utiliser la plupart des programmes hors ligne, lorsqu'ils ne peuvent pas obtenir de contact Internet. Ces deux exigences en conflit.


Probablement les mauvais gars le trouveront de toute façon .. aussi je ne le mettant pas en œuvre actuellement. je suis juste curieux



1
votes

Un moyen simple et simple d'implémenter l'activation / enregistrement du logiciel consiste à créer un algorithme de licence. Par exemple, disons que j'ai des shareware que je veux protéger et quand quelqu'un me donne de l'argent, je leur envoie un code d'enregistrement de 4 octets. Je pourrais construire l'algorithme dans mon étalonnage de telle sorte qu'il valide le code entre les utilisateurs. Mon algorithme serait le suivant:

3254
1676


4 commentaires

Cela pourrait facilement être piraté. Il suffit de rechercher la chaîne de code non valide et le calcul de validation?


Vous êtes absolument correct. Il n'y a pas de moyen totalement sécurisé pour permettre l'enregistrement du programme sans permettre la possibilité de craquer votre algorithme. C'est pourquoi vous pouvez trouver des fissures et des keygens pour la grande majorité des logiciels.


Mais dans certains logiciels (c.-à-d. Microsoft Windows), il suffit d'obtenir une clé ne vous laissant généralement pas activer. Probablement sauf les clés de licence de volume.


Droite, Microsoft a un système d'activation significativement plus sophistiqué. Ils utilisent des identifiants uniques de votre ordinateur pour générer un ID, qui est ensuite utilisé pour activer sur Internet. Pour cette raison, vous ne pouvez pas activer Windows sans vous connecter à Internet ou les appeler au téléphone.



20
votes

Dans le cas le plus simpliste, c'est comme Maxwell5555 décrit. Un code d'enregistrement ("CD KEY") est envoyé à l'utilisateur qui l'entre dans le programme ou le programme d'installation. L'ensemble du processus peut fondamentalement être fait hors ligne; Le programme lui-même détermine localement que le code est valide ou invalide.

C'est bien et facile, mais extrêmement vulnérable au partage des clés - car il n'y a pas de "domicile de téléphonie", l'application ne peut pas savoir que des milliers de personnes différentes utilisent tous la même clé qu'elles ont été sur Internet ou une bibliothèque de série. ou leur ami. Il est également raisonnablement facile de rendre "Keygens" qui génère des clés apparentes valides qui n'ont jamais été réellement émises par les développeurs.

Ensuite, nous entrons dans l'inscription en ligne. Vous avez toujours une sorte de code, mais le programme téléphonera au serveur pour déterminer si le code est valide et généralement unique. Cela arrête le partage des clés de base, car la société sait si trop de personnes du monde entier utilisent toutes la même clé. Peut-être qu'il y a également une sorte d'indenciation impliquée à l'aide de l'adresse MAC, avec les enregistrements Infinte autorisés sur le même matériel, mais peut-être un nombre limité sur ce qui semble être un ordinateur différent.

Ceci est toujours assez facile et empêche le partage de clé simple. Les gens devront effectivement se faire craquer le logiciel ou faire semblant de la réponse du serveur pour le dépasser.

Parfois, le programme lui-même est partiellement / principalement crypté et n'est déchiffré que par l'étape d'inscription en ligne. Selon la qualité de laquelle cela est obscurcie, cela peut être assez difficile et prendre du temps à la fissuration. BIOSHOCK a été un exemple de très profil de cela - débutant avec un nouveau système de protection contre le cryptage / copie qui a pris environ deux semaines de libération à briser.

Enfin, une application particulièrement surveillée pourrait rester en contact constant avec le serveur, refusant de travailler du tout si la connexion est coupée. Dans ce cas, d'obtenir AROUIND l'activation dont vous avez besoin pour simuler le serveur lui-même. Les émulateurs à vapeur et les serveurs WOW privés sont un exemple de ceci.

Et à la fin, rien n'est discrettable.


2 commentaires

Je sais que ce n'était qu'un exemple, mais j'éviterais d'utiliser l'adresse MAC comme indicateur du même matériel. Il existe d'autres métriques, telles que des informations de la carte mère, de la CPU, etc. qui sont beaucoup plus difficiles à fausser ou à changer.


+1 Pour une bonne exécution générale et mentionnant que rien n'est décroissable aussi :).