Попытки "оживления" испорченного ZIP-архива

Автор: J-34
Дата: 29.09.2002
Все фото статьи

Вступление


При пересылке через Интернет ZIP-архивов, и тем более, при переносе их на дискетах, есть определенная вероятность того, что архив будет испорчен. Существуют специальные программы для восстановления испорченных ZIP-архивов, и когда мне попался испорченный файл, я решил проверить их работоспособность.

Файл назывался ls_hcp22.zip. Архиватор WinZip в нем архив не признавал.

WinRAR тоже "ругался" на неправильное окончание файла,

однако за архив файл все же признавал и даже показывал содержимое.

Архиватор PowerArchiver тоже выдал сообщение о том, что это - негодный архив.

Power Archiver


С этого архиватора я и решил начать восстановление. В меню Tools (Инструменты) есть пункт Repair Archive (Исправление архива).

Программой PowerArchiver был создан файл ls_ hcp22_ PAFixed.zip, при этом было выдано сообщение о восстановлении двух из трех файлов архива. В восстановленном архиве действительно содержались два указанных файла, которые можно было разархивировать.

PowerArchiver 2002 8.0 (размер 2.22Mb): линк

Advanced Zip Repairer (AZR)


Следующей программой, которую я попробовал, стала Advanced Zip Repairer (AZR).

Программа написала, что архив успешно восстановлен и сохранила его под именем ls_hcp22_fixed.zip. Однако разархивировать файл patch.exe так и не удалось - при разархивации с помощью WinZip выдавалось сообщение о неправильном окончании файла, WinRAR писал о неправильной контрольной сумме.

В ответах на часто задаваемые вопросы к программе такая ситуация была описана, разработчики предлагали путь ее решения. Для этого вместо расширения выходного файла ZIP надо поставить EXE, тогда программа создаст самораспаковывающийся архив, который по-прежнему не будет полностью разархивироваться, используя сторонние архиваторы, однако встроенная в него программа сможет распаковать все файлы.

Действительно, был создан самораспаковывающийся архив, а затем успешно разархивирован. Однако файл patch.exe оказался неработоспособным.

Advanced Zip Repairer 1.52 (размер 828Kb): линк


PKZIPFIX


Напоследок вспомним о программе PKZIPFIX из состава архиватора PKZIP 2.50 для DOS. PKZIPFIX работает из командной строки с единственным параметром - именем испорченного архива, в ответ программа создает файл PKFIXED.ZIP. Из созданного архива удалось разархивировать все те же два файла.

PKZIP 2.50 (размер 202Kb): линк

Выводы


По результатам работы программ можно сделать следующие выводы о восстановлении ZIP-архивов: файл архива по сути состоит из множества частей входящих в него файлов, при некоторых повреждениях часть файлов после обработки соответствующими программами может быть восстановлена, однако это бывает не всегда возможно и зависит от степени и характера повреждений, а также от метода архивации. Для того, чтобы иметь возможность восстановления архива в случае его частичного повреждения, вы можете использовать при архивации восстановительную запись, которая путем избыточного хранения информации и благодаря использованию специальных алгоритмов позволяет увеличить вероятность восстановления архива. Для создания архива с восстановительной записью вы можете использовать, например, архивы формата RAR, созданные архиватором WinRAR.