Hi,
I found this thread by curiosity and discovered a solution to recover an archive...
1) Copy archive to desktop.
2) Open terminal.
3) Type this without quotes "zip -FF ~/desktop/archive-name.zip --out ~/desktop/archive-new.zip".
4) Is this a single-disk archive? (y/n): y (answering y).
5) Your new archive is created on the desktop.
6) In case the name is no coherent. Add .zip to produced file.
7) Uncompress new archive.
Step 1 is crucial...
===========================
Best regards
I joined this forum just to thank you for this. Was having the exact same issue/error explanation as the OP with a rather large file it would have really sucked to lose. Nothing worked until this. I'm not the most computer savvy either, so it took some playing around in terminal to get it right.
Over-simplified explanation: I had the .zip file on my desktop already. Opened Terminal and typed: zip -FF "filename" --out "newfilename". "Filename" is obviously the name of the .zip you're having issues with - just drag the .zip from your desktop right to terminal and it'll type it for you. For the "newfilename" put whatever you want the new .zip folder to be called, it can be anything with no spaces. Hit enter and Terminal will try to extract and fix the damaged file(s). That's all it takes! It plopped my new folder down in a weird location for some reason, though, not desktop or the original file location but just under my name in "Users". I don't even know how to navigate to that in Finder on my Mac, personally, so I had to search for the file name. The new folder extracted and worked perfectly as soon as I found it and everything was still there! Hope this helps.
P.S. I know I over explained here, but maybe someone who's not tech savvy at all will stumble on this someday and appreciate it. Thanks again to the last poster for this trick!