![]() |
|
|
![]() |
|||||||||||||
![]() |
||||||||||||||||
|
![]() |
#1 |
Registriert seit: 08.09.2004
Ort: A-Nebelberg
Beiträge: 1.649
|
Programm für Wiederherstellung von Sony RAW-Dateien
Hallo,
nach dem ich am Wochenende fast die Bilder auf einer 8 GB-Speicherkarte verloren hätte - ich hatte in cRAW fotografiert und es gibt nur wenige Programme, die ARW-Dateien wiederherstellen können, habe ich mich ein wenig mit der Thematik Wiederherstellung von RAW-Dateien beschäftigt. Die meisten meiner Bilder konnten wiederhergestellt werden, ein paar fragmentierte Bilder - da hatte ich zwischendurch was auf der Karte gelöscht - aber nicht. Ich bin Programmierer und ich würde gerne versuchen, ein Programm zu schreiben, mit dessen Hilfe auch fragmentierte Bilder wiederhergestellt werden können - nicht vollautomatisch, aber mit gewisser Unterstützung. Irgendwo am Anfang einer ARW-Datei müsste abgespeichert sein, wie groß sie ist (Camera RAW beschwert sich sofort, wenn die Datei nur um ein Byte zu kurz ist, aber überflüssige Bytes werden ignoriert) und ich müsste wissen, wie ich an diese Information gelange. Weiß jemand, wie ich zu diesen Informationen gelangen könnte bzw. wen ich kontaktieren soll? Das Programm könnte - zumindest im ersten Schritt - ausschließlich Sony RAW files wiederherstellen. Ich würde das Programm in C# entwickeln ... Lg. Josef |
![]() |
![]() |
Sponsored Links | |
|
![]() |
#2 |
Registriert seit: 28.09.2007
Ort: bei Ulm
Beiträge: 5.888
|
Hallo, Josef,
das ist ja ganz wunderbar, aber eigentlich ist jedes Programm, das FAT-Sektordaten miteinander verknüpfen kann, in der Lage, beliebige Dateien - und damit auch ARW-Dateien - wiederherzustellen. Hierbei wird einfach eine Tabelle der mit Nutzdaten belegten Sektoren erstellt und nachgesehen, auf welche Sektoren keine Referenzen von anderen Sektoren zu finden sind. Das sind dann Dateianfänge. Und das Ende ist dann dort, wo kein weiterer verknüpfter Sektor mehr notiert ist. Noch einfacher für den Fall, daß die FAT oder die Kopie derselben noch lesbar ist, ist es, der FAT mit ihren Sektoranfängen von Dateien zu folgen. Oder für den Fall, daß einfach nur gelöscht wurde, das Nullbyte (oder war es ein Leerzeichen ?) am Beginn eines Directoryeintrages mit einem Buchstaben oder "_" zu ersetzen. Das macht aber leider kein simples Recoveryprogramm mehr, sondern nur das undelete von MS DOS 6.x. Mag sein, daß Camera RAW mit ein paar Byte zuviel nicht klarkommt. Andere RAW-Konverter stören sich dagegen nicht daran und damit hat man immer die Möglichkeit, die sektorweise wiederherstellten Dateien zu öffnen. Recuva ist so eine Software und dazu noch kostenlos. Die kann fast jeden Fehler auf Datenträgern abfangen und greift notfalls eben roh auf das Medium zu, sollte mal sogar die FAT verloren gegangen sein. Klar, daß Recuva als Windows-Programm auch mit NTFS-formatierten Festplatten zurecht kommt, nicht aber mit den HFS(/+/journaled)-Datenträgern eines Macs. Für Befehlszeilen-Fanatiker bietet sich wiederum photorec an, das gibt es für Windows, Mac und Unixen. Und wenn mal doch was am Mac flöten gegangen sein sollte, gäbe es für knapp 100 EUR z.B. StellarPhoenix als schön grafisches Wiederherstellungsprogramm, das ebenfalls bis auf Datenträgerebene roh auf das verlorene Laufwerk zugreifen kann. Oder als Dreingabe zu einigen SanDisk-Speicherkarten ein Rettungsprogramm auf Mini-CD plus Key. Deine Idee und das Angebot ist lobenswert. Aber ob das Rad noch ein weiteres Mal erfunden werden soll, kannst nur du beurteilen, denn vielleicht hast du ja einen vollkommen anderen Ansatz als deine Vorgänger, der umzusetzen lohnenswert erscheint ![]() LG, Rainer |
![]() |
![]() |
![]() |
#3 |
Registriert seit: 02.02.2007
Ort: Leipzig
Beiträge: 1.022
|
Ich schaue heute abend mal in meine Favs, habe schonmal mit den Sony Raw rumgespielt und müsste noch irgendwo den Aufbau haben. Ich hatte mit einem MC dann die Vorschaubilder usw ausgelesen.
Gruß Micha |
![]() |
![]() |
![]() |
#4 | |
Registriert seit: 02.02.2007
Ort: Leipzig
Beiträge: 1.022
|
Zitat:
Gruß Micha |
|
![]() |
![]() |
![]() |
#5 |
Registriert seit: 03.09.2009
Ort: Ilvese boi Mannem
Beiträge: 15.272
|
Da du hier Recuva erwähnst noch ein Hinweis. Dieses Programm funktioniert ohne Installation, einfach eine ausführbare Datei. Aber man kann sie meines wissens nach nicht als finale exe runterladen.
Deswegen mein Tip an alle: das Programm zur Datenrettung besorgen und installieren bevor die Daten verschwunden sind. Sonst wird im zuge des Suchen, Probieren und Installieren das zerstört, was ihr retten wollt. Das ist besonders für jene interessant, die wie ich eine SSD haben, da dort die üblichen Rettungs-CDs nicht arbeiten. bydey |
![]() |
![]() |
Sponsored Links | |
|
![]() |
#6 | |
Themenersteller
Registriert seit: 08.09.2004
Ort: A-Nebelberg
Beiträge: 1.649
|
Das Programm Recuva hat bei mir leider keine Bilder gefunden. Bei der Karte im Originalzustand, hat Recuva nach ein paar Sekunden aufgehört und nach dem Formatieren der Karte nach ca. 10 Minuten - leider ohne Bilder.
Das Programm exiftool kann die benötigten Informationen auslesen, die müssten also in den EXIF-Daten enthalten sein. Hier mal ein Auszug der relevanten Datein: Zitat:
Jede RAW-Datei hat am Anfang eine Signatur aus 4 Bytes und in diesem Sektor noch zusätzlich den Namen des Kameramodells. So kann der Anfang mit 100prozentiger Sicherheit erkannt werden. Wenn ich jetzt auch noch die Länge der Datei kenne, kann ich prüfen, ob die RAW-Datei vollständig ist oder ob es sich um ein Fragment handelt. Weiters erkenne ich, ob das Fragment vom Anfang oder vom Ende stammt. Mit diesen Informationen könnten sich auch fragmentierte Dateien zumindest von Speicherkarten wiederherstellen lassen. Lg. Josef |
|
![]() |
![]() |
![]() |
#7 |
Registriert seit: 07.05.2009
Ort: Hessen
Beiträge: 610
|
Das Problem haben wir schon besprochen. Guck mal den Link da hab ich meine Geschichte erzählt, vielleicht hilft dir auch.
Edit: Sorry war bissel deneben mit meiner Antwort ![]()
__________________
Gruß ![]() Geändert von averel (22.07.2010 um 19:19 Uhr) |
![]() |
![]() |
![]() |
#8 |
Registriert seit: 08.10.2006
Ort: Hamburg
Beiträge: 428
|
Hi,
ich stelle grade 900GB von meiner externen Festplatte wieder her. Mit demselben Programm, wie ich auch schon mehrfach meine Speicherkarten wiederhergestellt habe. Heißt GetDataBack und kommt von Runtime. Man kann das Programm kostenlos testen und wenn es funktioniert muss man nicht alles nochmal machen, sondern kann auch in der Testversion seinen Fortschritt speichern und dann das Programm kaufen. Es kostet zwar $79, ist aber wirklich eine Empfehlung wert. Wenn nichts zu klappen scheint, einfach mal ausprobieren. Liest auch wirklich ALLE Dateiformate. Viel Erfolg, LG Moritz |
![]() |
![]() |
![]() |
#9 |
Themenersteller
Registriert seit: 08.09.2004
Ort: A-Nebelberg
Beiträge: 1.649
|
Ich habe jetzt mit den Informationen aus dem Programm exiftool und einem primitiven Hexeditor 9 von 11 ursprünglich fragmentierten Bildern noch manuell wiederherstellen können. Bei den restlichen beiden gibt es anscheinend irgend eine interne Fragmentierung, die ich einfach nicht knacken kann.
Ich schreib hier mal ein paar Werte auf, die mir weitergeholfen haben, vielleicht braucht sie ja noch wer: Der RAW-Bereich in einem cRAW-File der Alpha 700 ist immer 12246528 Bytes lang. Die Gesamtlänge der Datei hängt somit ausschließlich von der Größe der Vorschaudatei ab. Diese beginnt immer am Offset 155683. Die Länge der Vorschaudatei läßt sich problemlos mit dem exiftool auslesen. Das Offset + der Länge ergibt den Start des RAW-Bereichs. Dabei muss man noch berücksichtigen, dass dieser Anfang immer ein Vielfaches von 32k sein muss. Mit diesen Informationen lässt sich die Größe der Datei berechnen (auch dabei muss berücksichtigt werden, dass die Gesamtgröße ein Vielfaches der Größe einer Zuordnungseinheit auf der Speicherkarte sein muss). So bekommt man einen Überblick, welche Dateien wie viel zu lange bzw. zu kurz sind und zusammen mit dem Aufnahmedatum, lässt sich ermitteln, welche Blöcke noch wie verschoben werden müssen. Ich werde in Zukunft keine Bilder mehr mit der Kamera löschen (oder zumindest nur mehr ganz am Ende). So entsteht auf der Karte keine Fragmentierung und die Bilder können im Falle eines Falles einfacher wiederhergestellt werden. Lg. Josef |
![]() |
![]() |
![]() |
#10 |
Registriert seit: 17.04.2009
Ort: Darmstadt
Beiträge: 35
|
die ARW-Dateien haben als interne Datenstruktur eine TIFF-Struktur ( wie eigentlich fast alle RAW-Dateien ). Daher gibt es auch keine absolute Längenangabe. Wenn du dir einen kleinen TIFF-Parser programmierst wirst du schnell erkennen wo es in deinen Dateien klemmt, bzw. wie eine heile Datei aussehen sollte. Da die Info-Kette nahezu immer gleich sein sollte kannst du in den FAT-Datenblöcken nach den fehlenden IDF-Einträgen suchen und so versuchen die Datei wieder zusammen zubringen.
Das mit den weniger Bytes macht Sinn: wenn die interne verlinkte Info-Kette unterbrochen wird oder einige Offsets nicht mehr in der Datei sind fällt das sofort auf, zusätzliche Bytes die nicht adressiert werden sind ziemlich egal. Tip: es gibt den Raw-Konverter dcraw als Quelltext, dort kannst du ja mal nachsehen wie eine Datei eingelesen wird, nur Vorsicht: der Quelltext ist ziemlich caotischer Spaghetti-Code :-( |
![]() |
![]() |
Sponsored Links | |
|
![]()
|
|
|