Ist es möglich, eine Datei aus einem Disk-Image (DD-Image) wiederherzustellen, wenn Dateikopf-/-fußzeile oder Signatur geändert/modifiziert oder entfernt wurden?
Ich meine zum Beispiel, ob die Signatur des Bitmap-Bildes (0x42 0x4d) oder sogar die ersten 30 Bytes entfernt oder geändert wurden?
Wenn nein, wie kann die Datei auf alternative Weise wiederhergestellt werden, ohne dass die Dateisignatur dafür verwendet wird? Wenn ja, wie wird das gemacht?
Antwort1
Sie können stattdessen die verbleibende Dateisystemstruktur analysieren.
Beispielsweisedie FAT-Familie von Dateisystemenzeigt an, dass eine Datei gelöscht wurde, indem das erste Byte des Dateinamens in einem Verzeichniseintrag mit dem Bytewert 0x3F überschrieben wird. Der Rest der Metadaten (einschließlich des größten Teils des Dateinamens) ist unmittelbar nach dem Löschen noch vorhanden, sodass ein Programm, das direkt auf die Festplatte zugreift und nicht über das Betriebssystem, die Datei leicht finden kann. So funktioniert der DOS-Befehl „Undelete“.
Bei anderen Dateisystemen ist es ähnlich, obwohl im Allgemeinen weniger Informationen verfügbar sind. Aus der FAT-Familie können Dateien besonders leicht wiederhergestellt werden.
Antwort2
Das könnten Sie, wenn Sie eine Vorstellung davon hätten, wonach und wo Sie suchen müssen. Ein Bitmap (unkomprimiert) hat bestimmte statistische Eigenschaften und Sie könnten es möglicherweise rekonstruieren.
Es wäre zum Beispiel sehr hilfreich, im Voraus einen wahrscheinlichen Bereich für die Bildbreite zu kennen. Auch die ungefähre Farbskala zu kennen, wäre hilfreich.
Das eigentliche Problem dürfte darin bestehen, dass die Datei selbst in nicht zusammenhängende Sektoren aufgeteilt ist und die Informationen, die zum Zusammensetzen der Datei erforderlich sind, ebenfalls gelöscht wurden. Eine Bitmap, die klein genug ist, um in einen einzelnen Dateisystemcluster zu passen, hätte die besten Chancen.
Eine weitere durchaus realistische Möglichkeit besteht darin, dass durch die Löschung der ersten Bytes auch die restlichen Bytes oder ein ausreichend großer Teil davon gelöscht wurden, sodass eine Wiederherstellung nicht mehr lohnenswert ist, wenn sie überhaupt möglich ist.
Um zu versuchen, eine unkomprimierte DIB-Bitmap wiederherzustellen, suchen Sie nach Bytefolgen mit der Eigenschaft, dass die Werte in Tripletts variieren (d. h. bei einer Folge von N Bytes ist die Korrelation zwischen Pixeln mit Index Modulo 3 deutlich höher als bei jedem anderen Index, der kein Vielfaches von 3 ist). Dann prüfen Sie, ob eine ähnliche Korrelation mit einem höheren Index besteht, d. h. der Zeilenbreite, gerundet auf das nächste Vielfache von 4. Um Zeilenanfang/-ende zu bestimmen, sind weitere Analysen erforderlich.
Ohne mehr über den konkreten Fall zu wissen (Dateisystem, tatsächlich verwendetes Bitmap-Format, Bitmap-Größe,wie es gelöscht/überschrieben wurde, dd-Bildgröße, Grund der Operation) kann ich dir zu den Heilungschancen nur ein "vielleicht" sagen.