How to open corrupted ZIP files?
How can I open (or repair) corrupted ZIP files on Windows?
Is there a way to force 7-Zip to open them?
Zip Repair from Disk internals looks like a good application to do what you are after. This seems to be the only free fully-featured application that I could find to do what you are after.
That said, depending on how corrupt the file is, you may not have that much success with getting all of the files out in their proper condition. You will probably not be able to get all your files out (if at all).
IZArc is also able to open/repair corrupt archives and it is freeware.