Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Was macht Windows, was lässt es zu? (https://www.delphipraxis.net/125465-macht-windows-laesst-es-zu.html)

Rued 6. Dez 2008 15:04


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

mkinzler 6. Dez 2008 15:07

Re: Was macht Windows, was lässt es zu?
 
Zitat:

1. Muss der installierende Anwender Administratorenrechte haben, damit während der Installation eine Datei in das Windows- oder ein System-Verzeichnis kopiert werden kann?
Ja
Zitat:

Welche Unterschiede gibt es zwischen Vista, XP und 2000?
Bei Vista und aktivierter UAC muss Anwender zusärtlich bestätigen

Rued 11. Dez 2008 12:57

Re: Was macht Windows, was lässt es zu?
 
Zitat:

Zitat von mkinzler
Zitat:

1. Muss der installierende Anwender Administratorenrechte haben, damit während der Installation eine Datei in das Windows- oder ein System-Verzeichnis kopiert werden kann?
Ja
Zitat:

Welche Unterschiede gibt es zwischen Vista, XP und 2000?
Bei Vista und aktivierter UAC muss Anwender zusärtlich bestätigen

Hallo mkinzler!

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

mashutu 11. Dez 2008 15:22

Re: Was macht Windows, was lässt es zu?
 
Zitat:

Zitat von Rued
[...]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

Wenn der Anwender vor dem Start das System-Datum im BIOS aendert, duerfte dieses Datum nicht zuverlaessig sein.

Ich fuerchte, Du machst Dir da einen Haufen Arbeit, die nicht wirklich von Erfolg gekroent sein wird.

Sherlock 11. Dez 2008 15:53

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

himitsu 11. Dez 2008 16:08

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:

Rued 13. Dez 2008 23:10

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

new32 14. Dez 2008 08:47

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

Rued 14. Dez 2008 10:36

Re: Was macht Windows, was lässt es zu?
 
Zitat:

Zitat von new32
...
Mehr Arbeit aber auch sicherer:
5. Datum aus der KUSER_SHARED_DATA page lesen. Damit schließt du manipulierte API-Aufrufe (weitestgehend) aus.
MfG

Hallo!

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

SirThornberry 14. Dez 2008 11:08

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.


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:48 Uhr.
Seite 1 von 3  1 23      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz