it-swarm.com.de

Wie funktionieren Software-Keygens?

Ich habe sie oft gesehen, mit vielen verschiedenen Arten von Software, aber das einzige, was ich mich immer gefragt habe, ist, wie Software-Keygens wissen, welchen Schlüssel sie generieren sollen. Ich kenne das Grundprinzip: Der Keygen sucht irgendwo in den Softwareinstallationsdateien und erstellt einen Schlüssel, der mit einer verschlüsselten Datei übereinstimmt, mit der das Programm arbeiten kann. Aber ich wollte wissen, wie sie das machen und wie man es verhindert. Dies ist wirklich eine mehrteilige Frage.

  1. Wie funktioniert das Schlüsselsystem?
    • Wie erstellen Programmierer normalerweise Software, die auf einem Schlüssel basiert? Ich bin ein fortgeschrittener Programmierer, aber ich habe nie viel über den Sicherheits-/Anti-Piraterie-Aspekt gelernt. Wie erstellen und/oder erkennen sie die Schlüssel, damit die Software funktioniert?
  2. Wo sieht es normalerweise aus, um diese "verschlüsselte Datei" zu finden?

    • Befindet es sich in einer physischen Datei auf dem Computer oder in einer von ihm aufgerufenen lokalen Datenbank?
  3. Was tun die Unternehmen, um diese Datei zu verschlüsseln?

    • Ich würde mir vorstellen, dass der Schlüssel nicht nur im Klartext gespeichert werden muss. Was tun sie, um ihn verschlüsselt zu halten?
  4. Mit welcher Methode erstellt der Keygen den Schlüssel?
    • Ich habe mit einer Passwort-Cracker-Software wie "cain & able" ein bisschen herumgespielt und festgestellt, dass ich mit einigen der Passwort-Cracking-Methoden wie Brute-Force und Wörterbuch ETAs in Jahren bekomme keygens scheinen sofort Schlüssel zu erstellen. Verwenden sie völlig unterschiedliche Methoden?
  5. Welche Maßnahmen können Unternehmen ergreifen, um die Verwendung von Keygens in Raubkopien zu verhindern?
    • Ich fange an, meine eigene Software für die Verteilung zu schreiben. Ich habe mich gefragt, welche vorhandenen, relativ einfachen Methoden ich verhindern kann
11
Ephraim

Wie funktioniert das Schlüsselsystem?

Nun, es kommt darauf an, dass es viele Implementierungen gibt. Eine davon wurde in stackoverflow :

Angenommen, Sie möchten nicht für jeden Benutzer einen speziellen Build erstellen, dann:

  • Generieren Sie sich einen geheimen Schlüssel für das Produkt
  • Nimm den Namen des Benutzers
  • Konzentrieren Sie den Benutzernamen sowie den geheimen Schlüssel und den Hash mit (zum Beispiel) SHA1
  • Entpacken Sie den SHA1-Hash als alphanumerische Zeichenfolge. Dies ist der "Produktschlüssel" des einzelnen Benutzers.
  • Führen Sie innerhalb des Programms denselben Hash aus und vergleichen Sie ihn mit dem Produktschlüssel. Wenn gleich, OK.

Hinweis: Jedes Schlüsselschema kann geknackt werden. Aus diesem Grund verwenden viele Tools die Online-Validierung.

Wo sieht es normalerweise aus, um diese "verschlüsselte Datei" zu finden?

Bei Verwendung der vorherigen Methode ist normalerweise keine verschlüsselte Datei vorhanden. Es kann andere Methoden geben, um Schlüssel mit einem anderen Algorithmus zu generieren, aber sie speichern niemals alle Schlüssel im Programm.

Was tun die Unternehmen, um diese Datei zu verschlüsseln?

Wenn Sie sich auf das Speichern des Schlüssels beziehen, den der Benutzer in Ihr System eingegeben hat, wird er manchmal im Klartext in einer Konfigurationsdatei gespeichert. Manchmal verwenden sie eine symmetrische (wie AES) Verschlüsselung mit einem fest codierten Schlüssel, um diese Datei zu verschlüsseln.

Mit welcher Methode erstellt der Keygen den Schlüssel?

Weil es Leute gibt, die das vom Programm verwendete Schema herausfinden und es einfach in ihrem eigenen Keygen implementieren können.

Welche Maßnahmen können Unternehmen ergreifen, um die Verwendung von Keygens in Raubkopien zu verhindern?

Online-Aktivierung, aber je schwieriger Sie es dem Kunden machen, die Software zu verwenden, desto unwahrscheinlicher ist es, dass er sie kauft. Am Ende gibt es keine einzige Software, die gegen Piraterie geschützt ist . Wenn dies der Fall wäre, würden Unternehmen wie Adobe und Microsoft Sie sofort einstellen.

8
Lucas Kauffman

Seriennummern für Computersoftware weisen ein bestimmtes Muster auf, mit dem das Installationsprogramm oder die Anwendung erkennen kann, ob es sich um einen legitimen Schlüssel handelt oder nicht. Ein sehr einfaches Beispiel wäre, dass jede Seriennummer genau drei Vorkommen der Nummer 5 enthält - also wäre 1932-1253-2319-5512 eine funktionierende Seriennummer. In einem realen Szenario wären die Beziehungen zwischen den Zahlen natürlich komplizierter.

Die mitgelieferte Software enthält einen Algorithmus, der prüft, ob eine Seriennummer gültig ist oder nicht. Der Softwareentwickler verfügt über eine Software, mit der er Seriennummern für das Produkt erstellen kann.

Um einen Keygen zu erstellen, analysiert eine Cracker-Gruppe (Personen, die auf das Brechen von Kopierschutzschemata spezialisiert sind) die ausführbare Programmdatei, um den Teil zu finden, der die Seriennummer überprüft. Anschließend rekonstruieren sie den Algorithmus, um die Serien basierend auf dem Prüfcode zu erstellen. Der fertige Keygen ist eine App, die den Algorithmus anwendet, um eine Seriennummer zu erstellen.

Manchmal enthalten keygens nicht wirklich den Algorithmus, sondern eine Liste gültiger Seriennummern, von denen eine zufällig ausgewählt wird.

Der Keygen für Windows XP in den späteren Service Packs war komplizierter, da Microsoft nicht nur überprüfte, ob ein Schlüssel gültig war, sondern auch, ob er mit einer Kopie verkauft wurde und nicht bereits auf einem anderen Computer verwendet wurde. Der keygen hat Massenanforderungen an den Microsoft-Server gesendet, um zu überprüfen, ob es sich um einen funktionierenden Schlüssel handelt.

6
Anna Ashmore

Wie funktioniert das Schlüsselsystem?

In der gebräuchlichsten Form if (some-complex-or-not conditions-here) then (OK). Die Komplexität des geprüften Zustands wird nur durch Ihre Fantasie begrenzt

Wo sieht es normalerweise aus, um diese "verschlüsselte Datei" zu finden?

Es gibt gibt es keine gängigen Muster, wo und wie diese Informationen gespeichert und gelesen werden. Es kann sich um eine Datei und überhaupt nicht um eine Datei handeln (Registrierungsschlüssel, z. B. bei Windows).

Was tun die Unternehmen, um diese Datei zu verschlüsseln?

Übliche Praxis - niemals als Klartext speichern, vor dem Speichern irreversible Transformationsmethoden anwenden, aber - bei Schlüsselaktivierung kann sogar die Schlüsselspeicherung im Klartext kugelsicher sein: Der gestohlene Schlüssel funktioniert nach seiner Aktivierung ab der zweiten Registrierung nicht mehr (missbräuchlich) und hackbare Methode, aber kann bis zu einem gewissen Grad funktionieren )

Mit welcher Methode erstellt der Keygen den Schlüssel?

Reverse-Engineered Methode zur Überprüfung der Gültigkeit hilft beim Reverse-Engineering Algorithmus zum Erstellen von Schlüsseldaten

Welche Maßnahmen können Unternehmen ergreifen, um die Verwendung von Keygens in Raubkopien zu verhindern?

Nicht technisch - angemessener Preis für Produkte. In diesem Fall werden (möglicherweise) Keygens trotzdem erscheinen, aber es wird mehr "nur zum Spaß" Spiel für Crack-Teams sein als angefordert (und verwendet mit direkter Auswirkung) durch das Massenverbraucherprodukt .

Technisch - Verhinderung der Ausführung unter Debugger, kombiniert mit verschlüsseltem Code in der Datei (mit In-Memory-Entschlüsselung möglich - mehrschichtig für einige sensible Teile), Ketten von Speichermanipulationen, Online-Überprüfung von Schlüsseln im externen Speicher (siehe vorherige Methoden, die gelten auch separat für checker) ...

2
Lazy Badger