Пропозиції щодо відновлення пошкоджених файлів


0

(Попередження, зразки зображень дещо NSFW; роботи з татуюваннями показують трохи сиськи.)

Раніше у мене був Mac OS X розріджений пакет dmg і використовував DropBox на двох комп'ютерах. Я хотів би додати до мого безпечного розрідженого пакета, який був у моїй папці DropBox. Одного разу я пішов на інший комп'ютер, він помітив, що були зроблені зміни, і зробив те, що він повинен, синхронізував розріджений пакет.

Обидві зображення розрідженого пакета були пошкоджені. Мабуть, дані вилки ресурсів Mac OS X або інші мета-дані були втрачені або не збережені. Тепер я використовую DropBox для простих форматів і не довіряю йому для синхронізації декількох комп'ютерів за межами .txt, .jpg, .png і подібних. Якось мені вдалося відновити деякі файли, підібрати і ткнути на "смуги" в розрідженому пакеті і принаймні отримати розріджений пакет для відкриття і проходження перевірки безпеки. ~ 90% файлів знаходяться в хорошій формі, ~ 10% до цих пір, я не зміг нікуди відкрити їх.

Зразки зображень, які використовуються в наведених нижче тестах ... http://dl.dropbox.com/u/340087/drops/05.14.11/DSC02322-bad.jpg http://dl.dropbox.com/u/340087/drops/05.14.11/DSC02322-good.jpg

Ось що я знаю:

DSC02322-bad.jpg
DSC02322-good.jpg

Ніяке додаток не відкриє файл "DSC02322-bad.jpg". Навіть термінальні команди подібні cat, head, tail інші показують, як ніби вона була порожня.

<pre>MD5 (DSC02322-bad.jpg) = 052b34d47cbcc64c208230d84098ceb3
MD5 (DSC02322-good.jpg) = a37995df587f7f146b8950199ecae544</pre>

(Контрольні суми md5 різні, файли дійсно різні.)

Розміри файлів однакові:

-rw-r--r--@  1 me  staff  2178036 May 26  2009 DSC02322-bad.jpg
    -rw-r--r--@  1 me  staff  2178036 May 14 23:26 DSC02322-good.jpg

Якщо я виконую більш глибокий перелік файлів, як показано нижче, однаковий розмір файлу, але метадані відрізняються ...

2128 -rw-r--r--@ 1 me  staff  2178036 May 26  2009 DSC02322-bad.jpg
        com.apple.metadata:kMDItemWhereFroms        179
    2128 -rw-r--r--@ 1 me  staff  2178036 May 14 23:26 DSC02322-good.jpg
        com.apple.metadata:kMDItemWhereFroms        145
        com.apple.quarantine         42 

Ось a file лістинг виведення обох файлів

$file DSC02322-*
    DSC02322-bad.jpg:  data
    DSC02322-good.jpg: JPEG image data, EXIF standard 2.21

Це цілком перекручує мене: Скопіюйте файл до файлу "z-copy.txt", вкажіть його file, потім cat файл, який є пустим для cat однак розмір файлу залишається 2178036 байтами.

me@macbook:\ $cp DSC02322-bad.jpg z-copy.txt
    me@macbook:\ $file z-copy.txt
    z-copy.txt: data
    me@macbook:\ $cat z-copy.txt
    $ls -la z-copy.txt
    -rw-r--r--@ 1 me  staff  2178036 May 15 00:01 z-copy.txt

Інші речі, які я намагався:

$cat DSC02322-bad.jpg > try-again.txt
    -rw-r--r--@  1 me  staff  2178036 May 14 23:53 DSC02322-bad.jpg
    -rw-r--r--+  1 me  staff  2178036 May 15 00:04 try-again.txt
    $cat try-again.txt
    ( Returns an empty line )

Жоден з файлів не має видів ресурсів, DropBox, здається, вибухнув їх, а вилка даних на обох «схожих» на мене. Все, що я можу зробити, це визначити, що файли відрізняються через md5 неправильний збіг і a diff, але звичайний розмір інформації про файл та інші тести роблять їх "ідентичними". Дублювання файлу не допомагає. Я впевнений, що мені потрібно лише додати дані у довільні дані заголовка jpg, але я не впевнений, які інструменти найкраще використовувати для цього завдання, або які дані додати. У мене є резервні копії цих конкретних файлів, і вони не є такими важливими, але є й інші, не всі jpg, такі як файли flv та патентовані документи, які мені потрібні, щоб повернутися, які я більше не можу. Багато хто занадто старі, щоб їх можна було відшкодувати за допомогою DropBox.

Граючи в різних програмах, які можуть читати дані jpg-файлу, одна помилка, яку я отримую, робить невеликий сенс:

Could not place the document ‘DSC02322-bad.jpg’ because a JPEG marker segment
    length is too short (the file may be truncated or incomplete).

Деякі останні зусилля змушували зробити невеликий jpg, 1x1 px і додати / додати дані до поганого файлу, сподіваючись, що дані заголовка дозволять мені відкрити файл, скопіювати його в новий документ і зберегти чисту копію. Поки що це не спрацювало.

Я завантажив в imgur і кілька інших служб обміну зображеннями, всі вони помиляються з пошкодженим повідомленням файлу. Я не мав можливості спробувати прочитати файл з php або іншою мовою сценаріїв, що може дати мені більш конкретні повідомлення про помилки. Графічний конвертер стає найближчим, кажучи, що файл пошкоджений, фактично показує мені вилку даних, і дозволяє мені спробувати вгадати кращий сценарій для відкриття файлу. Я все ще нічого не отримую.

Тобто про все, для чого я хороший у сьогоднішньому усуненні несправностей. Я ще не вклала в нього жодних зусиль, але це скоро стане війною, в якій мені доведеться перемагати :) Будь-які пропозиції?

Я був би радий дізнатися, що CLI додаток здатне принаймні показати мені, що ці 2178036 байт.

Ну добре, схоже diff принаймні, це трохи розумне, не те, що це допомагає мені багато чого в цій точці:

$diff DSC02322-*
    Binary files DSC02322-bad.jpg and DSC02322-good.jpg differ

Пропозиції? Дякую всім.


Ваші зображення порушені.
3498DB

Відповіді:


1

Ваш DSC02322-bad.jpg файл 2178036 нулів байтів (тобто 2178036 нульових одиниць одного байта):

$ hexdump DSC02322-bad.jpg 
0000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0213bf0

Ваш DSC02322-good.jpg файл становить 2178036 байт даних JPEG. Нема чого ремонтувати DSC02322-bad.jpg оскільки нічого не залишилося.

До речі, file команда говорить "дані", коли вона не знає, що ще сказати.


Дякую! Будь-яка ідея про те, як у папці DropBox, або що-небудь у цьому питанні, може пошкодити точно таку ж кількість байтів, але з нулями? Хм, я, можливо, розігнав цей файл з файлом cat & gt; bad.jpg тип угоди, що з цих: bit.ly/mamlPV hexdump показує, що є дані, багато з них.
user17245
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.