Usage is simple: zipfilerecover <file.zip>

One thing to be aware of: zipfilerecover creates a number of sequentially-numbered files, 0.zip onwards, in the current directory. Take care not to overwrite anything. Each of these contains a single file from within the source archive, with a reconstructed index containing only the bare minimum needed to extract the contents.

This isn't quite freeware. It's released under a CC licence, BY-NC-ND. That means you can use it all you want noncommercially without paying anything, but not commercially. For that there is a tiny license fee (2) to paypal to me at goldenpi@blueyonder.co.uk. That's a one-off, not per-document, and applies only in the event that this actually does recover the data you wished recovered. I would not ask payment if the program doesn't aid you.

Changelog
1.1: Tidied up some code for easier readability, made output more compact.
1.01: Fixed tiny bug that only became apparent with more than 1021 files in an archive.
1.0: It works!