![]() |
kopierschutz auch im Netzwerk???
Hallo Delphianer,
Ich habe eine Frage zum Kopierschutz eines Programms. Vorweg: das es keinen 100-prozentigen Kopierschutz gibt ist mir klar, will ich auch nicht. Derjenige der’s hackt, soll’s gerne verwenden. Mir geht es um den Anwender, der, weil er seine Freunde gern hat, ihnen allen das Programm „halt so“ auf CD mitgibt. Meine Vorgehensweise ist die folgende. Programmstart: Hier wird das Datum der Formatierung der Platte ausgelesen. Wenn es in einer, recht großen, Datei an einer bestimmten Stelle schon drin steht, ist alles in Ordnung. Falls nicht, läuft das Programm im Demo-Modus, weil entweder anderer PC oder noch nicht aktiviert. Aus diesem Platten-Datum wird eine Product-ID generiert, die schickt uns der Kunde, im Moment noch per Mail, und daraus generieren wir einen Freischaltcode. Das Programm trägt das Plattendatum in die Datei ein, und dann war’s das. Meine Fragen: Gibt’s was sinnvolleres als das Datum der Formatierung der Platte zu nehmen? (sonst hat man das selbe Gehampel wie zu Startzeiten von Windows XP). Zweite Frage: es gibt von einem unserer Programme eine Netzwerk-Version. Nach dem oben beschriebenen Prinzip muss der Kunde für jeden PC, auf dem das Prog laufen soll, einen Freischaltcode Anfordern und eingeben. Ist zwar machbar, aber nicht wirklich schön. Eine Möglichkeit wäre eine Art Server zu implementieren, bei dem sich jeder Client anmeldet – aber genau das wollte ich nicht. Gibt’s da ‚ne andere Vorgehensweise, die ihr mir nennen könntet? Wie gesagt, es geht hier nicht um Kundenabschreckung, im Gegenteil ;-), wenn also jemand sagt: häi, mein PC musste formatiert werden, ist das kein Ding. Wenn das allerdings 5 mal im Jahr passiert, kann man zumindest stutzig werden... Deshalb auch dieser, zugegebenermaßen recht einfache, Kopierschutz. Vielen Dank für eure Antworten und viele Grüße Marco |
Re: kopierschutz auch im Netzwerk???
Zitat:
![]() |
Re: kopierschutz auch im Netzwerk???
Huhu Bernhard,
erstmal danke für die rasche Antwort. Das ist für uns viel zu groß, ;-), da wird die Lizenzierung teurer, als die ganze Software. ;-) Hat jemand noch 'ne etwas "kleinere" Idee, wie gesagt, es soll blos für die Standard-Anwender kopiergeschützt werden. Vielen Dank und viele Grüße Marco |
Re: kopierschutz auch im Netzwerk???
Also ich frage die MAC-Adresse der Netzwerkkarte (des Servers) ab und bilde daraus meine Registrierungsnummer. Diese Nummer und der Freischaltcode werden dann zusammen in einer Registrierungsdatei gespeichert und beim jedem Programmstart geprüft -> passt die Reg.Nr. zur MAC-Adresse und passt der Freischaltcode zur Reg.Nr. Über den Freischaltcode kann ich dann ggf. noch steuern, welche Module aktiv sind und auch ggf. ein Ablaufdatum (Testphase) vorgeben.
Die Abfrage der MAC-Adresse funktioniert bei mir allerdings erst ab Windows 2000 aufwärts. Gruß Olli |
Re: kopierschutz auch im Netzwerk???
Allerdinga lassen einige Treiber zu, die MAC-Adresse zu ändern.
|
Re: kopierschutz auch im Netzwerk???
Zitat:
|
Re: kopierschutz auch im Netzwerk???
Huhu Oli,
Prima - genau sowas hatte ich gesucht - denn mein Plattendatum ist nu wirklich nicht die sinnigste Lösung. Dann werd' ich mich mal nach der MAC-Adressen-Abfrage tummeln. Vielen Dank und viele Grüße Marco |
Re: kopierschutz auch im Netzwerk???
Zitat:
Delphi-Quellcode:
unit arp;
interface uses sysutils, windows, winsock; type TMacAddr = Array[0..5] of char; function SendARP(DestIP: u_long; SrcIP: u_long; var MacAddr: TMacAddr; var Len: u_long): DWORD; stdcall; external 'iphlpapi.dll'; function GetMacByIp(const IP: String): String; implementation function GetMacByIp(const IP: string): String; var Mac: TMacAddr; i: Integer; L: integer; S: String; begin for i := 0 to 5 do Mac[i] := #0; L := SizeOf(TMacAddr); SendARP(inet_addr(PChar(IP)), inet_addr(PChar('localhost')), Mac, L); S := ''; for i := 0 to 5 do S := S + IntToHex(Ord(Mac[i]), 2) + '.'; Delete(S, Length(S), 1); result := S; end; end. |
Re: kopierschutz auch im Netzwerk???
HI,
zum Abfragen, ob sich der Rechner geändert hat, nutze ich WMI (Windows Install Time + spezielle UUID), die Vindowsversion (cmd /c ver) und die Windows-Serial. Wenn sich 1 davon ändert, ist das nicht mehr der selbe Rechner. Ich find, dass das ziemlich sicher ist, auch wegen der Menge rolllstuhlfahrer |
Re: kopierschutz auch im Netzwerk???
Zitat:
|
Re: kopierschutz auch im Netzwerk???
Zitat:
rollsuhlfahrer EDIT: die kommandozeile erkennt auch Vista ohne Probleme (Server, etc...) |
Re: kopierschutz auch im Netzwerk???
das ist eine Windowsfunktion :zwinker:
![]() PS: wenn du den Befehl genau so aufrufen läßt ... leg mal diese Datei (cmd.bat) in dein Programmverzichnis :angel2:
Code:
und schon hast du überall ein Windows 98 :roll:
@echo off
echo Microsoft Windows 98 PS: die Idee mit der MAC-Adresse ist zwar nicht schlecht, aber was passiert, wenn kein Firmen-Server existiert? Vorschlag: codiere doch in der Registrierungsnummer ob der Freischaltcode aus der MAC-Adresse oder Daten des lokalen PC's errechnet wurde/werden soll Müßte der Benutzer nur bei Anfrage von Registrierungsnummer+Freischaltcode mit angeben was er benötigt. (bei vielen Programmen ist ja auch schon drin Codiert welche Freischaltversion vorliegt > Einzelplatz, MultiPC, Standard, Professional usw.) |
Re: kopierschutz auch im Netzwerk???
Zitat:
und wie kann die MAC adresse andern ohne auf dass windows register zugreifen zummussen? |
Re: kopierschutz auch im Netzwerk???
Findest du nicht, dass ein Thread reicht?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:46 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz