Ausführbarkeit eines Programms zeitlich limitieren

  • Themenstarter Themenstarter ByeBye 239685
  • Beginndatum Beginndatum
B

ByeBye 239685

Hallo,

ich möchte gerne ein Programm so gestalten, dass es z. B. nur 2 Wochen gestartet werden kann. Welche Möglichkeiten gibt es da? Hatte bisher was über Verbinden mit Daytimeserver (vielleicht hat einer auch dazu nen Link mit nem Beispielcode) gelesen, gibt es dazu ne Alternative? Systemzeit auslesen ist ja nicht gerade sicher ;-)
 
Hab das selbst noch nicht gemacht, aber hab da paar Sachen herausfinden können, die dir vielleicht weiterhelfen.

Also das was du meinst nennt sich NTP (Network Time Protocol). Hier findest du einige NTP-Server.

Funktionieren tut das Ganze in der Regel über UDP auf Port 123.
Auf Wikipedia wird auch ein wenig was zu NTP erklärt mit Verweisen auf weitere Seiten, die mehr Infos zu NTP beiten.

Auf jeden Fall wirst du mit DatagramSocket arbeiten müssen.
Dokumentation
Javainsel Tutorial
 
danke, sehr aufschlussreich. Vielleicht hat wer ein Beispiel, wie man mit JNA auf die Bioszeit zugreifen kann, denke die meisten User kommen nicht auf den Trichter und versuchen es mit der Windows Zeit.

Zu der Sache mit NTP, ich hatte da mal examples getestet, die griffen aber auf Port 13 zu und ich konnte keinen Server erreichen?
 
Hellas!

Habe ich einen kleinen Denkfehler od. wird das mit dem NTP-Server nicht funktionieren?

Ok, der NTP Server liefert vermutlich eine nicht manipulierte Zeit - Abgesehen von dem Umstand, dass man mit etwas Aufwand auch die Antwort vom NTP-Server faken kann.

Aber dort wo das Programm ausgeführt wird, muss man immer noch eine Information wie "Erster Ausführungszeitpunkt" etc. hinterlegen... Oder die Zeitspanne wie lange die Anwendung noch ausgeführt werden darf. Also eigentlich noch zwei Angriffspunkte, oder?

Beste Grüße,
Billie
 
Man müsste so oder so irgendwo einen Zeitpunkt speichern, ob nun der Ablauf- oder Startzeitpunkt und wenn man herausfindet, wo sich diese Information befindet, kann man da auch alles umstellen, wie man lustig ist...
 
wollte eine feste Endzeit nehmen, diejenigen die es bekämen, sind nicht so im Bilde, was Decompiler etc angeht, das wäre also ok.
 
Man müsste so oder so irgendwo einen Zeitpunkt speichern, ob nun der Ablauf- oder Startzeitpunkt und wenn man herausfindet, wo sich diese Information befindet, kann man da auch alles umstellen, wie man lustig ist...

könnte man nicht vielelicht in einer verschlüsselten Datei den ersten Start des Programms festhalten? Es könnte ja auch eine ganz unauffällige Daei sein, Format vermutlich ziemlich egal (Bild, Sound etc)
 
Was passiert denn mit dem Erstelldatum einer Datei wenn man die Systemzeit ändert?
Wird das Datum dann dementsprechend angepasst? Wenn nicht wäre das Auslesen dieses Datums vielleicht einen Gedanken wert. Man müsste nur einen Weg finden eine wichtige Datei zu benutzen, die der User nicht verändern kann z.B. eine systemrelevante Datei unter Windows.
 
Man könnte ja vielleicht auch einfach die Zeit nehmen, die das Programm gelaufen ist und so schick verstecken, dass man Jahrhunderte benötigte um herauszufinden wo es und auf welche Weise es gespeichert wird.
Zur allgemeinen Verwirrung von Hackern/Crackern kann man dann noch ein oder zwei Fallen in irgendwelchen oder gar angeblichen Konfigurationsdateien stellen.
Ein Problem bleibt natürlich dennoch: die Reinstallation der Anwendung. Vielleicht könnte man aber auch da Abhilfe schaffen, in dem man nach Ablauf der Probezeit z.B. etwas in dem Setup-Programm verändert ;-]
Naja ist halt so ein Gedanke
 
Zurück