Zitat:
Wenn ich das richtig verstehe, geht es doch um den SEED des Pseudozufallszahlengenerators. Seien es jetzt CPU-Taktzyklen oder die Uhrzeit, warum genau kann man diese Wert nicht auf ein paar Milliarden Möglichkeiten eingrenzen? Die Uhrzeit des Befalls zumindest kennt man doch relativ exakt. Somit könnte man doch in vernünftiger Zeit Bruteforcen.
Die Uhrzeit ist nicht wichtig, interessant währe, wie lange Windows schon lief (auf die Millisekunde genau).
Der vorherige Wert des Zufallsgenerators ist hier nur ein Faktor der über den nächsten ausgelesenen Wert entscheidet. Die Anzahl der benötigten CPU-Takte bis zum nächsten Abruf eines Wertes wird in die Berechnung mit einbezogen. Diese Anzahl wird nicht nur durch den Prozessor sondern auch dessen Umgebung (Speicher usw.) beeinflusst. Die einzelnen CPU-Befehle werden intern auf mehrere Recheneinheiten verteilt und laufen zum Teil parallel ab. Auf einem Windowssystem laufen viele Threads parallel, die natürlich die selben Einheiten und Warteschlangen nutzen und damit die Laufzeit beeinflussen. Diverse Hardware insbesondere OnBoard-Soundkarten oder Grafikkarten nutzen ebenfalls Teile des Prozessors.
Zwischen den einzelnen Abfragen konnte ich Werte für die CPU-Takte messen die häufiger auftraten, aber dazwischen waren immer auch viele Abweichungen. Das Passwort wird aus einer ganzen Reihe von Abfragen dieses Generators zusammengebaut.