RunAsDate umgehen

  • VB.NET

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von INOPIAE.

    RunAsDate umgehen

    Hallo,

    Kennt jemand eine Möglichkeit wie man Programme wie RundAsDate umgehen kann?

    Ich erstelle gerade eine von meiner Applikation eine Testversion, welche natürlich Zeitlich begrenzt ist. Programme wie z.B. RunAsDate teilen der Applikation eine falsche Zeit. Somit kann man den Testzeitraum theoretisch unendlich machen.

    Wie könnte man so was umgehen?

    LG
    Alle Dateien in C:\Windows auf letzte Schreibzeit prüfen. Das jüngste dürfte das heutige Datum anzeigen.

    VB.NET-Quellcode

    1. Dim LatestDate = New IO.DirectoryInfo("C:\Windows").GetFiles.Max(Function(x) x.LastWriteTime)

    Manipulation wird da etwas schwieriger.
    Wenn kein Zugriff drauf besteht, könnte ein Programm versuchen, diesen Weg zu blockieren. Dann würd ich auch davon ausgehen, dass jemand die Testzeit hinauszögern will und ich würd das eigene Programm beenden.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    Ja. Klar :) Das ist aber bei meinen zukünftigen Kunden ein sehr heikles Thema. Ich sag nur IT - Richtlinien.

    Wenn ein Kunde die Lizenz(en) kauft installieren wir beim Kunden lokal einen Lizenz-Server.
    Das geht teilweise so weit, das die IT des Kunden drauf besteht, das die in unserer Anwesenheit das System Formatieren und das Betriebssystem aufsetzen. Danach dürfen wir unsere Lizenz - Software installieren und das System sperren.
    Wenn der Kunde die Lizenz(en) nicht verlängern, will die IT des Kunden in unserer Anwesenheit das System formatieren bevor wir den Rechner mitnehmen dürfen. Usw.

    Da musst du nur Kopfschütteln.
    Warum die Zeit aus dem Internet holen, wenn man diese auch aus dem internen Netzwerk holen kann (ip-insider.de/zeitsynchronisie…tive-directory-a-869113/).

    Ein anderer Ansatz ist es, man setzt eine eigene CA auf, die Lizenzdatei wird dann mit einem Zertifikat dieser CA signiert. Wenn die vereinbarte Laufzeit abgeschlossen ist, wird dieses Zertifikat dann zurückgerufen.

    Oder man holt sich ein Kaufzertifikat. Bei einer eigenen CA hat man etwas mehr Einfluss auf die Laufzeit des Zertifikates. Bei einem Kaufzertifikat, ist die Laufzeit m.W, auf maximal 3 Jahre beschränkt. (Es kann inzwischen auch schon kürzer sein.)

    Zur Prüfung der Laufzeit, wird dann per OCSP geprüft, ob das Zertifikat noch nicht gesperrt ist.

    M.E. sollte man eine IT, wie Du sie beschrieben hast, bewegen können, diese Kommunikation zu zulassen, die eigentlich eh schon vorhanden sein sollte.
    NB. Es ist doch schön, wenn man lesbare Namen vergibt. Siehe auch [VB.NET] Beispiele für guten und schlechten Code (Stil).

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „INOPIAE“ ()