Wie funktioniert die Softwareaktivierung?

8

Ich habe versucht, zu suchen, und alle Fragen beziehen sich auf bestimmte Dinge wie " wie man Schlüssel erzeugt" und dergleichen. Kann jemand erklären, wie verschiedene Arten der Softwareaktivierung funktionieren?

    
Tanmoy 09.12.2009, 16:26
quelle

3 Antworten

15

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.

    
Coxy 10.12.2009 03:00
quelle
1

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:

  1. Entscheiden Sie, ob die Software für eine Person oder einen Computer lizenziert ist.
  2. Suchen Sie nach einer Möglichkeit, die Person / den Computer (Anmeldekonto oder ID von der Computerhardware) zu identifizieren.
  3. Auf Anfrage / Bezahlung: Erstellen Sie in Ihrer privaten Datenbank einen Lizenzschlüssel und fügen Sie mit diesem Schlüssel einen Eintrag für die Person / den PC hinzu.
  4. Geben Sie der Client-Software den Schlüssel.
  5. Ihre Software speichert den Schlüssel entweder lokal oder sucht regelmäßig nach dem Schlüssel, der Ihrem Dienst die identifizierenden Informationen gibt, für die Ihr Dienst den Schlüssel bereitstellt, falls vorhanden. Wenn keine gefunden wird, bietet Ihre Software ihnen Details zum Kauf einer Lizenz an. Letzteres ermöglicht Floating Keys, Computer-Upgrades und die Identifizierung doppelter Installationen.

Haben Sie danach gefragt?

    
Bernhard Hofmann 09.12.2009 16:36
quelle
0

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.

    
Max 10.12.2009 02:43
quelle

Tags und Links