Java 从.jar文件中提取源代码

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文件(JavaME)中提取源代码

使用。打开应用程序,将JAR文件拖放到其中。

您的JAR可能包含源代码和javadoc,在这种情况下,您只需使用
JAR xf my.JAR
来提取它们

否则,您可以使用adarshr回答中提到的反编译器:

使用。打开应用程序,拖动 并将您的JAR文件放入其中


您可以使用以下命令提取jar文件:

jar xf filename.jar

参考资料:

我相信这很容易做到。您始终可以将jar文件的源文件(Java文件)解压缩到zip中

以zip格式获取jar文件源的步骤:

  • 从下载JAD并将其保存在任意位置
    系统上的位置
  • 在JAD上拖放您想要其源的jar。 3 JAD UI将以树格式打开所有包结构
  • 单击文件菜单并选择保存jar源
  • 它将把源代码保存为与jar同名的zip文件
  • 希望这有帮助


    由于某种原因,该链接已失效,因此,如果您的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源的步骤:

  • 从下载并保存JD-GUI 在系统上的任何位置

  • 拖放jar,或打开您想要的jar文件 京东上的消息来源

  • Java反编译器将在树中打开所有包结构 格式

  • 单击文件菜单并选择保存jar源。这将节省开支 源代码作为与jar同名的zip文件

  • 示例:-

    我们可以为JavaEE开发人员使用EclipseIDE,也可以根据需要更新/提取代码

    从eclipse中选择ImportJar,然后选择您需要的Jar。按照下图所示的说明进行操作



    请注意,.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 .