将幻数/文件头添加回 zip

将幻数/文件头添加回 zip

作为我参与的程序的一部分,我收到了一个无法打开的 zip 文件。我发现 zip 中缺少文件头,但我不知道如何将其放回去。简单地替换第一个字节或使用忽略标头来解压缩的程序是行不通的,所以我认为我需要将它们放在文件的其余部分之前。这可能需要偏移文件或其他东西,但我对十六进制编辑/十六进制编辑器了解不多,也不知道如何做我需要做的事情。

我正在使用 Manjaro (程序提供的虚拟机)和 gHex 来查看和编辑文件(尽管我可以从终端安装不同的文件/工作,如果这能解决我的问题)。

编辑:运行 zip -F 或 zip -FF 返回:

Fix archive (-F) - assume mostly intact archive
Zip entry offsets appear off by -4 bytes - correcting...
copying: masterkey
zip warning: reading archive fseek: Invalid argument
zip warning: bad - skipping: masterkey
zip warning: zip file empty

上述问题是我几乎可以肯定 zip 文件不能为空——它应该包含带有标志的内容(尝试提取“固定”zip 也会从存档管理器返回“提取存档时出错”)。

答案1

您可以尝试通过执行命令来恢复损坏的存档:

zip -F corrupted_archive.zip

您可以zip通过以下方式更加努力地恢复

zip -FF corrupted_archive.zip

对我来说,这比尝试直接编辑文件更安全、更好

相关内容