从包装的(到 exe)jar 中取回 jar

逆向工程 反编译 可执行
2021-07-07 05:21:24

有什么方法可以从使用 exe 包装器包装的 jar 中获取 jar 文件。我有一个 exe 文件,我知道它是使用 exe 包装器(准确地说launch4j)的包装器我如何打开这个罐子来取回罐子。我已经看到我可以使用fileroller在 Linux 中解开它,我该如何在 Windows 中进行解包

ADD : How is it different if it wrapped using wrappers other than launch4j
3个回答

我假设您要提取包含在由 launch4j 生成的 .exe 中的 JAR 文件。Launch4j 将 jar 文件放在可执行文件的覆盖层中,即 PE 文件之后。要提取它,您可以从文件底部搜索字符串 'PK' 以找到 JAR 存档,您应该看到如下内容:

jar 文件

找到它后,删除它之前的所有内容并将其保存到一个带有“.jar”扩展名的新文件中。

实际上,使用7zip有一种更快的方法如果您使用 7zip 打开文件,它将直接打开 JAR 文件(JAR 只是一个 ZIP 文件),然后您可以提取文件并在需要时重新创建 ZIP 存档。

在此处输入图片说明


我真的在检查它,似乎有一种非常简单的方法可以做到这一点。

使用的程序:jd-gui


脚步

  1. 使用任何存档管理器(例如:WinRar)提取 exe 文件

  2. 现在使用这个程序(jd-gui)来反编译它。

    jd-gui

  3. 你已经完成了,现在你有了原生 Java 形式的代码

既然我们在谈论 Windows(以及 5 年后),那么如何:安装程序,转到安装目录并从那里获取 jar。现在可以直接反编译jar了。