Ich denke an die Einführung eines guten Lizenzmechanismus, der einen guten Widerstand gegen Piraterie bietet. Der erforderliche Mechanismus sollte nicht zu jedem Zeitpunkt, an dem die Software verwendet wird, eine Internetverbindung verwenden. Ich denke an einen Mechanismus, der auf Hardware-IDs usw. basiert. Habt ihr bessere Vorschläge? Welche Parameter / Algorithmen / Merkmale muss ich beachten, um einen hackproof-Lizenzmechanismus zu erstellen?
Erstens ist nichts hackproof, also würde ich nicht zu viel Zeit darauf verwenden, Ihre Software zu schützen.
Der Nachteil eines Mechanismus, der auf Hardware-IDs basiert, ist, wenn ein Benutzer einen neuen Computer kauft oder den größten Teil seines Computers aufrüstet, muss er auch den Schlüssel aktualisieren.
HWHash ist eine ziemlich gute HardwareID-Implementierung, aber ich denke, es gibt mehr (kostenlose) Lösungen.
Bei der Arbeit verwenden wir Hardlock und Hasp Schlüssel, aber das sind usbkey-Lösungen, die für kleine Anwendungen nicht sehr effizient sind / p>
Idealerweise benötigen Sie etwas, das vom Betriebssystem unabhängig ist.
Ich würde empfehlen, dass Sie den Lizenzschutz in Ihren Code einbetten oder Ihre Anwendung darin so verpacken, dass sie nicht ohne den zuvor ausgeführten Kopierschutzcode ausgeführt werden kann.
Es wäre am besten, wenn Ihre Anwendung eine Lizenzschlüsseldatei zum Betrieb benötigt und diese nicht lokal generiert wird.
Eine Möglichkeit besteht darin, dass Ihre Anwendung eine Art von Bildcode basierend auf der Hardware beim ersten Start generiert. Dies wird Ihnen zur Verfügung gestellt und Sie geben im Gegenzug den Lizenzschlüssel, mit dem der Code ausgeführt werden kann. Am besten ist es, das Hardware-Image um die CPU und das Motherboard zu legen, da diese sich am wenigsten ändern.
Ihre App sollte bei jedem Lauf auf Hardware-Image und Lizenzschlüssel prüfen.
Wenn Sie Ihre App möchten. Lizenzzeit begrenzt, dann sollte es auch verfolgen, wie lange es ausgeführt wurde und es in der Lizenzschlüsseldatei einbetten.
Vergessen Sie nicht, die Lizenzdatei zu verschlüsseln.
Vergessen Sie auch nicht, das Kompilieren Ihrer ausführbaren Datei mit Hilfe eines Dotfuscators oder ähnlichem zu erschweren.
Überprüfen Sie diese Frage: Welche Kopierschutztechnik verwenden Sie? >
Es enthält auch Links zu anderen verwandten Fragen.
Ich würde sehr auf die Mechanismen zum Schutz der veröffentlichten Software achten, da sie viel eher Hacker veröffentlicht haben. Sie sind wahrscheinlich besser dran, einige der Techniken zu verwenden, um eine eindeutige persistente ID zu erhalten und diese verwenden, um Ihren eigenen Schutzmechanismus zu rollen. Ich denke auch, dass es eine schlechte Idee ist, die Lizenz einfach zu überprüfen, wenn Sie das Programm ausführen, da dies den Hacker zum Ort Ihres Proktionsmechanismus führt. IMO, Sie überprüfen die Lizenz auf eine zufälligere Art und mehr als einmal pro Sitzung.
FWIW, ich verwende Hardware-Sperren (Hasp) für meine High-End-Desktop-Software und Geräte-ID-basierte Lizenzierung für mobile Lösungen. Wenn Sie kleine Mengen von kostenintensiver Software in einem vertikalen Markt, IMHO, verkaufen, ist ein guter Lizenzschutzmechanismus sinnvoll, und Hardware-Dongles funktionieren gut. Ich habe die Erfahrung gemacht, dass Menschen mehr Lizenzen verwenden, als sie kaufen, wenn dies nicht der Fall ist. Bei Software mit hohem Volumen und geringer Kosten würde ich eher mit der Piraterie leben, da die Benutzerbasis und die Produktsichtbarkeit zunehmen.
Ich denke an die Einführung eines guten Lizenzmechanismus, der einen guten Widerstand gegen Piraterie bietet. Der erforderliche Mechanismus sollte nicht bei jeder Verwendung der Software eine Internetverbindung verwenden.
Wie wäre es dann mit einer regelmäßigen Online-Überprüfung der Lizenz?
Wenn sich der Benutzer das erste Mal anmeldet, überprüft der Benutzer die Installation gegen seinen Account und eine Lizenzdatei wird auf dem Benutzer-PC gespeichert. Diese Lizenzdatei ist verschlüsselt und enthält alle Daten, die zur eindeutigen Identifizierung der Lizenz benötigt werden. Dies ist alles auf Ihrem Server gespeichert.
Die Lizenzdatei läuft in der festgelegten Anzahl von Tagen oder sogar Monaten ab. Die Anmeldung nach Ablauf der Datei überprüft das Konto und überprüft seine Legitimität. Sie könnten sogar erwägen, zu diesem Zeitpunkt eine neue Lizenzdatei zu erstellen.
Es sollte einige Smarts geben, die einen gewissen Spielraum geben, falls das Internet der Benutzer nicht verfügbar ist und die Lizenz nicht registriert werden kann. Vielleicht 7 Tage.
Wenn die Software auf einem neuen Computer neu installiert wird, muss der Benutzer den Überprüfungsprozess wiederholen.
Wie die anderen gesagt haben, gibt es keine Möglichkeit, einen entschlossenen Piraten zu schlagen, da solch eine Person den Code hacken wird, aber das sollte legale Piraterie verhindern oder verlangsamen.
Sie können Microsoft's SLP auschecken - ich habe es nicht benutzt, aber es ist definitiv sieht interessant aus (yknow, wenn Sie in MS Zeug sind ...)
Ein wichtiger Punkt zu beachten - kein Lizenzierungsmechanismus wird Sie vor Piraterie schützen oder sogar erheblich reduzieren. Per Definition wird der Lizenzierungsmechanismus clientseitig sein - was inhärent zerbrechlich ist. Werfen Sie einen Blick auf alles, was mit DRM passiert ist ...
Ihre Richtlinie sollte daher Usability sein - die Absicht sollte sein, sie als allgemeine Richtlinie zu verwenden, die Guten werden sich bequem darauf beschränken, was sie tun dürfen, und die böse Jungs - nun, die bösen Jungs werden deine Absicht sowieso umgehen, deine beste Hoffnung ist es, mehr Arbeit zu machen.
Tags und Links algorithm licensing piracy-prevention