Kopierschutz programmieren

Hallo,

da ich jetzt meine ersten Programme kommerziell vertreibe wird es an der Zeit einen Kopierschutz zu schreiben. Ich hatte dazu bereits die Idee, dass die Seriennummer der CD beim Programmstart geprüft wird. Leider ändert sich die Nummer, die man mit GetVolumeInformation bekommt nach dem brennen. Angeblich gibt es aber auch eine Funktion, die eine andere Serial zurückgibt, die sich nie ändert. Nur weiß ich die eben nicht…

Falls jemand diese Funktion kennen sollte oder eine andere Idee hat, wie man einen Kopierschutz machen kann der nicht mit leichtem Aufwand zu knacken ist, dann möge er es mir sagen.

Ich bin für alle Vorschläge offen…

mfg
Raber

Dongle Lösungen sind noch die mir den wenigsten Problemen und die Anbieter von solchen Dongles haben für fast jede Programiersprache eine Lösung. Es gibt auch CD basierte Lösungen. Die haben aber den Nachteil, dass sie im gewerblichen Betrieb für den Kunden sehr umständlich sind, da sie das CD-ROM i.d.R. auch für andere Dinge brauchen. CD-ROM Schutz kann man fast nur für Spiele benutzen.

http://wibu.de/de/

aber nur mal so nebenbei …
was soll ein Kopierschutz bringen?

Hast du die ultimative Killerapplikation entwickelt, die jeder Privatmann auf seinem Rechner haben muss? Wieviel soll denn deine Software kosten? Lohnt sich der Kopierschutz pro Auslieferung?

Kopierschutz lohnt sich IMO nur wenn du eine Applikation geschrieben hast die auf ihren Spezialgebiet einzigartig und ohne Konkurrenz ist und stark nachgefragt ist. Wenn du aber eine Applikation geschrieben hast die ein übliches Verfahren etwas anders macht und es sehr viel ähnliche Produkte am Markt gibt, dann ist es wichtig die Applikation zu verbreiten. Dort ist dann ein Kopierschutz eher kontraproduktiv.

Meine Erfahrung (zumindest für gewerbliche Kunden) ist, dass es ohne Kopierschutz weniger Stress beim Update und Support gibt. Wenn kopiert wird, dann landen die Kunden sowieso früher oder später bei mir. und wenn nicht, dann hätte ich die Kunden mit Kopierschtz auch nicht bekommen, da sie dann was anderes eingesetzt hätten.

Ansonsten würde ich eher das Freischalten über einen Key nutzen. Das ist nicht so sicher wie ein Dongle/CD, bereitet aber dem Durchschnittskopierer i.d.R. so viel Mühe, dass er es lässt.

Just my 2 Pence
Quaser

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo,

da ich jetzt meine ersten Programme kommerziell vertreibe wird
es an der Zeit einen Kopierschutz zu schreiben.

Kopierschutz ist einfach nur ein Ärgernis. Raubkopierer kannst Du damit nicht beeindrucken, nur die Kunden ärgern.

Falls jemand diese Funktion kennen sollte oder eine andere
Idee hat, wie man einen Kopierschutz machen kann der nicht mit
leichtem Aufwand zu knacken ist, dann möge er es mir sagen.

Ich bin für alle Vorschläge offen…

Zwei varianten.
1.) Die CD brennen oder pressen lassen. Die Anbieter versehen die CDs auch gern mit Kopierschutz. Manche Anbieter machen das schon ab 100 CDs, ist auch nicht besonders teuer.
2.) Registrierung. Baue in Dein Programm ein Modul ein, das eine Registrierung erfordert und Hardwareinformationen mit verarbeitet. Ein sicherer Schutz ist das auch nicht, stellt aber vermutlich den größten Aufwand beim knacken dar. (dekompilieren) Allerdings ist auch das für die zahlenden Kunden mit Aufwand verbunden.

Gruß, Rainer

Hi!

da ich jetzt meine ersten Programme kommerziell vertreibe wird
es an der Zeit einen Kopierschutz zu schreiben. Ich hatte dazu
bereits die Idee, dass die Seriennummer der CD beim
Programmstart geprüft wird. Leider ändert sich die Nummer, die
man mit GetVolumeInformation bekommt nach dem brennen.
Angeblich gibt es aber auch eine Funktion, die eine andere
Serial zurückgibt, die sich nie ändert. Nur weiß ich die eben
nicht…

Kopierschutz ist Unsinn. Es gibt so viel Crack-Software, da kommst du nicht gegen an.

Wir hatten mal das gleiche Problem (Software für sehr kleine - und teilweise dubiose - Einzelhändler, etwa Kiosk-Besitzer u.ä.). Statt Kopierschutz haben wir eine Registrierungsfunktion eingebaut. Ohne Registrierung kein Betrieb. Die Leute mussten den Registrierungscode per eMail oder Brief anfordern. Damit war für uns eine Verbindung von Registrierungscode und Adresse vorhanden. Mit der Registrierung hatten die Leute dann auch Anspruch auf Support, Updates, Telefon-Hotline usw.
Sollte mal jemand beim Support mit einer Registrierungsnummer kommen, wo der Kundenname nicht gepasst hat, war bei uns gleich Alarm angesagt. Die undichte Stelle konnte dann ganz schnell ermittelt werden.

Was du brauchst, ist natürlich ein Berechnungsmuster für die Registrierungsnummer, dass sich nur schwer für den Kunden nachvollziehen lässt. Aber da gibt es viele Möglichkeiten.

Grüße
Heinrich