Kopierschutz ?
-
Wenn du eine Shareware programmieren willst, wäre der einfachste Ansatz einfach ein Abgleich mit dem Systemdatum und ein Schalter, den du umlegst, wenn eine Frist verstrichen ist (die typische 30-Tage-Testversion).
-
Ich habe ein Produkt, und auch Kunden.
Allerdings rede ich nicht von der grossen Masse, es ist eine Laboranwendung für Einzelplatzsysteme. Die Software protokolliert die Messwerte von bestimmten Geräten.
Ich möchte nur so gut es geht verhindern, dass ein Kunde die Software kauft und an andere weiterverteilt.
Wie oft der Kunde diese Anwendung bei sich installiert, ist mir (relativ) egal.
-
Am einfachsten ist es wohl, wenn du für jeden Kunden einen Lizenzschlüssel und einen Kundennamen vergibst. Der Lizenzschlüssel muss natürlich individuell für jeden Kunden bestimmt werden, aber wenn du nur eine kleine Anzahl von Kunden hast ist das machbar, denke ich.
Aus diesen beiden Daten errechnest du einen Schlüssel, der mit einen gültigen Schlüssel verglichen wird. Also sowas wief1( Kundenname ) x f2( Lizenzschlüssel ) = Z, Z konstant
Damit müsste jeder Kunde, der die Software weitergibt, auch seinen Kundennamen weitergeben, und da werden Leute vorsichtig... ist eine äußerst einfache Lösung, vielleicht reicht dir das ja.
-
Ist ein Ansatzpunkt, denke ich.
Danke für den Tip
-
Also ich denke es kommt darauf an was dein Ziel ist.
1. Willst du verhindern, dass jemand seine Lizenz an dritte weiterverteilt.
2. Willst du deine Applikation gegen reverse Engineering absichern?Ersteres ist relativ simpel. Wurde ja von DocShoe bereits angesprochen. Du könntest da Beispielsweise die Lizenzschlüssel digital signieren. Zur Laufzeit kannst du dann überprüfen ob die Signatur gültig ist und dann entsprechen weiter verfahren.
Zweiteres ist deutlich schwieriger zu lösen. Eine einfache Messagebox nach einer if Abfrage lässt sich mit einem Disassembler in ein paar Sekunden umgehen.
-
Mir geht es definitiv um das Erstere.
Sooo wichtig und verbeitet ist die Software nicht, dass sich da einer hinsetzt und das Ganze disassembliert ...
-
Dieser Thread wurde von Moderator/in volkard aus dem Forum C++ in das Forum Rund um die Programmierung verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
nachdem ich jetzt mal ein wenig über die Thematik gegooglet habe, bin ich bei http://www.codeproject.com auf einige interessante, bzw. fast fertige Ansätze und Lösungen gestossen.
Alle basieren im Prinzip darauf, dass mithilfe eines Softwaretools zunächst einmal ein Hardwarekey für den Zielrechner generiert wird. Aus diesem Hardwarekey wiederum berechnet der Entwickler einen Softwarekey, der auf dem Zielsystem eingegeben werden muss. Ok, scheint mir zwar relativ sicher (für einfache Anwender, von den Cracks rede ich nicht), aber auch relativ aufwendig. Einfacher wäre es (zumindest für meinen Fall), wenn man bei der Installation sicherstellen könnte dass die Software vom Original-Datenträger (CD) kopiert wird. Denn eine gekaufte CD rückt keiner so leicht raus. Innerhalb einer Firma könnte die Software dann beliebig oft kopiert werden.
Genau das will ich.
Ergo müßte man anstelle des Hardwarekeys einen Zufallskey erzeugen (was kein Problem darstellt), und diesen auf der CD verstecken, damit er nicht mitkopiert wird.
Früher (mein Gott was bin ich alt) bei den Disketten war das kein Problem: Es gab die ungenutze Spur 42, die beim Copy-Befehl ignoriert wurde. Mit gezielten Schreib-Lese-Befehglen konnte man aber drauf zugreifen.
Gibts es sowas auf bei einer CD, bzw. DVD ?Oder wie denkt ihr über folgendes:
Jede CD hat ja eine Volumenseriennummer, wie jede Festplatte auch. Wenn man diese anstelle des Hardwarekeys nutzt, könnte man bei der Installation schon die Originalität des Installationsdatenträgers überprüfen. Während der Installation wird dann der PC gekennzeichnet (Verstecke Datei auf der Festplatte, Eintrag in der Registry ODER ein Hardwarekey berechnet), um zur Laufzeit nochmals die Gültigkeit zu überprüfen.
Stellt sich nur die Frage: Wie kann ich beim Brennen einer CD die Volumenseriennummer vorgeben ?
-
-
@Thule: Du beschreibst da einen ganz normalen Kopierschutz für CDs. Davon gibt es jede Menge Verfahren, die älteren davon werden von modernen CD Brennern mittlerweile routinemäßig kopiert. Die neueren Verfahren zählen zu der Sorte die die potentielle Kundschaft von Computerspielen und Musik-CDs massenhaft dem Schwarzmarkt zutreibt, weil sie mit Produkten ohne diese Kopierschutzverfahren einfach weniger Ärger hat.
Diese Kopierschutzverfahren werden von ihren Entwicklern für teuer Geld verkauft.
-
du koenntest die version auch per user signieren, mit seinem namen. wenn die version woanders auftaucht, kannst du ueber die signatur wieder feststellen wer das war.
statt cd tags kannst du auch einen dongle mitgeben.
das grundsaetzliche problem an firmen-/instituts-software ist, dass man eben nicht eine cd/dvd in jeden rechner einlegen will, sondern einen zentralisierten server hat von dem das installiert wird (der praxis beugt sich sogar microsoft).
zudem, jeder kopierschutz kann auch immer legale user erwischen, weil ihr netbook kein dvd laufwerk hat, weil ihr notebook laufwerk treiber hat die deinen kopierschutz den zugriff nicht erlauben, weil...