Java 从.jar文件中提取源代码
有没有办法从可执行的.jar文件(JavaME)中提取源代码 使用。打开应用程序,将JAR文件拖放到其中。您的JAR可能包含源代码和javadoc,在这种情况下,您只需使用Java 从.jar文件中提取源代码,java,jar,java-me,decompiling,Java,Jar,Java Me,Decompiling,有没有办法从可执行的.jar文件(JavaME)中提取源代码 使用。打开应用程序,将JAR文件拖放到其中。您的JAR可能包含源代码和javadoc,在这种情况下,您只需使用JAR xf my.JAR来提取它们 否则,您可以使用adarshr回答中提到的反编译器: 使用。打开应用程序,拖动 并将您的JAR文件放入其中 您可以使用以下命令提取jar文件: jar xf filename.jar 参考资料:我相信这很容易做到。您始终可以将jar文件的源文件(Java文件)解压缩到zip中 以zip格
JAR xf my.JAR
来提取它们
否则,您可以使用adarshr回答中提到的反编译器:
使用。打开应用程序,拖动
并将您的JAR文件放入其中
您可以使用以下命令提取jar文件:
jar xf filename.jar
参考资料:我相信这很容易做到。您始终可以将jar文件的源文件(Java文件)解压缩到zip中 以zip格式获取jar文件源的步骤:
系统上的位置
由于某种原因,该链接已失效,因此,如果您的JAR文件位于C:\Documents and Settings\mmeher\Desktop\JAR中,JAR文件名为xx.JAR,则在命令提示符中添加可从中下载的链接,然后编写以下两个命令: 1> cd C:\Documents and Settings\mmeher\Desktop\jar
2> jar xf xx.jar我知道这是一个老问题,但我仍然认为它会帮助别人 1) 转到jar文件的文件夹 2) 将其扩展名更改为.zip 3) 你很好去,可以很容易地提取它只需双击它
注意:我在MAC上测试过这个,它可以工作。希望它也能在windows上工作。以上工具提取jar。此外,还有一些其他工具和命令用于提取jar。
但是,如果代码被混淆了,您可能无法获得java代码。AndroChef java反编译程序生成非常好的代码,您可以直接在项目中使用…-Covert.jar文件转换为.zip(在windows中只需更改扩展名) -解压缩.zip文件夹
-您将获得完整的.java文件在java工作的linux机器上执行以下操作(如果您喜欢终端方式)
注意:正如@Richard评论的那样,“这可能是非法的,这取决于您是否拥有jar的版权、您居住的国家以及您这样做的目的。”获取jar文件的zip源的步骤:
请注意,.jar文件实际上是.zip文件,可以用任何zip工具打开。@Nitesh。。。我将张贴在我的网站上托管的链接。。。请从那里下载技术链接中的版本,非常漂亮,谢谢!保存所有源代码后,当我打开Java文件时,它将所有行显示为注释行。是否有任何设置可以解决这个问题?但是请注意,根据您是否拥有jar的版权、您居住的国家以及您的目的,这样做可能是非法的。如果是开源的,请从开发人员那里获取源代码。否则“任何遵守EULA的行为都将受到赞赏”。请检查procyon反编译器。下载它的jar来反编译jar文件。我已经给出了以下步骤,这相当于将
filename.jar
重命名为filename.jar.zip
,然后将其解压缩。这并不提取源代码。它提取已编译的源代码。@caffinatedmonkey当jar包含java文件时,它提取源代码,例如名称通常以“-sources”结尾的jar。当jar不包含任何java源文件时,它确实只提取.class文件。@JCodex,我正在对情绪分析工具“opinionfinder”进行研究,它的jar确实包含java和类文件。所以你的评论不是100%正确。我知道它通常只包含.class,但在这种情况下至少不包含。您的解决方案将只提取.class文件,而不是源代码。JD-GUI似乎是一个多平台工具,它实际反编译代码并显示所有包中类的源代码。我试过了,可以在MacOS中在一秒钟内获得源代码。我已经安装了Java8。你可以在不确定它是否适用于大型项目的情况下获得它。需要源代码,而不是按照你描述的方式提供。最好的答案是有没有一种方法可以在没有JD GUI的情况下从.jar获取源代码?@ZulqurnainJutt使用@elachance的答案jar xf filename.jar
作为此方法的一个小说明。。。jar文件确实是精美的zip文件。然而,解压缩jar很可能会生成*.class文件,即“编译”的java文件。可以将类文件“反编译”为普通java文件。此功能包含在许多想法中。这将解锁特定类文件的类文件,您可以执行java-jar procyon-decompiler-0.5.36.jar/Path/to/your/jar package/of/the/java/class.class>className.java
cd ~
mkdir decompiled_code && cd decompiled_code
wget https://bitbucket.org/mstrobel/procyon/downloads/procyon-decompiler-0.5.36.jar
java -jar procyon-decompiler-0.5.36.jar /Path/to/your/jar -o .