有什么方法可以从使用exe包装器包装的jar中获取一个jar文件。
我有一个exe文件,我知道它是使用exe包装器包装的(确切地说是launch4j)。
如何做我拆开了这个罐子以取回罐子。
我已经知道可以在Linux中使用Fileroller拆开它,如何在Windows中做它

ADD : How is it different if it wrapped using wrappers other than launch4j


评论

相关

您的问题尚不清楚,我想您想从launch4j生成的EXE中取回JAR文件?

抱歉,我很糟糕。这是要取回罐子

#1 楼

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



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

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



评论


如果使用launch4j以外的包装器包装它,会有什么不同

–意义
2014年1月27日13:05

@MEAIN:一个非常理论性的问题。取决于如何打包。如果只是将JAR放入文件中,则过程将非常相似。

– 0xC0000022L♦
2014年1月27日14:23

伙计,这个7zip技巧真是太酷了。

–TomášZato-恢复莫妮卡
2015年1月21日,下午1:36

@TomášZato很高兴您发现它有用!

– ekse
2015年1月21日,下午1:45

#2 楼


我真的在检查它,似乎有一个很简单的方法来执行此操作。

使用的程序:jd-gui


STEPS


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

现在使用此程序(jd-gui)对其进行反编译。



您已经完成了,现在您有了本机Java形式的代码


#3 楼

由于我们正在谈论Windows(以及5年后),该如何处理:安装程序,转到安装目录,然后从那里获取jar。现在您可以直接反编译jar。