![]() |
Softwarelizenz schützen
Hallo an euch alle, seit einiger Zeit programmiere ich an einer Lizenzverwaltung für eines meiner Produkte.
Auf meiner Internetseite kann eine 1-User-Lizenz oder Mehr-User-Lizenz bestellt werden. Die 1-user-Lizenz ist an einen PC fest gebunden. Wie aber binde ich eine Mehr-user-Lizenz für zum Beispiel 4 PCs auch an 4 PCs? Edit: ich habe schon übrlegt, eine Liste mit Mac-Adressen in der Lizenzdatei zu hinterlegen oder etwas Ähnliches. Aber ist das "gängige" Praxis? Ist das nicht zu aufwendig für einen potenziellen Käufer, erst einmal alle Adressen rauszusuchen? |
AW: Softwarelizenz schützen
Es kommt ja erstmal drauf an, wie du deine Einer-Lizenz an den PC gebunden hast.
Im Grunde ist die 4er-Lizenz einfach nur eine Gruppe aus 4 Einzellizenzen, welche mit einer gemeinsamen Lizenz-BenutzerInfo verbunden sind. Ach ja, es ist eher unpraktisch, wenn du deine Lizenz nur an eine einzige Computereigenschaft bindest. Mehrere Merkmale, wobei es bei der Auswertung nicht schlecht ist, wenn kleine Varianzen möglich sind, z.B. beim Aufrüsten/Reparatur des PCs. |
AW: Softwarelizenz schützen
Also momentan vergeiche ist auf Benutzername, Produkt-Name, Produkt-ID und Mac-Adresse.
Zitat:
Edit: ich werde das schonmal so abändern (morgen): wenn einer, 2 oder alle 3 der folgenden Werte "Benutzername", "Produkt-ID" und "Produkt-Name" ungleich der Werte in der Lizenzdatei sind dafür aber die Mac-Adresse gleich ist, dann ist die Lizenz dennoch gültig. Diese drei Werte ändern sich höchstwahrscheinlich bei einer Neuinstallation von Windows. Die Mac-Adresse des Netzwerkadapters bleibt aber gleich. |
AW: Softwarelizenz schützen
Nja, entweder in der "einen" Lizenzdatei sind die Infos für alle 4 Geräte drin und es wird dann geprüft, ob eine der 4 zu prüfenden Geräteidentifikatoren zutrifft.
Zitat:
Oder du gibst zu deiner 4er-Lizenz 4 einzelne Lizenzdateien raus, wo jeweis Eine zu einem PC passt. Wenn doch mal ein PC ausgetauscht wird, dann braucht nur diese eine Lizenzdatei ausgetauscht zu werden, wenn der Lizenznehmer sich bei dir meldet und eines Lizenz für den neuen PC angepasst haben möchte. |
AW: Softwarelizenz schützen
Ich mach das auch so.Wird der PC geklaut oder verscherbelt ist natürlich die Lizenz auch mit weg.Hatte bisher noch keine Probleme damit.Der Kunde hat ja ausdrücklich bestätigt, dass er auch eine Einzelplatz Lizenz wollte.:-D
|
AW: Softwarelizenz schützen
Wie viele Installationen hast du schon verkauft oder hoffst du noch zu verkaufen?
Bei einer kleinen Nutzerbasis sollte man sich hüten, die Prüfungen ob die Lizenz gültig ist zu restriktiv zu fahren. Man kann wirklich sehr viel Vertrauen beim Benutzer zerstören wenn man nicht zurückhaltend ist. Auch sollte man die Funktionalität der Software nicht zu stark einschränken falls die Lizenz ungülig ist. Die Software darf die Arbeit nicht plötzlich einstellen nur weil es ein Lizenzproblem gibt. Ok sind z.B. ![]() |
AW: Softwarelizenz schützen
Was hast Du für Kunden ? Bei Firmenkunden, kann man z.B. die Lizenz an die DOMAINE binden. Diese läßt sich leicht abfragen und ist dann schon mal auf eine Firma gebunden.
|
AW: Softwarelizenz schützen
Zitat:
Ich hätte da auch Bedarf an Informationen, wenn es sich nicht um Einzelplatzlizenzen handelt. Bei Einzalplatzlizenzen nutze ich "OnGuard". |
AW: Softwarelizenz schützen
Zitat:
Zitat:
Zitat:
|
AW: Softwarelizenz schützen
DOMAINE: jede etwas größere Firma wird das haben, denn hierauf setzt die Zentrale Rechteverwaltung auf.
Alternativ kann man auch den WINDOWS USERNAMEN in eine Freischaltung integrieren oder man macht es ONLINE! Die besten Erfahrungen hat meine Firma mit Einführung eines Dongles gemacht :thumb: Dieses kostet je nach Abnahme zwischen zwischen 100,- EUR vielleicht auch ein paar EUR weniger, aber danach können wir vieles steuern. Da die aus der Ferne programmierbar sind (via Dateiaustausch) können wir hier vieles machen: z.B. Module zeit begrenzt Freischalten, Vermietungen abwickeln und sicherstellen, das hier auch die Kohle kommt. Hiermit kann man auch einigermaßen die Netzwerklizenzen steuern, das kann man hiermit auch machen! Zur Frage, was ich denn da genau empfehle : ![]() Die haben sogar eine Delphikomponente :thumb: |
AW: Softwarelizenz schützen
Öh, den Windows-Usernamen würde ich niemals nehmen, denn der kann sich ändern.
Was sich trotz Änderung des Namens nicht ändert ist die SID des Benutzers. |
AW: Softwarelizenz schützen
Zitat:
|
AW: Softwarelizenz schützen
Zitat:
![]() Zitat:
MfG Dalai |
AW: Softwarelizenz schützen
Zitat:
Ich habe das jetzt folgendermaßen geregelt: während der Registrierung muss der Kunde, falls er mehr als 1 Lizenz bestellen möchte, alle Mac-Adressen von den Computern, auf welchen er die Software benutzern möchte, mit angeben. Während der Lizenzprüfung wird das dann ausgewertet. Zitat:
An eine Onlineüberprüfung habe ich auch schon gedacht. Aber wenn jemand nicht online ist, funktioniert die Prüfung nicht. Zitat:
|
AW: Softwarelizenz schützen
Ist das nicht die uralte Frage, wie man ein System kopiersicher macht, ohne das Internet zu verwenden und wird dann nicht demnächst die Schlußfolgerung kommen, das das eh alles nichts bringt und sich 1000 wenn nicht Millionen von Entwicklern darüber schon Gedanken gemacht haben und man doch schlußendlich eine Standardlösung ('OnGuard'?) nehmen sollte, bei der schon Mannjahre Entwicklung stecken?
|
AW: Softwarelizenz schützen
Wir machen es so:
Wenn keine gültige Lizenz vorhanden ist generiert das Programm einen Schlüssel aus dem Firmennamen oder Domain und der Mac-Adresse des PCs. Diesen Schlüssel sendet uns der Kunde per Mail daraus generieren wir dann einen neuen Lizenz-Key. Das funktioniert sehr gut und reibungslos. Der Kund muss keine Mac-Adressen suchen oder sonst etwas. Wir werden das System noch erweitern damit unsere Kunden die Lizenz online selbst abrufen können. |
AW: Softwarelizenz schützen
Ein "Kollege" hat mal ganz stolz berichtet, daß man seine Programme ruhig klauen könne - "Die bekommt außer mir eh keiner eingerichtet"....
Also: einfach ordentlich komplex machen und möglichst wenig dokumentieren, dann ist das ganze auch kopiergeschützt... :mrgreen::mrgreen::mrgreen::mrgreen::mrgreen: GRL |
AW: Softwarelizenz schützen
Zitat:
Zitat:
Zitat:
MfG Dalai |
AW: Softwarelizenz schützen
Edit: habe ich das richtig verstanden, dass die DOMAINE z.B. bei mir aktuell "WORKGROUP" ist?
Handelt es sich um eine Einbenutzerlizenz, muss der Kunde auch überhaupt nichts zusammensuchen, denn es ist schon alles vorhanden und generiert. Nur bei einer Mehrbenutzerlizenz. Ich stelle auch en Tool zur Verfügung, welches die Mac-Adresse zuverlässig ausliest. Alternativ zur Angabe der Mac-Adresse habe ich nun die Angabe einer Netzwerkdomäne hinzugefügt. |
AW: Softwarelizenz schützen
Die gezeigten Dongles sind doch reichlich teuer... Die Matrix-Dongles, die wir seit Jahren einsetzen, sichern die Lizenzen genauso gut ab, kosten aber nur einen Bruchteil. Die Bindung an so einen Hardware-Key gibt einem auch zwei prima Argumente für den Kunden: 1. Du kannst die Software kopieren, wie du willst und installieren wie du willst. 2. Wenn der Kunde mal wieder über die Preise mosert: Die Software kostet nicht viel, die Dongles sind so teuer.
|
AW: Softwarelizenz schützen
Ich habe folgenden sehr nützlichen Code gefunden kann ihn aber leider nicht testen, da ich nicht an einer Domäne angemeldet bin.
Wäre jemand so nett, diesen für mich zu testen und mir mitzuteilen, welche Konstante für den Rückgabewert des (Netzwerk-)Domänennamen zuständig ist?
Delphi-Quellcode:
Quelle:
const
NameUnknown = 0; NameFullyQualifiedDN = 1; NameSamCompatible = 2; NameDisplay = 3; NameUniqueId = 6; NameCanonical = 7; NameUserPrincipal = 8; NameCanonicalEx = 9; NameServicePrincipal = 10; NameDnsDomain = 12; function GetUserNameExString(ANameFormat: DWORD): string; var Buf: array [0 .. 256] of AnsiChar; BufSize: DWORD; GetUserNameEx: function(NameFormat: DWORD; lpNameBuffer: LPSTR; var nSize: ULONG): BOOL; stdcall; begin Result := ''; BufSize := SizeOf(Buf) div SizeOf(Buf[0]); GetUserNameEx := GetProcAddress(GetModuleHandle('secur32.dll'), 'GetUserNameExA'); if Assigned(GetUserNameEx) then if GetUserNameEx(ANameFormat, Buf, BufSize) then Result := Buf; end; ![]() |
AW: Softwarelizenz schützen
Mach es ganz einfach.Festplattennummer auslesen oder etwas anderes auslesen.Denne verstecken in verschlüsselter Datei oder sonst wo.:-D
Wenn manipuliert wurde oder Datei ist nicht da,eine Meldung ausgeben oder Exe schließen.Hat den Vorteil das die "Exe" nur gestartet wird,wenn die ausgelesene Nummer/n auch identisch ist.Und funktioniert eh nur auf einen Rechner....:mrgreen: |
AW: Softwarelizenz schützen
Die MachineGuid würde ich in der heutigen Zeit immer MAC Adressen oder Festplatten Seriennummern oder anderen "hardwarespezifischen ID's" vorziehen, da sie auch in virtualisierten Umgebungen eindeutig ist.
Die MAC ist in jeder virtuellen Maschine kinderleicht frei konfigurierbar und andere Dinge wie Festplatten-Seriennummern oder SID's verändern sich beim Klonen von virtuellen Maschinen nicht. |
AW: Softwarelizenz schützen
Zitat:
1.) teuer (aber Materialwert < 5 Euro) dazu kommen weitere Kosten für Versand und dem Mangement der Lizenzen über Software vom Hersteller 2.) benötigen eine Treiberinstallation Manche Treiber werden automatisch über Windows Update installiert; das hängt vom Hersteller ab. 3.) Funktionieren nicht (oder nur mit Schwierigkeiten) für virtuelle Maschinen. Firmen gehen immer mehr dazu über komplexe Installationen auf einer virtuellen Maschine durchzuführen. 4.) Auf einem Terminalserver können viele Instanzen der Software ausgeführt werden Manche Dongels sind dafür nicht eingerichtet 5.) Dongles können gestohlen werden oder verloren gehen In Firmen mit vielen Arbeitsplätzen und/oder schlecht bezahltem Personal ist das ein echtes Problem. Einige Firmen akzeptieren deshalb grundsätzlich keine Dongels oder nur einen Dongel auf einem zentralen Server. ( ![]() Daraus kann man folgende Schlüsse ziehen: * man sollte Lizenzinformation nicht direkt im Dongel speichern sondern der Dongel ist lediglich der Key um auf die Lizenzdatei oder Teilbereiche der Lizenzdatei zugreifen zu können * die Lizenzdatei sollte so strukturiert sein, dass man die gleiche Datei auf allen Rechner verwenden kann. * wenn Dongels sowieso nicht alle Anwendungsgebiete abdecken, dann kann man auch gleich auf sie verzichten |
AW: Softwarelizenz schützen
Zitat:
Die Vorgabe, nur einen einzigen Dongle für alle zuzulassen ist IMHO der Versuch, mich um mein Geld zu bringen - mal drastisch formuliert. |
AW: Softwarelizenz schützen
[QUOTE=EineFrage;1234401]Ich habe folgenden sehr nützlichen Code gefunden kann ihn aber leider nicht testen, da ich nicht an einer Domäne angemeldet bin.
Wäre jemand so nett, diesen für mich zu testen und mir mitzuteilen, welche Konstante für den Rückgabewert des (Netzwerk-)Domänennamen zuständig ist?
Delphi-Quellcode:
damit solltest Du Domäne\UID erhalten.
const
NameSamCompatible = 2; Gruß K-H |
AW: Softwarelizenz schützen
Zitat:
Hinzu kommt: Solange der TE nicht erst mal einige Fakten bzw. Informationen auf den Tisch legt, ist jedwelche Diskussion über Vor- und Nachteile von bestimmten Praktiken so müßig wie ein Kropf. Ein Kopierschutz muss erst mal preislich im Verhältnis zur Software stehen. Also erste Frage an den TE, was kostet die Software? Und wie wird sie vertrieben? Denn bei einem indirekten Vertrieb beispielsweise, sieht das ganz anders aus als bei Direktvertrieb. Zweite Frage, wie gut/sicher soll der Kopierschutz sein? Dazu gehört auch die Beantwortung der Frage an sich selbst, was will ich mit dem Kopierschutz erreichen? Soll der Schutz extrem sicher (teuer) sein, oder soll er (das andere Extrem) so einfach wie möglich zu knacken sein, weil dadurch die Verbreitung der Software gefördert wird, und der Kopierschutz eigentlich nur dem Erfolgserlebnis des Hackers dienen soll. Wenn diese beiden Fragen beantwortet sind, kann man sich darüber unterhalten, ob es Hardwareschutz oder Softwareschutz sein soll, und in Folge davon, was es kosten darf, und wie man es in die Praxis umsetzt. |
AW: Softwarelizenz schützen
Zitat:
![]() |
AW: Softwarelizenz schützen
Ich habe da noch einige kleine ergänzungen:
Code:
0,10,11 funktionieren bei mir nicht
1 CN=walker,OU=WhiskyGroup,OU=users,OU=DUS,OU=Sites,DC=gb,DC=diageo,DC=net
2 Scotch\walker 3 WALKER, JOHNNIE 4 walker@gb.diageo.net 5 walker@gb.diageo.net 6 {48be4c02-aae0-4b26-b0c5-c8d408804a9c} 7 gb.diageo.net/Sites/DUS/users/WhiskyGroup/walker 8 walker@gb.diageo.net 9 gb.diageo.net/Sites/DUS/users/WhiskyGroupwalker 12 GB.DIAGEO.NET\walker Gruß K-H |
AW: Softwarelizenz schützen
Könnte man nicht statt teurer Dongels einen billigen kleinen Stick mit verschlüsseltem Dateisystem oder veschlüsselten Dateien einsetzen?
|
AW: Softwarelizenz schützen
Zitat:
Bei Windows ist dann wahrscheinlich auch die CD zu teuer?:lol: |
AW: Softwarelizenz schützen
Nutze eine "verschlüsselte,dat oder DB oder was weiss ich...".Versuch diese mit einem Editor zu öffnen und such...
Lässt sich erstmal nix finden,denne nächster Versuch...:-D |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:26 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