有帮助吗?

解决方案

这是不正确的ZIP文件必须以

50 4B 03 04

条目的zip文件内开始50 4B 03 04... ..和经常,纯zip文件启动一个ZIP条目在文件中的第一件事。但是,有没有要求Zip文件开始与这些字节。与那些字节开始的所有文件的可能的zip文件,但不是所有的压缩文件开始与这些字节。

例如,您可以创建自解压包这是一个PE-COFF文件,一个普通的EXE,其中有实际的的的文件,这是4D 5A ...签名。于是,在后来的exe文件,你可以存储压缩项,与50 4B 03 04...开始。该文件既是一个.exe和一个.zip。

一个自解压缩存档不是唯一的类zip文件的不与50 4B 03 04启动。你可以“隐藏”在一个zip文件的任意数据这种方式。 WinZip的和其他工具应该没有问题,阅读格式这样一个zip文件。

如果你发现一个文件中的签名50 4B 03 04,无论是在文件或其他地方开始,你可以看看在接下来的几个字节来确定特定条目是否被加密。通常情况下,它看起来是这样的:

50 4B 03 04 14 00 01 00 08 00 ... 

的前四个字节是输入签名。接下来的两个字节是“提取所需要的版本”。在这种情况下,它是0x0014,这是20。根据PKWARE规范,这意味着PKZIP规范的2.0版本是必需的,以提取的条目。 (由条目中使用的最新的拉链的“功能”是由规范的2.0中描述)。你能在那里找到更高的数字,如果更先进的功能在压缩文件中。 AES加密需要规范的V5.1,因此你会发现在这头0x0033。 (并非所有的压缩工具尊重这一点)。

在接下来的2个字节表示通用比特的标志(规范称之为“位标志”,即使它是一个位字段),在这种情况下为0x0001。这具有位0集,这表明该条目被加密。

在该比特标记的其他比特具有的含义,并且也可以设置。例如位6表明,强加密使用 - 无论是AES或一些其它更强大的加密。位11表示该条目使用UTF-8编码的文件名和注释。

所有这些信息是在 PKWARE APPNOTE.TXT规格可用。

其他提示

它的底层的zip压缩包内有密码保护的文件。你可以在归档一系列密码保护,密码保护文件(例如一个自述文件,然后将内容)。

如果您按照描述您引用URL ZIP文件的链接,你会发现这一个讨论,表示在ZIP压缩文件是否被加密位。看来,在存档每个文件可以被独立地加密。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top