Frage

Ich frage mich, ob ich jemals ein anderes Ergebnis erhalten, wenn eine Prüfsumme auf einer Exe-Datei vor und dann produzieren, während oder nach dem die Datei ausgeführt wird. Ich bin mehr mit üblichen Praxis (wie ein SHA-Hash des populärsten App wie firefox.exe produzierend) als mit Grenzfällen, aber beide sind interessant. Danke.

War es hilfreich?

Lösung

Die Hash einer Datei sollte so lange konstant, wie die Datei identisch ist (d.h. enthält nur das gleiche Bytes, in der gleichen Reihenfolge). Es ist sehr selten, Anwendungen zu finden, die ihre On-Disk-Darstellung zur Laufzeit neu zu schreiben, so dass der Hash sollte konstant sein. Es gibt selbst modifizierende Programme, aber sie neigen dazu, auf die in-Speicher geladen Kopie ihres Codes zu arbeiten, anstatt die Festplatte kopieren.

Edit: Wir sollten „Self-Aktualisierung“ Anwendungen berücksichtigen, aber diese neigen dazu, ein wenig Hilfsprogramm zu starten, um die Kern-Anwendung herunterladen und aktualisieren. Es ist schwierig, (vor allem unter Windows), um eine Ausführung zu aktualisieren, während es läuft. UNIX-Systeme sind in der Regel Kopie bei Schreib Systemen zu betreiben, ist es so möglich, dass ein Software-Update der ausführbare Datei unter den Füßen ändern könnte - aber auch dies ist ein „Ecke Fall“

.

Andere Tipps

Der Hash wird nur dann, wenn die exe ändert. Das geschieht nur, wenn die Anwendung selbst modifiziert, die nicht auf Windows ohne die App Neustarten passieren. Firefox könnte aktualisieren selbst (einschließlich einem Neustart), aber abgesehen von solchen Fällen die Hash wird das gleiche bleiben.

Der Hash wird, wenn die Datei ändert.

EXE-Dateien selten auf ihre eigenen ändern. firefox.exe würde, wenn der Benutzer Updates auf eine neue Version ändern.

Sie können prüfen, die „Änderungsdatum“ Attribut einer EXE-Datei (wie firefox.exe), nachdem er ausgeführt wird, um zu sehen, ob sie sich geändert hat, aber Sie werden wahrscheinlich hat sie nicht gefunden.

Wenn Sie die Änderung der letzten Zugriffszeit bedeuten, keine Sorge, es auf Dateisystemebene gespeichert wird, nicht in der Datei so der Hash wird das gleiche bleiben.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top