Hallo Robert, Robert Michel <[EMAIL PROTECTED]> wrote: > Ersteinmal vielen dank für die Hilfe - mit foremost würden die > Dateinamen verlohren gehen,
Jain. Weil man foremost zur Wiederherstellung verwenden kann, wenn die Dateinamen (sprich das Inhaltsverzeichnis) bereits nicht mehr vorhanden sind. > also werde ich etwas eigenes Basteln, Lass Dir doch das was foremost findet erstmal ausgeben und bennen die Dateien danach um. Wäre aus meiner Sicht der kleinere Aufwand. > habe aber mit dem Rechnen von Hexadressen keine Erfahrung - also > wird es zusätzlich noch etwas länger dauern, soetwas wäre nett: > > hexdumpapart Anfangsadresse Endadresse rawdata exportname Genauso geht foremost auch vor. Und es übernimmt für Dich die Suche nach Anfangsadresse. Wenn das Dateiformat eine Längenangabe beinhaltet, dann sogar auch noch für Endadresse. Exportname, wie oben schon erwähnt einfach danach umbenennen. > Mein skript soll später den alten Dateinamen auch verwenden, Wenn der noch zu finden ist, dann nimm sleuthkit/autopsy. Gibt es den nicht mehr, dann bist Du der einzige der ihn kennt. d.f. umbenennen. > -Wie kann man mit Hexadressen in einem Shellskript umgehen? z.B. so --- hex2dec.sh ---------------------------- #!/bin/sh let "hex = 0x$1" echo "Hexadezimal: 0x"$1 echo "Dezimal : "$hex ------------------------------------------- oder so --- hex2dec.sh ---------------------------- #!/bin/sh echo "Hexadezimal: 0x"$1 echo -n "Dezimal : " echo "ibase=16; $1" | bc ------------------------------------------- > -Gibt es einen Hexeditor, der die Adressen Dezimal angibt? Kenne ich keinen. > -Oder sollte man zu einer Skriptsprache Python/Perl greifen? Kommt drauf an was man bereits kennt, was man machen will, wie komfortable es zum Schluß werden soll. Für viele Dinge reichen auch "Boradmittel" (hexdump, bc, $SH, ...). > > Wenn nur der erste Sektor beschädigt/gelöscht wurde, dann > > könntest Du diesen mit dd von einer anderen Karte mit gleicher > > Kapazität und gleicher Formatierung kopieren. Das würde Dir etwas > > nutzen, wenn nicht noch weitere Sektoren beschädigt sind. > > Ja, dafür muß ich aber wissen welchen Bereich ich kopieren muß. > Ich lag übrings falsch - es ist _keine_ Superdisk sondern > die formatierte Karte kann ich per /dev/hde1 ansprechen. Wenn es nur der erste Sektor ist: - funktionieren Karte einstecken - dd if=/dev/hde of=cf_mbr.bin bs=512 count=1 - Image der nicht funktionierenden Karte mounten - dd if=cf_mbr.bin of=/dev/loop0 bs=512 count=1 - Image unmount der nicht funktionierenden Karte - Image der nicht funktionierenden Karte wieder mounten Nachschauen ob es was gebracht hat. Wenn nicht Imagekopie löschen und durch Backup, für weitere Versuche, ersetzen. > > Wenn auf der Karte zuvor häufig Dateien gelöscht, überschrieben, > > neu angelegt wurden, dann sind die Erfolgschancen wegen der > > dadurch entstandenen Fragementierung eher gering. > > Wie sieht es aus, wenn eine Datei zerstückelt ist? > Der zweite Teil hat keinen Header. Gibt es irgendwie > Sprungadressen/Zeiger? Schlecht. Angenommen Du hast eine leere Karte und speicherst darauf nacheinander die Dateien A, B und C. Dann liegen die Daten dieser Dateien auch aufeinander folgenden Sektoren. 1) FAT - stilisiert (# soll leere Sektoren andeueten) AAAAABBCCC############# 2) nun löschst Du Datei B AAAAA##CCC############# 3) und speicherst Datei D AAAAADDCCCDDD########## Löschst Du nun nur Datei D, dann sind Wiederherstellungchancen, trotz Fragmentierun sehr gut. Zum einen steht im Inhaltsverzeichnis noch der erste Sektor und die Größe der Datei, die von der Datei vor dem löschen belegt wurde. Wird die Karte (schnell) formatiert, dann wird die FAT und das Hauptverzeichnis gelöscht. Es fehlen im allgemeinen folgende Informationen, der ehemalige Name der Datei, der erste von der Datei belegte Sektor und die ehemalige Größe der Datei. Ist im Dateiheader der Dateien deren Größe mit gespeichert, dann wird foremost folgendes wieder herstellen. Datei A: komplett AAAAA, weil alle Sektoren der Datei aufeinander folgen Datei D: fehlerhaft DDCCC, weil nicht zu erkennen ist das die letzten Sektoren eigentlich zu Datei C gehören Das bedeutet. War vorher eine Fragemtierung der Daten vorhanden, dann ist es nicht mehr so einfach die originalen Dateien zu rekonstruieren. Je stärker die Fragmentierung, desto höher der Aufwand. Letztendlich kann man nur versuchen, zuerst die Dateien zu ermittlen die nicht fragmentiert gespeichert wurden. Die von diesen Dateien belegten Sektoren aufschreiben und dann durch mehr oder weniger trial and error die anderen Dateien zusammen zu stückeln. > Wie kann Verzeichnisstruckturen wiederherstellen? Informationen über FAT (oder das betreffende Dateisystem) lesen. > Und wenn wenn man Teile erfolgreich zugeordnet hat, wie verwaltet > man die Wiederherstellung am besten? Eintragen der bekannten > Bereiche in eine Liste/Tabelle/Papier??? Kommt drauf an wie wichtig die zu rekonstruierenden Daten sind. Allgemein würde ich sagen, im privaten ist es oft den Aufwand nicht wert. Sich ein brauchbares Backup einzurichten ist wesentlich weniger aufwendig. Für viele Sachen würde ja schon etwas in der Art 'tar czf Sicherung_home.tgz $HOME/.' ausreichen. Muß ja nicht immer die super-duper-vollautomatisch-inkrementelle Sicherungsstrategie sein. Frank -- A: Because it breaks the logical sequence of discussion Q: Why is top posting bad?