Registriert seit: 12. Dez 2005
Ort: Schweiz
1.024 Beiträge
Delphi XE6 Starter
|
Überprüfung einer "Lizenz" möglichst sinnvoll gestalten
24. Jan 2016, 14:56
Hallo zusammen
Um es mal vorweg zu nehmen, mir ist bewusst, dass JEDE Schutzmasnahme umgangen werden kann.
Es geht mir hier nicht darum den ultimativen Schutz zu bekommen, sondern eine etwas verbesserte version eines simplen IF
Hintergrund:
Ich schreibe aktuell eine Software, welche ich gerne zusammen mit Lizenzen verteilen möchte.
Es geht hierbei auch um einen Lerneffekt und darum sich einmal mit diesen Techniken zu beschäftigen.
Ich habe mir ein Sicherheitskonzept überlegt, welches grundsätzlich sehr gut funktionieren sollte.
Zusammen mit der Software, wird ein Lizenzschlüssel mitgegeben. Dieser wurde zuvor auf einem Server hinterlegt.
Wenn nun die Software gestartet wird, prüft sie ob es eine Lizenzdatei gibt. Wenn nein, startet der Aktivierungsdialog.
1. Nun übermittelt die Software dem Server eine PC Kennung sowie den Lizenzkey.
2. Der Server prüft, ob die Software bereits aktiviert wurde. Wenn nein, erzeugt dieser eine Lizenzdatei.
3. Die Lizenzdatei wird mit dem Lizenzkey und der HWID verschlüsselt.
4. Beim erneuten Starten, findet die Software die Lizenzdatei und versucht diese mit dem Key und der HWID zu entschlüsseln.
5. Wenn dies erfolgreich geschehen ist, und der Inhalt der Datei korrekt ist, gilt die Software als lizenziert.
Mein Problem:
Das ganze Konzept mag noch so gut sein, schlussendlich basiert alles auf einer simplen IF Abfrage innerhalb der App.
Wie könnte man nun, mit geringem Aufwand, die Sicherheit ein wenig erhöhen?
Soll man die Prüfung in einem Timer durchführen, damit man beim Debuggen nicht automatisch an diese Stelle kommt?
Ich möchte lediglich die Hürde ein klein wenig erhöhen und etwas über die Techniken welche es gibt lernen.
Mir ist klar, dass, egal was ich mache, es wird immer knackbar sein.
Und noch so nebenbei, entspricht mein Lizenzierungskonzept dem üblichen Vorgehen?
Danke schonmal.
|