holzfelix schrieb:
Ich bin ja schon bisschen länger damit beschäftigt. Deine Aussagen sind korrekt. Aber ich muss ja nichts wiederherstellen. Sondern Reparieren. Es kommt wohl oft zu falschen Hex werten am beginn der Datei.
Entweder, Du hast/kennst zum Reparieren die korrekten Daten, oder jedes Tool der Welt müsste diese erraten. Das mag bei wenigen Konstellationen funktionieren, es lässt sich aber nicht immer aus dem Inhalt eines Markers erraten, welcher Typ es ist, wie lang er sein müsste (der nächste Marke kann ja genauso kaputt sein) usw.
Wenn dann noch mehrere Byte kaputt sind, hat das mit BitRot nichts mehr zu tun, da ist am Dateisystem oder dem Ram vom Rechner etwas so grundlegend kaputt (gewesen), dass man eher froh sein kann, wenn man das früh genug erkennt. So ging es mir jedenfalls damals mit einem defekten Ram-Riegel.
Wenn immer die ersten Byte defekt sind, dann tausche sie doch mal bei einer Datei gegen die korreken aus dem Backup aus und Du siehst, ob Deine Theorie bei dieser Datei zutrifft. Einfach einen Hexeditor anwerfen und die Bytes der korrekten Datei in die defekte kopieren.
Kennst Du die defekten Byte, dann kannst Du Dir auch überlegen, wie gut Du sowas korrekt erraten könntest.
tRITON schrieb:
Danach folgen eh die Huffmantables und wenn die Daten hier korrupt sind, kannst Du die auch nicht mehr "gerade" rechnen.
Was allgemein natürlich korrekt ist, mag unter gewissen Voraussetzungen trotzdem möglich sein. Ähnlich wie einige Rettungstools für Actioncam-Aufnahmen, die zu früh abgebrochen wurden (womit u.A. der Header fehlt). Kennt man die Aufnahmedaten (also die Kamereinstellung) war da duzrchaus einiges noch rettbar.
Genauso könnte es hier sein, wenn die defekten JPGs alle aus der selben Kamera stammen. Erwartungsgemäß scheint meine D850 für alle JPGs (mit der selben Kompressionseinstellung der Kamera, ggf. sogar die selbe Firmware-Version) auch die selben Huffman-Tables zu nutzen. Aus Performancegründen wird da lieber etwas Dateigröße mit optimieren Huffman-Tables je Bild verschenkt.