30 Tage Testversion: Wie ?

xeEEenon

Mitglied
Hoi,

ich wollt mal fragen wie ich in mein Programm eine 30 Tage Testversion einbaun kann und wie man es einigermaßen sicher macht
 
Hallo, vielleicht mit Javascript einen Countdown erstellen. Und wenn die "Zeit" abgelaufen ist mit einer msgbox abfangen und das Programm wieder beenden

lg abe
 
Hallo ,

erstelle irgendwo in der Registry einen von mir aus MD5 verschlüsselten String
mit dem Installationsdatum. Dieser Eintrag wird aber erst beim ersten Programmstart
erzeugt und nicht von der Installation. Somit wird dieser nach einer Deinstallation auch nicht entfernt und das Programm kann ohne Lizens nur wieder lauffähig gemacht werden wenn Windows platt gemacht wird oder man den Registry Schlüssel findet.

Gruß
Jens
 
Hallo xeEEenon!

Uhh, ich trau mich mal in's VB-Forum. :D

@JensG:
Sag mal wie stellst Du Dir das überhaupt mit einen MD5-Key vor? Soll er ihn etwa entschlüsseln und dann das Datum vergleichen? LOL :p Aber Spaß bei seite.
Er soll jetzt für die letzten 30 Tage MD5 Key`s erstellen und mit dem in der Registry vergleichen. Das meintest Du doch.

Du könntes zusätzlich ja noch in den Thread hier schau'n:
[thread=186655]Seriennummerngenerator (nicht illegal, andersrum)[/thread]
Ich fand's interessant und denke das es Dir im nachhinein vielleicht mit helfen kann.

MfG, cosmo
 
Zuletzt bearbeitet:
Hallo cosmo,

cosmochaosmaker hat gesagt.:
@JensG:
Sag mal wie stellst Du Dir das überhaupt mit einen MD5-Key vor? Soll er ihn etwa entschlüsseln und dann das Datum vergleichen? LOL :p Aber Spaß bei seite.
Er soll jetzt für die letzten 30 Tage MD5 Key`s erstellen und mit dem in der Registry vergleichen. Das meintest Du doch.

Wo ist das Problem das Datum des ersten Startvorgangs des Programms verschlüsselt
in der Registry abzulegen und jedesmal bei Starten einmalig zu prüfen ob entweder ein Lizensschlüssel vorliegt (wie auch immer als Datei oder ebenfalls Registryeintrag) oder das Datum nicht länger als 30 Tage zurückliegt ?
Sind 30 Tage abgelaufen muss nur nur irgendwo festgehalten werden das dieses Datum schon mal überschritten wurde, damit das zurücksetzen des Datums nichts bringt.
Er soll nicht für die letzten 30 Tage Keys erstellen sondern sich so nur das erste Datum merken.
Ich bin mir nicht sicher ob das die gängige Variante ist aber testweise habe ich das mal mit Shareware ausprobiert in dem ich die Registry überwacht habe nach der Installation.
Alleine vom Deinstallieren der Shareware konnte ich diese auch durch Neuinstallion nicht mehr ans rennen bekommen. Aber nach dem ich die Aufzeichnung aus der Registry entfernt hatte, die das Prog beim ersten Start erzeugt hat, ging es wieder. Wie ich das gemacht habe gehört hier jetzt nicht her, hoffentlich gibts keine Verwarnung :)

Wie er eine Seriennummer oder einen Lizenskey erstellt ist ne andere Geschichte.
Aber es muss ja geprüft werden ob das Prog noch im Testzeitraum liegt.
Richtlinien gibt es eh keine, jeder sollte seiner Phantasie freien lauf lassen, es muss halt nur sicher sein.

Gruß
Jens
 
Hallo JensG!
Wo ist das Problem das Datum des ersten Startvorgangs des Programms verschlüsselt in der Registry abzulegen
Das hab ich nicht gesagt.
Sind 30 Tage abgelaufen muss nur nur irgendwo festgehalten werden das dieses Datum schon mal überschritten wurde, damit das zurücksetzen des Datums nichts bringt.
Willst Du jetzt noch zusätzlich irgendwo hinterlegen dass das Datum abgelaufen ist oder verstehe ich dich jetzt falsch? Was würde das bringen?
Er soll nicht für die letzten 30 Tage MD5-Key's erstellen sondern sich so nur das erste Datum merken.
Ich meinte das anders. Beim Programmstart werden für die letzten 30 Tage MD5 Key's erstellt und überprüft ob einer gleich ist. Wenn es so ist haben wir doch unser eindeutiges Indiz das wir uns noch inder Testphase befinden. Somit ist ein weiterer Vermerk dass das Datum abgelaufen ist, auch hinfällig. Er brauch sich ja dann nur noch die Tage bis zum jeweiligen MD5-Key ausrechen.

MfG, cosmo
 
Hallo Cosmo,
cosmochaosmaker hat gesagt.:
Willst Du jetzt noch zusätzlich irgendwo hinterlegen dass das Datum abgelaufen ist oder verstehe ich dich jetzt falsch? Was würde das bringen?

Damit wüßte das Prog wenn es einmal über die Testphase hinaus war das es auch beim manipulieren des Systemdatums nicht mehr laufen darf :)

cosmochaosmaker hat gesagt.:
Ich meinte das anders. Beim Programmstart werden für die letzten 30 Tage MD5 Key's erstellt und überprüft ob einer gleich ist. Wenn es so ist haben wir doch unser eindeutiges Indiz das wir uns noch inder Testphase befinden. Somit ist ein weiterer Vermerk dass das Datum abgelaufen ist, auch hinfällig. Er brauch sich ja dann nur noch die Tage bis zum jeweiligen MD5-Key ausrechen.

Ja sicher so kann man das natürlich auch machen, kein Thema.
Ich meine aber den Key auslesen entschlüsseln und dann mit einen Datumsvergleich nach Addition von 30 Tagen zu machen ist performanter, aber ich jetzt hier mal nicht
den Krümelkacker spielen :)
Beide Lösungen sind sicher machbar ohne das man éinen Unterschied merkt.

Gruß
Jens
 
<Krümelkacker Mode ON> ;-)

Code:
MD5 ist nicht reversibel
Wenn er den DES, SHA, einen eigenen Algorithmus oder was auch immer verwendet ist deine Variante die richtige.
Wenn es sicher sein soll, dann der der MD5-Abgleich.

<Krümelkacker Mode OFF> ;-)

Damit wüßte das Prog wenn es einmal über die Testphase hinaus war das es auch beim manipulieren des Systemdatums nicht mehr laufen darf
Sorry, falsch verstanden. Gute Idee! :D Daran hab ich jetzt nicht gedacht.

MfG, cosmo
 
Hallo Jens!

Mich würde interessieren, wie man die Registry so wiederherstellen kann, dass man eine Testversion wieder zul laufen bringt.
 
Hi und willkommen im Forum

Wie wäre es, den Key wieder zu löschen?! ;)
siehe RegistryKey.DeleteSubKey, RegistryKey.DeleteSubKeyTree und/oder RegistryKey.DeleteValue
 
Zurück