Frage

Ich habe eine kleine Software entwickelt. Ich möchte schaffen, und es kommerziell nur laufen. Ich will es in den Maschinen ausgeführt werden, die es von mir gekauft haben.

Wenn jemand kopiert sie von meinen Kunden Computer und läuft es in der nächsten Computer, ich möchte zu funktionieren aufhören / die Software ausgeführt wird.

Was sind die Möglichkeiten, die Piraterie meiner Software zu verhindern?

War es hilfreich?

Lösung

Anpassung von einem meiner früheren Antwort:

Es gibt ein paar Möglichkeiten, um „activate“ kopierte Software, um zu versuchen lässig Kopieren der Anwendung zu beenden.

In den meisten vereinfachend Fall ein Registrierungscode ( „CD-Key“) von Ihnen gekauft, möglicherweise über Ihre Website, und es wird an den Benutzer gesendet, die es in das Programm oder Installateur eintritt. Der gesamte Prozess kann grundsätzlich offline durchgeführt werden; das Programm selbst bestimmt, lokal, dass der Code gültig oder ungültig ist.

Das ist schön und einfach, aber es extrem anfällig für gemeinsame Nutzung - da keine gibt es „nach Hause telefonieren“, dann kann die Anwendung nicht wissen, dass Tausende von verschiedenen Menschen sind alle mit dem gleichen Schlüssel, dass sie das Internet oder über eine serielle Bibliothek ausstieg oder ihr Freund. Es ist auch recht einfach „keygens“ zu machen, die gültig wirkenden Schlüssel erzeugen, die von den Entwicklern nie tatsächlich ausgegeben wurden.

Dann sind wir in der Online-Registrierung. Sie haben noch eine Art von Code, aber das Programm wird das Telefon mit dem Server nach Hause zurück, um zu bestimmen, ob der Code gültig ist und in der Regel einzigartig. Dies hält grundlegende Schlüssel-Sharing, weil das Unternehmen weiß, ob zu viele Menschen aus der ganzen Welt den gleichen Schlüssel alle verwenden. Vielleicht gibt es eine Art der Identifikation mit MAC-Adresse beteiligt, auch mit stufenlosen Registrierungen auf der gleiche Hardware erlaubt, aber vielleicht eine begrenzte Anzahl auf, was scheint, ein anderer Computer zu sein.

Dies ist immer noch recht einfach und stoppt einfache Schlüssel-Sharing. Die Menschen werden tatsächlich in erhalten haben die Software Cracken oder die Antwort des Servers vorbei zu bekommen fälschen.

Manchmal ist das Programm selbst ist teilweise / meist verschlüsselt und ist nur durch die Online-Registrierungsschritt entschlüsselt. Je nachdem, wie gut diese verschleiert wird, dann kann es ziemlich schwierig und zeitaufwendig sein, zu knacken. Bioshock war ein hochkarätiges Beispiel dafür - mit einer brandneuen Verschlüsselung debütiert / Schutzschema kopieren, die etwa zwei Wochen ab Veröffentlichung nahmen gebrochen werden

.

Schließlich wird eine besonders bewachte Anwendung könnte in ständigem Kontakt mit dem Server bleiben, überhaupt Arbeit verweigert, wenn die Verbindung getrennt wird.

Wenn Sie sicher sind, dass alle Benutzer alle zuverlässige Internet-Verbindungen haben, dann kann es durchaus eine starke Möglichkeit, die App zu schützen betrachtet werden, auf Kosten der Privatsphäre und einige Benutzer Misstrauen gegenüber der Spyware.

In diesem Fall zu bekommen um die Aktivierung sie zu fälschen selbst den Server benötigen würden. Dampf-Emulatoren und private WoW-Server sind ein Beispiel dafür. Und am Ende ist nichts uncrackable.

Andere Tipps

Auf den Punkt gebracht:. Sie können nicht

Auch sehr sofisticated Systeme (z Dongle Schlüssel) kann umgangen werden. Ich denke, das Beste aus Ihrem Anruf einem Code an Ihren Kunden zu geben und für diesen Code einen Online-Check hat, so dass es nicht zweimal verwendet werden kann.

Natürlich, das auch umgangen werden kann, aber ...

Wie nico gesagt, du wirklich nicht.

Eine einfache Lösung könnte sein, zu erzeugen (Registrierung / Aktivierung) Codes, die auf Hardware oder Software auf dem jeweiligen Computer installiert basieren - zB Grafikkarte serielle ID oder C:. / Windows Erstellungszeit

Ich habe eine Idee kann sein, es funktioniert. Was wir tun können, werden wir ein encorrupted Datenbankfeld machen und wird das Feld zum ersten Mal so bald leer sein, wie ich zu einem gewissen Maschine meiner Software installieren wird es die Mac-Adresse + Mother Board Serial + Prozessor-ID und macht einen encorrupted Wert lesen mit der Kombination dieser drei und schreiben in diesem Bereich auf die ich für den ersten Gebrauch leer gelassen.

Danach jedes Mal meine Anwendung werden diese drei Werte lesen und den encrupptted Wert auf die gleiche Weise erstellen und vergleichen mit dem Wert dieses Datenbankfeld. Wenn der Wert des Datenbankfeldes und dem Wert des regenerierten encrroupted Feld gleich ist, dass Mittel ist der Computer gleiche andere weise ist es auf einem anderen Rechner installiert in diesem Fall den gesamten Code löschen Sie und kann das System instabil machen die zu bestrafen Person auch :) ... Bitte lassen Sie mich wissen, über Ihre Meinung zu dieser Idee.

Der beste Weg ist eine Art von Hardware-Verriegelung zu verwenden, in dem Sie den Lizenzcode Informationen über die Maschine verschlüsselt enthält, auf dem sie ausgeführt wird. Ihre Software wird dann für diese Info überprüfen und mit dem aktuellen Computer übereinstimmen und wenn das Spiel erfolgreich ist, wird die Lizenz gültig erachtet.

Sicher, jedes Schema kann durch jemandem auf dem Gesicht des Planeten geknackt werden, aber das bedeutet nicht, dass Sie kein Schutzschema verwendet werden sollen.

Wenn Sie sich für ein fertiges Schema für diese suchen, haben einen Blick auf CryptoLicensing .

Unternehmen wie dem unsrigen (Wibu-Systems), Tresor-Net und Flexera (teuer) bieten Dongle freie Lösungen sowie solche auf Basis von Hardware. Aber _simon war richtig, dass ein Dongle ist der einzige Eisen-clad Schutz. Alle Software-basierte Systeme können geknackt werden; es ist nur, dass einige als andere sind schwieriger. Wirklich gute Hardware-basierte Lösungen sind effektiv uncrackable. Niemand hat bisher den Codemeter-Stick geknackt, es sei denn die Umsetzung fehlerhaft war.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top