Ich möchte eine .NET-Anwendung verteilen, die als Demo nur eine bestimmte Anzahl mal gestartet werden kann (z.B. 5 Mal), ohne mich komplizierten Lizensierungskomponenten widmen zu müssen und ohne das der Zählwert, der irgendwo hinterlegt werden muss, einfach aufzufinden ist (z.B. durch Disassemblierung). Kann man sowas direkt und versteckt in eine Programmdatei einbinden und wenn ja, wo? Gibt es Alternativen?
Du sprichst von .NET Ich glaube kaum, dass sich jemand davon aufhalten lassen wird, wenn deine Software gut ist ;) Klar, es gibt Mittel und Wege um auch den Quelltext zu schützen, aber du stehst ja nicht so auf "kompliziert".
Aber mal ein anderes Problem: Du willst 5 Starts erlauben? Nehmen wir an der User ist dumm (bzw. stellt sich dumm an, is ja fast Standard) und das Programm schmiert ihm locker 5 ma hintereinander ab beim Testen, was machstn dann? Seine Reaktion wird sein: Sch**ß Programm, das stürzt nur ab und jetzt kann ich es nicht mal mehr Starten zum Testen!? Lg, Karill
@Karill: Es muss ja nicht sein, dass sich das Programm nicht mehr starten lässt, aber ich habe schon genügend Programme gesehen, die ein "nag-screen" verwenden, dessen Dauer von der Anzahl der Programmstarts abhängt. Zu deinem ersten Part gebe ich dir recht. "Wirklich sicher ist nichts."
Wirklich sicher ist nichts ;) Aber als Anregung kannst du folgendem Artikel folgen und das Vorgehen von Datumsvergleich auf Anzahl der Zugriffe ändern: codeproject: Application Trial Maker
Edit: Zu deiner konkreten Frage nach dem Speicherort:
Files
There are two files to work with in this class.
The first file is used to save computer information and remaining days of the trial period. This file must be in a secure place, and the user must not find it (RegFile). It's not a bad idea to save this file in application startup directory
The second file will be used if the user registers the software. It will contain the serial that the user entered (HideFile). You can save HideFile in, for example, C:\Windows\system32\tmtst.dfg. I mean some obscure path.
Both files will be encrypted using Triple DES algorithm. The key of encryption is custom. It's better you choose your own key for encryption.
Eine Alternative wäre es aus den Rechner-Eigenschaften / Festplatte / MAC / Hardware ID einen Schlüssel zu bilden und diesen online mit einem Registrier-Service abgleichen, der das Zählen übernimmt. Damit wäre eine lokale Datei überflüssig und du brauchst dich auch nicht um den Fall zu kümmern, dass der Anwender die Datei löscht und deine Anwendung neu installiert. Grüße, Daniel
Ich glaube kaum, dass sich jemand davon aufhalten lassen wird, wenn deine Software gut ist ;)
Klar, es gibt Mittel und Wege um auch den Quelltext zu schützen, aber du stehst ja nicht so auf "kompliziert".
Aber mal ein anderes Problem:
Du willst 5 Starts erlauben? Nehmen wir an der User ist dumm (bzw. stellt sich dumm an, is ja fast Standard) und das Programm schmiert ihm locker 5 ma hintereinander ab beim Testen, was machstn dann?
Seine Reaktion wird sein: Sch**ß Programm, das stürzt nur ab und jetzt kann ich es nicht mal mehr Starten zum Testen!?
Lg,
Karill