我的一个朋友给我发了一个他们篡改/破坏/损坏的 zip 文件。在这种情况下,它是一个 Minecraft 资源包。我根本无法打开文件,我已经尝试了很多方法来提取内容。来自许多 Windows 工具和 Linux 工具。我知道可以提取它,因为您可以将它加载到 Minecraft 中并且它可以完全工作(他向我保证这是可能的)
你们能给我任何帮助或指导吗?我不想被他打败。
这是 zip 文件的链接:https ://www.mediafire.com/file/xcbg5ayrcawy8iv/pack.zip/file
Zip 存档的文件信息在两个位置重复:在每个文件数据之前的单独元数据块中,以及在末尾的“中央目录”中。您可以从头到尾阅读存档,在找到文件时处理文件,或者在最后获取中央列表并使用其信息跳回每个文件。
大多数归档工具使用中央目录来列出所有文件,因为它们都在一个地方,因此速度更快。问题是您的存档没有它。
然而,它仍然可以被主要依赖于每个文件元数据块的 Zip 处理库读取——如果你有 Python,那么该
zipfile
模块将能够读取存档内容。它甚至允许您使用 提取文件.extractall()
,尽管您必须首先从 zipfile.py 中删除“文件名不匹配”一致性检查。此存档中的每个文件元数据还包含无意义的信息,例如伪造的“原始大小”或“修改时间”。更重要的是,“CRC32”字段也是错误的,因此您还必须从“zipfile”模块中删除“bad CRC”错误报告。