zipfilerecover

Zipfilerecover is a program to recover damaged zip files. It functions by considering each constituent file in isolation from the rest of the zip, and writing it out individually. This allows it to handle even truncated files, which would be impossible for almost any zip-reader to extract as the vital directory records are stored at the end of the file.

The most useful application of zipfilerecover isn't for obvious zip files. Many file formats use zip as a container, including Microsoft Office 2007-onwards documents. The .docx, .pptx, and so on. These files are often damaged, usually as a consequence of someone pulling out a USB stick without properly unmounting it. I've encountered this situation myself on more than one occasion, and it is why I made zipfilerrecover. If you put a broken MS Word document into ziprecover, it'll let you extract the files contained within - not enough to get a perfect document out, but with a little more work it's usually possible to at least recover the images and text if not the formatting and layout.

There are certainly plenty of existing zip recovery programs - a quick google search finds page after page of them - but of those I've tried, none were able to reliably handle truncated files - most of them appear on my brief examination to be quite useless, designed only to seperate people from their money before learning the program is ineffective. None of that here: I have here a full, uncrippled version, and I ask for payment only after it has proven effective for you.

Ziprecover is the only program on this site I have not released under an open source licence. I do this because it contains little of innovation for me to contribute to the community, and has some potential value as a commercial product - there are already many commercial office-document recovery programs around (most of which don't work) and this is very capable in the hands of a user who can read XML. The terms of the licence are very generous though: It's completly free for noncommercial use, and even if used by a for-profit company you need only pay £2 (British) after successful recovery of a document - that's a one-time payment for a perminant, unlimited licence, not per-document. If it doesn't get the data you want back, it wouldn't be right of me to expect payment for a failure. I'm relying on the honor system for payment, so be nice now - money paypaled to goldenpi at blueyonder dot co uk please. It's a minimal payment, but I just want to be able to say someone found my work useful enough to pay.

It's written in C, and comes with a precompiled Windows executable so you can just download and go. Just give it a zip file or Office document, and it'll churn out lots of new zip files (Careful, these may overwrite things in the CWD), each one containing an individual recovered file. The code is here, but it remains copyright me: If you want to use it for your own work, ask first. I'll probably say yes, it's nothing any decent coder couldn't knock out in an hour.