It’s kind of funny really. The ZIP specification mandates that a program/OS creating a zip archive include a tag informing about itself to the program trying to decompress the archive. This information is called “version made by”, and looks like this:
0 - MS-DOS and OS/2 (FAT / VFAT / FAT32 file systems)
1 - Amiga 2 - OpenVMS
3 - UNIX 4 - VM/CMS
5 - Atari ST 6 - OS/2 H.P.F.S.
7 - Macintosh 8 - Z-System
9 - CP/M 10 - Windows NTFS
11 - MVS (OS/390 - Z/OS) 12 - VSE
13 - Acorn Risc 14 - VFAT
15 - alternate MVS 16 - BeOS
17 - Tandem 18 - OS/400
19 - OS/X (Darwin) 20 thru 255 - unused
Now, interestingly, it seems that Mac OS is tagging the zip archives it creates with the value 3 (UNIX). Ok, so far no problem, I guess.
The problem happens when Windows gets confused about how to interpret file/folder attributes. In FAT/NTFS, these values are stored according to this definition of File Attribute Constants. You’ll see that FILE_ATTRIBUTE_ENCRYPTED has a value of 0x4000.
The interesting part is how Mac OS is storing its file attributes in the zip archive. Mac OS, being a UNIX based OS, uses the UNIX file/folder attributes system (and permissions, but that’s a topic for another time…).. Well, it just so happens that in POSIX, the flag to describe a directory/folder (S_IFDIR) coincidentally also has the value 0x4000. So it turns out the zip decompression code wasn’t aware that there might be other operating systems out there that might create zip archives…
Bonus question: can you change this behavior. Answer: No; but you can clear the encryption flag from the extracted files/folders easily.
interesting thing is when using 7-zip, it not only extracts un-encrypted but also removes the extra macosx folder. So part of this is a mac bug too in my opinion
Ian: yes, Mac OS adds that "extra" folder which apparently contains thumbnails of the items being zipped as well as some additional metadata. Most/all of this information should be recoverable from the items themselves so I'm guessing this is done for performance, so it's probably safe to ignore/remove/not extract.
Very helpful. I noticed that the green files were always from Macs, but didn't know why. FYI after clean installing on Windows 8, it lost the encryption certificate and couldn't open the Mac-zipped content anymore. Fortunately I had the original email with the ZIP and just re-extracted successfully. Lost a few files though since I had added some files in the "encrypted" directory.
Hi Jeff, thanks for reading! I haven't seen the problem you describe, I'll see if I can reproduce it.
I cannot believe this still happening. I sell digital products, zipped on a mac. But I now take the extra step of deleting the extra mac folder in the new zip. Any idea if that is enough to stop this problem from happening to windows users???
@Ryan Nagy: unfortunately, that won't be enough to prevent this from happening
Same issue here.
I wonder why folders still get extracted correctly while the flag gets misinterpreted.
... not worth a bug fix from MS?
AxelD: If I remember correctly, this is fixed in Windows 8 so users running that release or higher should not see this problem anymore.