Datei plötzlich korrupt?

Deathwing

Cadet 4th Year
Registriert
Mai 2009
Beiträge
108
Hallo ihr Lieben,

ich habe gestern eine extrem merkwürdige Beobachtung auf meinem Rechner gemacht, und würde gerne einmal fragen, ob mir das jemand erklären kann.

Und zwar habe ich vorgestern einen Fan-Patch für ein Spiel heruntergeladen. Dieser war ca. 500 MB groß und lag direkt im Exe-Format vor (keine Archivdatei). Anschließend habe ich ihn auf meine USB-Festplatte kopiert und dort über Nacht liegen lassen. Gestern habe ich ihn von dort wieder auf meinen Zweitrechner verschoben. Als ich ihn schließlich ausführen wollte, funktionierte zunächst alles wunderbar. Der normale Auswahldialog für das Zielverzeichnis erschien und der Patchvorgang konnte ohne Probleme gestartet werden. Kurz danach trat allerdings eine Fehlermeldung ähnlich der Folgenden auf:
"The cabinet file 'disk1.cab' required for this installation is corrupt and cannot be used. This could indicate a network error, an error reading from the CD-ROM, or a problem with this package."

Was laut kurzer Recherche eine recht generische Meldung zu sein scheint. Daraufhin habe ich den Fan-Patch auf meinem Zweitrechner erneut aus gleicher Quelle heruntergeladen. Die Installation verlief problemlos.

Neugierig geworden, habe ich den Patch auf einem dritten Rechner noch ein drittes Mal heruntergeladen. Danach habe ich mit einem Hex-Editor die Dateien binär verglichen. Wie erwartet, war der dritte Download identisch zum Zweiten. Zu der Kopie des ersten Downloads (welcher über die TOSHIBA-USB-Festplatte gewandert ist) gab es jedoch Unterschiede.
Zuletzt habe ich die drei Dateien noch mit dem (aller-)ersten Download verglichen, von dem aus ich auf meinem Hauptrechner die Kopie auf der USB-Festplatte erstellt hatte.
Resultat war: Auch der erste Download ist mit dem Zweiten und Dritten identisch. Nur die Datei, welche ich mit der USB-Festplatte kopiert hatte, ist ungültig geworden.

Die erste Vermutung wäre natürlich, dass es an der Festplatte liegt, das ist aber eigentlich nicht möglich. Diese benutze ich ständig um Dateien von A nach B zu kopieren. Auch viele Archivdateien wie RAR oder 7z, welche durch ein kippendes Bit eigentlich sofort ungültig werden müssten. S.M.A.R.T. Werte sehen auch alle Top aus!
Und selbst wenn, müsste so etwas nicht sowieso durch den CRC-Check erkannt werden und noch vor Ausführung der Datei gemeldet werden?

Ich habe auch nochmal versucht die selbe Datei auf die (wieder leer gemachte) Festplatte zu kopieren, wieder herunter zu kopieren und zu vergleichen. Alles funktionierte problemlos. Und da die Festplatte auch beim ersten Kopiervorgang leer war, müssten eigentlich die selben Sektoren verwendet worden sein.
Es ist auch nicht so, dass die Festplatte über Nacht großartigen Temperaturschwankungen ausgesetzt war...

Eine andere Erklärung wäre noch, dass es ein Virus war. Ich muss dazu sagen, dass der Zweitrechner potentiell virenverseucht ist. Kann es sein, dass ein Virus versucht hat, die Exe -bzw. Patchdatei mit sich selbst zu infizieren, dabei aber ungeschickterweise die Datei zerstört hat? -Leider kann ich 500 MB Dateien nicht bei Virustotal hochladen.

Dagegen würde aber auch wieder sprechen, worin der Unterschied zwischen der zerstörten Datei und den drei "Gesunden" besteht. Laut Hex-Editor besteht Dieser nämlich nur aus einem einzigen, zusammenhängenden, aber relativ kleinen Block. Genau von Adresse 0x024A0000 bis 0x024A3FF8 der bis Adresse 0x201165A6 reichenden Datei, sind so gut wie alle Bytes unterschiedlich.
Ein auf den neuesten Stand geupdatetes AVIRA findet auch keinen Virus in der defekten Datei.

Nun bin ich jetzt kein kompletter Vollhonk, was dieses Thema anbelangt, immerhin hab ich ein Informatikstudium hinter mir, aber das kann ich mir absolut nicht erklären.
Kann mir da jemand auf die Sprünge helfen?

Danke.
 
Zuletzt bearbeitet:
Prüfsummen werden nur für die jeweilige Schicht überprüft.

Also beispielsweise während der Übertragung über den Gerätetreiber für die USB Übertragung und während des Schreibens auf die Platte.

Normalerweise reicht das aus. Damit können Bitströme jeweils für den übertragenen Teil auf Fehler untersucht werden.
Wenn es aber nur eine Parity Überprüfung ist, dann kann es passieren, daß Fehler entstehen.
Ebenso, wenn ein Sektor der Platte nicht mehr zuverlässig speichert. Die Prüfsumme ist auf der Platte für die Sektoren bzw. Blöcke gespeichert. Diese wird erst beim Lesen wieder überprüft und nicht ständig.

Der Standard Explorer von Windows prüft nicht, ob die Quelldaten mit den Zieldaten identisch sind.
Wenn Du einen Kopierer mit Verifizierung nutzt, ist es leider auch nicht sicher, daß die Daten wirklich noch nach einiger Zeit gelesen werden können.

Und wenn der Treiber z.B. bei einem USB Strom keinen Fehler entdeckt, dann hat man leider Pech gehabt.
 
Zurück
Oben