C 使用MiniZip库读取omni.jar存档文件

C 使用MiniZip库读取omni.jar存档文件,c,windows,firefox,archive,ziparchive,C,Windows,Firefox,Archive,Ziparchive,Firefox将其默认配置信息存储在omni.jar(旧版本)或omni.ja(更高版本)中。omni.jar和omni.ja都是zip文件格式。因此,我们可以使用许多程序/库来压缩或解压缩它们 我想获得一些Firefox的默认信息。所以我必须读一些全向文件中的文件。我使用7zip程序查看omni或MiniZip/Zlib库的内容,以便在我的程序中阅读omni 对于更高版本的omni.ja,它的可读性很好。但是对于旧版本,MiniZip无法打开omni.jar文件。然后我使用7zip打开这些文件

Firefox将其默认配置信息存储在omni.jar(旧版本)或omni.ja(更高版本)中。omni.jar和omni.ja都是zip文件格式。因此,我们可以使用许多程序/库来压缩或解压缩它们

我想获得一些Firefox的默认信息。所以我必须读一些全向文件中的文件。我使用7zip程序查看omni或MiniZip/Zlib库的内容,以便在我的程序中阅读omni

对于更高版本的omni.ja,它的可读性很好。但是对于旧版本,MiniZip无法打开omni.jar文件。然后我使用7zip打开这些文件:omni.ja正常,omni.jar失败。但是有一些其他的程序,例如:WinRar,WinZip。。。两个omni文件都打开得很好

我在谷歌上看到了一些信息:在旧版本中,Firefox创建了omni.jar文件(一种zip文件格式),没有zip标准。胡说八道。但为什么WinRar或WinZip可以阅读

有人能帮我无误地获取MiniZip read omni.jar文件吗


非常感谢。

解决方案非常简单:您的“旧”omni.jar已损坏。我的
omni.jar
PK
开头

我建议再次从网站下载Firefox

[编辑]不同版本的Firefox使用不同的工具来构建ZIP存档。en-US版本使用类似ZIP的格式,该格式不以
PK
开头。虽然从理论上讲,文件格式是有效的(它包含后跟条目列表的数据),但几乎没有工具真正支持这种格式(因此WinZIP和WinRAR是例外)

这一意图通过将
omni.jar
重命名为
omni.ja
反映出来:它不是加密的,只是一种未得到广泛支持的ZIP格式,而且

其他开发人员(例如de版本的开发人员)使用官方工具构建omni归档,以便可以使用任何工具修改这些版本


您需要找到一种使用WinZIP/WinRAR更新存档的方法,或者您需要下载原始firefox源代码并将修补程序添加到构建过程中。

如果我们使用记事本打开zip文件,我们将看到它以“PK”开头。但对于旧的Firefox omni.jar文件,它是以“ü开始的。一个令人伤心的消息:我已经从官方档案下载了FF。结果是一样的。为什么7-Zip不能打开一些Zip档案?在99%的情况下,这意味着存档包含不正确的标题。其他ZIP程序可能会打开一些标题不正确的归档文件,因为这些程序只会忽略错误。如果你有这样的档案,请不要打电话给7-Zip开发人员。相反,尝试查找用于创建归档的程序,并告知该程序的开发人员他们的软件不兼容ZIP。还有一些ZIP归档文件是使用7-ZIP不支持的方法编码的,例如WAVPack(WinZip)。或者,omni.jar是否使用不支持的方法进行编码,WAVPack(WinZip)?我的omni.jar来自Firefox 4.0.1。你能换台电脑试试吗?jar包含很多Firefox的代码,所以它可能是计算机病毒的目标。前四个字节必须是
50 4b 03 04
;我真的不明白为什么WinRAR和WinZip可以打开它们。尝试文件类型分析-可能是不同的存档格式,扩展名错误。我在一些计算机上进行了测试。你的工作怎么样?用7号拉链打开好吗?它从504B0304(或PK)开始?这是故意的吗?