为什么 Twitter Bootstrap 在 Windows 资源管理器中看起来像是加密的?

为什么 Twitter Bootstrap 在 Windows 资源管理器中看起来像是加密的?

我有点困惑,我运行的是 64 位 Windows 7 Professional N,刚刚从他们的主页下载了预编译的 Twitter Bootstrap 库。

在提取时,系统提示我备份加密密钥,文件在 Windows 资源管理器中如下所示:

屏幕截图显示了提取的 Twitter Bootstrap 文件,这些文件的文件名为绿色

我没有在这台机器上使用加密,为什么会发生这种情况?

答案1

我今天早上下载 Bootstrap 时遇到了这个问题,我以为我可能感染了一些恶意软件……

根据这个github 问题这是因为该 zip 文件是在 Mac 上创建的。

这篇博文描述该问题:

这确实有点搞笑。ZIP 规范要求创建 zip 存档的程序/操作系统包含一个标签,用于向尝试解压存档的程序告知自身信息。此信息称为“版本制作者”,如下所示:

      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

现在,有趣的是,Mac OS 似乎正在用值 3 (UNIX) 标记它创建的 zip 存档。好的,我想到目前为止没有问题。

当 Windows 对如何解释文件/文件夹属性感到困惑时,就会出现问题。在 FAT/NTFS 中,这些值是根据文件属性常量的定义存储的。您会看到 FILE_ATTRIBUTE_ENCRYPTED 的值为 0x4000。

有趣的是 Mac OS 如何将其文件属性存储在 zip 存档中。Mac OS 是基于 UNIX 的操作系统,使用 UNIX 文件/文件夹属性系统(和权限,但这是另一个话题了……)。好吧,碰巧的是,在 POSIX 中,描述目录/文件夹的标志 (S_IFDIR) 恰好也具有值 0x4000。所以事实证明,zip 解压缩代码并不知道可能还有其他操作系统可以创建 zip 存档……

你能改变这个行为吗?

不,但是您可以轻松地从提取的文件/文件夹中清除加密标志。

相关内容