install4j:从 Windows 安装程序中提取应用程序 JAR

install4j: Extract application JARs from a Windows installer

我们正在寻找一种方法来从使用 install4j 构建的 EXE 安装程序中提取我们的应用程序 JAR 和资源。尽管没有实际安装,但我们正在尝试自动化安装程序测试 - 我们希望 运行 从安装程序中解压我们的应用程序主 JAR。

在 PE 文件格式解析器的帮助下 https://github.com/kichik/pecoff4j 我发现内容的主要部分位于某种图像的序言中。当我在 7-Zip 中打开安装程序时,显示相同大小的相同条目: 但是条目的格式对于 7-Zip 是未知的,我不能更深入。当我在十六进制编辑器中打开条目时,我发现了一些应用程序资源内容,类 名称等

问题是 - 条目的格式是什么,我该如何解析它?

P.S.: Apple 的 DMG 和 Linux 的 SH 似乎应该没有问题 - 因为它们是常规档案,我希望我可以在我的 [=22= 中阅读它们]代码。

这不是文档格式,它是安装程序的内部格式。您可以构建一个额外的 Windows ZIP 存档媒体文件并将其解压缩。它将具有与安装程序相同的内容。