Im einfachsten Fall wird es als maxwell5555 beschrieben. Ein Registrierungscode ("CD-Schlüssel") wird an den Benutzer gesendet, der ihn in das Programm oder das Installationsprogramm eingibt. Der gesamte Prozess kann grundsätzlich offline erfolgen; Das Programm selbst bestimmt lokal, dass der Code gültig oder ungültig ist.
Das ist schön und einfach, aber es ist extrem anfällig für Schlüssel-Sharing - da es kein "Telefonieren nach Hause" gibt, kann die Anwendung nicht wissen, dass Tausende von verschiedenen Leuten den gleichen Schlüssel benutzen, den sie aus dem Internet oder einer seriellen Bibliothek bekommen haben oder ihr Freund. Es ist auch relativ einfach, "keygens" zu erstellen, die gültig erscheinende Schlüssel generieren, die von den Entwicklern nie wirklich ausgegeben wurden.
Dann kommen wir zur Online-Registrierung. Sie haben noch irgendeine Art von Code, aber das Programm wird nach Hause zurück zum Server rufen, um festzustellen, ob der Code gültig und normalerweise einzigartig ist. Dies verhindert die gemeinsame Nutzung von Schlüsseln, da das Unternehmen weiß, ob zu viele Personen aus der ganzen Welt den gleichen Schlüssel verwenden. Vielleicht gibt es irgendeine Art von Identifizierung, die auch die MAC-Adresse betrifft, wobei auf der gleichen Hardware erlaubte Registrierungen zulässig sind, aber möglicherweise eine begrenzte Anzahl auf einem Computer, der anders aussieht.
Dies ist immer noch ziemlich einfach und stoppt die einfache gemeinsame Nutzung von Schlüsseln. Die Leute werden tatsächlich dazu kommen müssen, die Software zu knacken oder die Serverantwort zu fälschen, um darüber hinweg zu kommen.
Manchmal ist das Programm selbst teilweise / meistens verschlüsselt und wird nur durch den Online-Registrierungsschritt entschlüsselt. Abhängig davon, wie gut dies verschleiert ist, kann es ziemlich schwierig und zeitaufwendig sein, zu knacken. Bioshock war ein hochkarätiges Beispiel dafür - debütierte mit einem brandneuen Verschlüsselungs- / Kopierschutzprogramm, das etwa zwei Wochen vor der Veröffentlichung in Anspruch genommen wurde.
Schließlich kann eine besonders geschützte Anwendung in ständigem Kontakt mit dem Server bleiben und sich weigern, überhaupt zu arbeiten, wenn die Verbindung getrennt wird. In diesem Fall müssen Sie den Server selbst fälschen, um die Aktivierung zu erreichen. Ein Beispiel hierfür sind Steam-Emulatoren und private WoW-Server.
Und am Ende ist nichts unknackbar.
Ich vermute, dass viele der Implementierer diese Informationen nicht weitergeben werden, weil sie sie zum Hacken öffnen. Aber wenn ich das tun würde, würde ich so vorgehen:
Haben Sie danach gefragt?
Eine gängige, einfache Möglichkeit zur Implementierung der Softwareaktivierung / -registrierung besteht darin, einen Lizenzalgorithmus zu erstellen. Nehmen wir zum Beispiel an, dass ich Shareware habe, die ich schützen möchte, und wenn mir jemand Geld gibt, schicke ich ihnen einen 4-Byte-Registrierungscode. Ich könnte den Algorithmus so in meine Shareware einbauen, dass er den Code validiert, den die Benutzer eingeben. Mein Algorithmus wäre wie folgt:
%Vor%Zwei mögliche gültige Codes sind:
%Vor%Wenn der Benutzer einen gültigen Code eingibt, gibt die Software ihre normale Funktionalität frei, indem sie irgendwo ein Flag setzt. Offensichtlich ist dies ein extrem vereinfachtes Beispiel. Registrierungsvalidierungsalgorithmen können so komplex sein, wie Sie möchten.
Sie können diese Registrierung auch über das Internet durchführen, um Ihren Validierungsalgorithmus vor Reverse Engineering zu schützen und die Freigabe von Schlüsseln zu verhindern. Kein Validierungsschema ist jedoch perfekt.
Tags und Links security deployment