Kopierschutz für Einsteiger
Servus.
Ein Softwareentwickler bei uns bittet mich um Unterstützung, um zu verhindern, dass ein Kunde seine Software nicht auf mehr als den lizenzierten Rechnern einsetzt.
Mit Dongels und Co. wie Sentinel HASP hatte ich schon häufig zu tun, jedoch standen wir dabei bislang immer nur auf der Seite der Lizenznehmer.
Der Aufwand an Zeit und Geld, um diese Software zu schützen, soll sich in Grenzen halten, da dem Kunden kaum zugetraut wird, Illegales zu tun.
Ich denke, dass es nicht einfach sein wird und von der Anwendung abhängt. Über die müsste ich dann erst einmal Infos einholen. Bislang ist nur klar, dass Software samt Schutz auf Windows 10 laufen soll.
Frage: gibt es da Hoffnung, etwas zu finden, ohne eine Wissenschaft draus zu machen und ohne größere Summen (>1000€) auszugeben?
Ein Softwareentwickler bei uns bittet mich um Unterstützung, um zu verhindern, dass ein Kunde seine Software nicht auf mehr als den lizenzierten Rechnern einsetzt.
Mit Dongels und Co. wie Sentinel HASP hatte ich schon häufig zu tun, jedoch standen wir dabei bislang immer nur auf der Seite der Lizenznehmer.
Der Aufwand an Zeit und Geld, um diese Software zu schützen, soll sich in Grenzen halten, da dem Kunden kaum zugetraut wird, Illegales zu tun.
Ich denke, dass es nicht einfach sein wird und von der Anwendung abhängt. Über die müsste ich dann erst einmal Infos einholen. Bislang ist nur klar, dass Software samt Schutz auf Windows 10 laufen soll.
Frage: gibt es da Hoffnung, etwas zu finden, ohne eine Wissenschaft draus zu machen und ohne größere Summen (>1000€) auszugeben?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 333997
Url: https://administrator.de/contentid/333997
Ausgedruckt am: 22.11.2024 um 20:11 Uhr
25 Kommentare
Neuester Kommentar
Hi.
Euer Programmierer berechnet mit seiner Software auf dem Zielsystem anhand der Hardware (z.B. Harddisk und Motherboard Seriennummern) einen Hash den euch der Kunde übermitteln muss (Dialog). Dann berechnet Ihr anhand dieses Hashes ein passendes Gegenstück das die Software anhand eures Algorithmus akzeptiert und übermittelt dieses an den Kunden welcher es eintippt,fertig.
Sollte von Ottonormaluser ohne Assembler Kenntnisse nicht umgehbar sein.
Genausogut könnte man es mit Zertifikaten lösen die den Hash im Zertifikat enthalten und nur von euch erstellt werden können welche eure Software dann auf den Hash im CN prüft.
Gruß p.
Euer Programmierer berechnet mit seiner Software auf dem Zielsystem anhand der Hardware (z.B. Harddisk und Motherboard Seriennummern) einen Hash den euch der Kunde übermitteln muss (Dialog). Dann berechnet Ihr anhand dieses Hashes ein passendes Gegenstück das die Software anhand eures Algorithmus akzeptiert und übermittelt dieses an den Kunden welcher es eintippt,fertig.
Sollte von Ottonormaluser ohne Assembler Kenntnisse nicht umgehbar sein.
Genausogut könnte man es mit Zertifikaten lösen die den Hash im Zertifikat enthalten und nur von euch erstellt werden können welche eure Software dann auf den Hash im CN prüft.
Gruß p.
Moin,
könnte er nicht hergehen und sich selbst einen Kopierschutz schreiben?
Einzig für den Kunden unbekannt wäre dann das Salt
Diese Variante wäre dann allerdings nicht benutzer- sondern hardwarebezogen.
Wenn nur angegeben werden soll "Die Applikation darf 47x gelcihzeitig gestartet werden, es ist aber egal von welchem Arbeitsplatz aus" müsste man das ggf. mit hinterlegten Usernamen anstelle von Hardware-IDs erledigen...
ODer mit Countern arbeiten, welche hoch-/ runterzählen, jenachdem, wie viele User gerade angemeldet sind.
Gruß
em-pie
könnte er nicht hergehen und sich selbst einen Kopierschutz schreiben?
- Für die Software wird ein Lizenzschlüssel von ihm generiert und (zentral) in der Applikation hinterlegt.
- Dann wird für jeden lizensierten Rechner noch die HardwareID abgefragt
- Aus dem Lizenzschlüssel, der Hardware-ID und einem Salt generiert er sich dann einen neuen kryptischen Key (Hash) und legt diese zentral auf einem Speicher (in Form einer Datei, z.B. PC-001.lic) ab.
Einzig für den Kunden unbekannt wäre dann das Salt
Diese Variante wäre dann allerdings nicht benutzer- sondern hardwarebezogen.
Wenn nur angegeben werden soll "Die Applikation darf 47x gelcihzeitig gestartet werden, es ist aber egal von welchem Arbeitsplatz aus" müsste man das ggf. mit hinterlegten Usernamen anstelle von Hardware-IDs erledigen...
ODer mit Countern arbeiten, welche hoch-/ runterzählen, jenachdem, wie viele User gerade angemeldet sind.
Gruß
em-pie
Hi,
wir machen es so wie von "pattern" beschrieben. Hat leider den unschönen Nebeneffekt, dass im virtuellen Umfeld es zu Problemen kommen kann, wenn für die VM LoadBalancing gemacht wird und dann plötzlich der Hash nicht mehr stimmt, da muss man manchmal wieder Komponenten aus dem Hash rausnehmen. Wobei man sich auch nicht sicher sein kann, ob der Kunde jetzt nicht einfach nur die VM geklont hat, um sich auf diese Weise eine Kopie zu erstellen. Ist auch etwas Vertrauenssache.
VG
wir machen es so wie von "pattern" beschrieben. Hat leider den unschönen Nebeneffekt, dass im virtuellen Umfeld es zu Problemen kommen kann, wenn für die VM LoadBalancing gemacht wird und dann plötzlich der Hash nicht mehr stimmt, da muss man manchmal wieder Komponenten aus dem Hash rausnehmen. Wobei man sich auch nicht sicher sein kann, ob der Kunde jetzt nicht einfach nur die VM geklont hat, um sich auf diese Weise eine Kopie zu erstellen. Ist auch etwas Vertrauenssache.
VG
Ja aber die User müssten ja erst mal wissen was du an der
Hardware wie prüfst und wie du den Hash generierst und wie sollen sie das wissen ohne eure Software zu dekompilieren und den Assembler Code zu studieren??
Ist doch wie bei Microsofts Aktivierung, die legen auch nicht offen welche Bestandteile sie zur Aktivierung heranziehen.
Hardware wie prüfst und wie du den Hash generierst und wie sollen sie das wissen ohne eure Software zu dekompilieren und den Assembler Code zu studieren??
Ist doch wie bei Microsofts Aktivierung, die legen auch nicht offen welche Bestandteile sie zur Aktivierung heranziehen.
Du kannst z.B. recht einfach eine Lizenzdatei erzeugen.
Eine Ini- oder XML-Datei mit Informationen über den Kunden.
Dazu eine Prüfsumme dieser Lizenzinformationen. Z.B. eine MD5 und dann noch ein bisschen XOR, einene Substring am Anfang und Ende und dann wieder ein MD5.
Solange der Kunde nicht ein paar Lizenzschlüssel zum probieren hat findet der das ohne Debugger nicht raus.
Viele Grüße
Stefan
Eine Ini- oder XML-Datei mit Informationen über den Kunden.
Dazu eine Prüfsumme dieser Lizenzinformationen. Z.B. eine MD5 und dann noch ein bisschen XOR, einene Substring am Anfang und Ende und dann wieder ein MD5.
Solange der Kunde nicht ein paar Lizenzschlüssel zum probieren hat findet der das ohne Debugger nicht raus.
Viele Grüße
Stefan
hier steht auch was
Software gegen Weitergabe schützen: (Kopierschutz,Lizenzierung)
Software gegen Weitergabe schützen: (Kopierschutz,Lizenzierung)
Hallo,
Vorschlag:
Kann der Programmierer, nicht ein TPM Modul auf dem Mainboard, worauf die Anwendung laufen soll, mit einbeziehen?
Das wäre dann in der Regel schnell und günstig zu erledigen!
Alternative:
Den PC oder die PCs mit der Software in ein VLAN packen und dann dort einen Dongle Server mit ins Netzwerk bringen oder
installieren und dort kommt dann der USB Dongle rein und nur die beiden PCs können darauf zugreifen. Kostet aber mehr
und man muss ans Netzwerk ran! Aber die Dongle-Server von SEH sind mittels einer Klappe bzw. Abdeckung die zu
verschließen ist ausgestattet. SEH Oster Bundle & myUTN80
Gruß
Dobby
Vorschlag:
Kann der Programmierer, nicht ein TPM Modul auf dem Mainboard, worauf die Anwendung laufen soll, mit einbeziehen?
Das wäre dann in der Regel schnell und günstig zu erledigen!
Alternative:
Den PC oder die PCs mit der Software in ein VLAN packen und dann dort einen Dongle Server mit ins Netzwerk bringen oder
installieren und dort kommt dann der USB Dongle rein und nur die beiden PCs können darauf zugreifen. Kostet aber mehr
und man muss ans Netzwerk ran! Aber die Dongle-Server von SEH sind mittels einer Klappe bzw. Abdeckung die zu
verschließen ist ausgestattet. SEH Oster Bundle & myUTN80
Gruß
Dobby
Hallo,
letztendlich stellt sich natürlich die Frage der Fingerprints. Intel hatte mal so 'ne Prozessor-ID (im Pentibumm IV?), das Feature ist aber nach reichlich Diskussionen wieder verschwunden.
Ich würde ein möglichst eindeutiges Kriterium (z.B. die MAC-Adresse) nehmen und ggf. mit einem privaten Key signieren. Die Software beinhaltet dann den Public Key, mit dem die Signatur geprüft wird.
Vielleicht kann man das sogar mit einem Bestellprozess verbinden: Der Kunde installiert das Programm, dieses generiert ggf. einen Request und beim Unterschreiben sieht man ja letztendlich, ob man die MAC-Adresse schon auf 'm Zettel hat.
Gruß,
Jörg
letztendlich stellt sich natürlich die Frage der Fingerprints. Intel hatte mal so 'ne Prozessor-ID (im Pentibumm IV?), das Feature ist aber nach reichlich Diskussionen wieder verschwunden.
Ich würde ein möglichst eindeutiges Kriterium (z.B. die MAC-Adresse) nehmen und ggf. mit einem privaten Key signieren. Die Software beinhaltet dann den Public Key, mit dem die Signatur geprüft wird.
Vielleicht kann man das sogar mit einem Bestellprozess verbinden: Der Kunde installiert das Programm, dieses generiert ggf. einen Request und beim Unterschreiben sieht man ja letztendlich, ob man die MAC-Adresse schon auf 'm Zettel hat.
Gruß,
Jörg
Hallo,
Schau dir mal den StarForce Kopierschutz an, die haben sogar eine Variante für E-Mails.
StarForce Home
Grüße
Yannick
Schau dir mal den StarForce Kopierschutz an, die haben sogar eine Variante für E-Mails.
StarForce Home
Grüße
Yannick
Einfache Lösung, wenn die Software auf einem PC laufen soll, also nicht in einer virtualisierten Umgebung:
Hardware: USB WLAN Stick
Software: Fragt beim Start und bei passender Gelegenheit im Programmablauf die MAC-Adresse des Sticks ab.
Damit kann die Software an jedem Computer benutzt werden, solange der Stick da drin steckt.
Hardware: USB WLAN Stick
Software: Fragt beim Start und bei passender Gelegenheit im Programmablauf die MAC-Adresse des Sticks ab.
Damit kann die Software an jedem Computer benutzt werden, solange der Stick da drin steckt.
Fällt aber auch eher unter Verschleierung. Und keine Gute.
Es gibt genug Netzwerkkarten wo Du die MAC verändern kannst.
Keine Gute, denn...
Der Kunde bekommt von Dir einen "USB-Dongle" und schaut im Internet was das ist.
->WLAN Stick
Da man darauf keine Daten speichern kann, kann es nur die MAC sein.
Stefan
Es gibt genug Netzwerkkarten wo Du die MAC verändern kannst.
Keine Gute, denn...
Der Kunde bekommt von Dir einen "USB-Dongle" und schaut im Internet was das ist.
->WLAN Stick
Da man darauf keine Daten speichern kann, kann es nur die MAC sein.
Stefan
Huhu,
vor allem müsste er dann auch noch Treiber für das Ding installieren...
Gruß,
Jörg
vor allem müsste er dann auch noch Treiber für das Ding installieren...
Gruß,
Jörg
Zusätzlich zu der Mac kann man auch die Seriennummer auswerten.
lks
Alles, was die Netzwerkkarte als Information so von sich gibt ist nutzbar, solange der Kunde nicht weiss, was ich davon wie benutze...
Vielleicht bilde ich ja einen Hash aus den drei letzten Byte der MAC, den letzten vier Ziffern der Seriennummer und den ersten drei Buchstaben des Herstellers...
Dazu noch ein bisschen salzen, damit's schmeckt...
Für den Entwickler ist das einfach. Der Kunde braucht zu viel Zeit, um herauszufinden, wie es gemacht wurde und begreift hoffentlich, dass die zweite Lizenz billiger ist, als sein Zeiteinsatz für's hacken...
LG Jörg
Hallo DerWoWusste,
schau dir hier:
https://www.protect-software.com/de/loesungen-de/kopierschutz-fuer-softw ...
Ich nutze zwar die Software-Version von denen nicht, aber die "Content-Version" , um PDFs, HTML und anderen Dateinen gegen kopieren zu schützen. Da kann man z.B. die Dateien an einen USB-Stick dongeln - DAS geht wirklich einfach
Da gibt es auch eine Demo-Version.
Kaufen muss man das Programm bei denen nicht, aber die Lizenzen pro Stick oder Download.
Gruß
schau dir hier:
https://www.protect-software.com/de/loesungen-de/kopierschutz-fuer-softw ...
Ich nutze zwar die Software-Version von denen nicht, aber die "Content-Version" , um PDFs, HTML und anderen Dateinen gegen kopieren zu schützen. Da kann man z.B. die Dateien an einen USB-Stick dongeln - DAS geht wirklich einfach
Da gibt es auch eine Demo-Version.
Kaufen muss man das Programm bei denen nicht, aber die Lizenzen pro Stick oder Download.
Gruß