![]() |
Was macht Windows, was lässt es zu?
Hallo!
Ich konzipiere einen Lizenzierungsmodus für meine Software, der eine Demonutzung über 30 Tage zulässt und dann die Freischaltung fordert, andernfalls eine Nutzung ausschließt. Verhindert werden soll das Überlisten der Nutzungsdauer durch Manipulation der Systemzeit und das Rückstellen durch Neu-Installation. In dem Zusammenhang stellen sich mir folgende Fragen: 1. Muss der installierende Anwender Administratorenrechte haben, damit während der Installation eine Datei in das Windows- oder ein System-Verzeichnis kopiert werden kann? Welche Unterschiede gibt es zwischen Vista, XP und 2000? 2. Welche Dateien schreibt Windows mit Tagesdatum beim Systemstart? Welche Unterschiede gibt es zwischen Vista, XP und 2000? 3. Gibt es Windows-Unterordner, deren Datum keine Veränderung erfährt? Welche Unterschiede gibt es zwischen Vista, XP und 2000? 4. Wenn die Systemzeit geändert wird, wird eine WM_TIMECHANGE-Nachricht gesendet, die mein Programm jedoch nur erhält, wenn es aktiv ist. Gibt es eine Spur, die Windows im Fall einer Systemzeit-Änderung hinterlässt, die mein Programm lesen kann, wenn es erst nach der Änderung startet? Gruß Rüd |
Re: Was macht Windows, was lässt es zu?
Zitat:
Zitat:
|
Re: Was macht Windows, was lässt es zu?
Zitat:
Habe mit der Antwort ein bisschen gewartet, da ich gehofft hatte, noch ein paar Informationen mehr zu bekommen. Inzwischen habe ich zwei Dateien im Windows-Verzeichnis gefunden, die XP und Vista mit dem Start tagaktuell schreibt, nämlich WindowsUpdate.log und bootstat.dat Kann mir das jemand für 2000 bestätigen? Danke und Gruß Rüd |
Re: Was macht Windows, was lässt es zu?
Zitat:
Ich fuerchte, Du machst Dir da einen Haufen Arbeit, die nicht wirklich von Erfolg gekroent sein wird. |
Re: Was macht Windows, was lässt es zu?
Ein bisschen OT: Es zeigt sich immer wieder, daß enorm viel Aufwand in Raubmordkopierschutzvorrichtungen gesteckt wird, der besser im eigentlich Produkt angelegt wäre. Gute Produkte machen gutes Geld, denn glückliche Kunden zahlen auch gerne.
Sherlock |
Re: Was macht Windows, was lässt es zu?
un am Ende ändert irgendwer ein Byte in der Programmdatei (EXE) und schon wird das Ganze Datumsüberprüfe einfach übersprungen :roll:
|
Re: Was macht Windows, was lässt es zu?
@ mashutu, Sherlock, himitsu
Für mich macht es einen Unterschied, ob ein 0815-Anwender ein System-Datum, das BIOS-Datum oder ein Byte in der Programmdatei ändert. Jedenfalls hebe ich nicht die Hände, veröffentliche nur noch Vollversionen und bitte um Spenden. Gruß Rüd |
Re: Was macht Windows, was lässt es zu?
Hallo
Also ich würde das so versuchen: 1. Datum merken 2. Auch während das Programm ausgeführt wird vergleichen (nich nur beim Start) Wenn das aktuelle Datum <= als das gemerkte ist, stimmt was nicht! 3. Wenn das Programm eine Datumsänderung verzeichnet auch das merken! Sonst ist bei erneuter Änderung das Prog uU wieder lauffähig 4. Das Systemdatum so genau wie möglich erfragen und merken (1ms-Schritte / 100ns-Schritte) Sonst könnte eine andauernde Manipulation im ns-Bereich unbemerkt bleiben Mehr Arbeit aber auch sicherer: 5. Datum aus der KUSER_SHARED_DATA page lesen. Damit schließt du manipulierte API-Aufrufe (weitestgehend) aus. MfG |
Re: Was macht Windows, was lässt es zu?
Zitat:
Mit Nr. 5 habe ich mich noch nicht befasst. Würde ich aber, wenn dadurch der Erfolg folgender Manipulation ausgeschlossen werden kann, den ich durch meine Methode bislang nicht verhindern kann: Zurückstellen der Systemzeit und Computerneustart. Was wird wann, wie oft in den Speicherbereich geschrieben? Gruß Rüd |
Re: Was macht Windows, was lässt es zu?
bei dem ganzen vorhaben solltest du nicht vergessen das es sommer und Winterzeit gibt und ab und an über einen Zeitserver die Zeit synronisiert wird.
|
Re: Was macht Windows, was lässt es zu?
Problem bei Funktionen wie GetSystemTime, GetSystemTimeAsFileTime und sogar Nt/ZwQuerySystemTime: sie können gehookt sein. Das heißt du bekommst einfach falsche Werte für die Systemzeit.
Deshalb würde ich direkt von der ![]() Die Adresse ist:
Code:
mfg
0x7ffe0000
|
Re: Was macht Windows, was lässt es zu?
Zitat:
@ SirThornberry Die Stunde hin und her bei Sommer- und Winterzeit dürfte bei einer Tagesabrechnung keine Rolle spielen. Im schlimmsten Fall wird dem Anwender ein Tag zusätzlich gegönnt. Gruß Rüd |
Re: Was macht Windows, was lässt es zu?
Liste der Anhänge anzeigen (Anzahl: 1)
Hier is nen kleines Beispiel für die Benutzung de KUSER_SHARED_DATA page
|
Re: Was macht Windows, was lässt es zu?
Zitat:
Daher noch einmal meine Frage: Wenn der Anwender die Systemzeit zurückstellt und den Computer neu startet, bekomme ich dann von der KUSER_SHARED_DATA page noch richtige Werte für die Systemzeit? Gruß Rüd |
Re: Was macht Windows, was lässt es zu?
Zitat:
Alternativ kannst du auch
Delphi-Quellcode:
durch
writeln(...);
Delphi-Quellcode:
ersetzen. Dann zeigt er ne MessageBox an.
MessageBox(0, PCHAR(...), '', MB_OK);
Zitat:
Der einzige Vorteil dabei liegt darin, dass du nicht Gefahr läufst auf getürkte API-Aufrufe reinzufallen. Ist nämlich die GetSystemTime gehookt und du benutzt diese Funktieon, so kann dir der Angreifer jeden Wert als Datum verkaufen, den er will. Von daher würde ich dir das schon empfehlen. mfg |
Re: Was macht Windows, was lässt es zu?
Zitat:
Gruß Rüd |
Re: Was macht Windows, was lässt es zu?
Das sollte unter NT4, 2k, xp und vista funktionieren.
Um sicher zu gehen solltest dus aber noch mal testen. |
Re: Was macht Windows, was lässt es zu?
Zitat:
Gruß Rüd |
Re: Was macht Windows, was lässt es zu?
Zitat:
Nur Vista wusste ich nicht. MfG :xmas: |
Re: Was macht Windows, was lässt es zu?
Zitat:
|
Re: Was macht Windows, was lässt es zu?
Zitat:
Wünsche eine schöne Zeit, Rüd |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:06 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz