Reputation: 2179
Is there a way to extract the source code from an executable .jar file (Java ME)?
Upvotes: 213
Views: 655259
Reputation: 506
Do the following on your linux box where java works (if u like the terminal way of doing things)
cd ~
mkdir decompiled_code && cd decompiled_code
# download jar procyon from https://drive.google.com/file/d/1yC2gJhmLoyE8royCph5dLEncgkNZXj58/view?usp=sharing
java -jar procyon-decompiler-0.5.36.jar /Path/to/your/jar -o .
NOTE : as @Richard commented "this may be illegal depending on whether you own the copyright to the jar, the country you live in and your purpose for doing it."
Upvotes: 13
Reputation: 2523
Steps to get sources of a jar file as a zip :
Download JD-GUI from http://java-decompiler.github.io/ and save it at any location on your system.
Drag and drop the jar or open .jar file for which you want the sources on the JD.
Java Decompiler will open with all the package structure in a tree format.
Click on File menu and select save jar sources. It will save the sources as a zip with the same name as the jar.
Example:-
We can use Eclipse IDE for Java EE Developers as well for update/extract code if require.
From eclipse chose Import Jar and then select jar which you need. Follow instruction as per image below
Upvotes: 6
Reputation: 756
-Covert .jar file to .zip (In windows just change the extension) -Unzip the .zip folder -You will get complete .java files
Upvotes: -9
Reputation: 8106
I believe this can be done very easily. You can always extract the source files (Java files) of a jar file into a zip.
Steps to get sources of a jar file as a zip :
Hope this helps.
The link is dead due to some reason so adding the link from where you can download the JDGUI
Upvotes: 43
Reputation: 44919
Your JAR may contain source and javadoc, in which case you can simply use jar xf my.jar
to extract them.
Otherwise you can use a decompiler as mentioned in adarshr's answer:
Use JD GUI. Open the application, drag and drop your JAR file into it.
Upvotes: 39
Reputation: 181
AndroChef Java Decompiler produces very good code that you can use directly in your projects...
Upvotes: 0
Reputation: 355
Above tools extract the jar. Also there are certain other tools and commands to extract the jar. But AFAIK you cant get the java code in case code has been obfuscated.
Upvotes: -2
Reputation: 3011
I know it's an old question Still thought it would help someone
1) Go to your jar file's folder.
2) change it's extension to .zip.
3) You are good to go and can easily extract it by just double clicking it.
Note: I tested this in MAC, it works. Hopefully it will work on windows too.
Upvotes: 18
Reputation: 25
suppose your JAR file is in C:\Documents and Settings\mmeher\Desktop\jar and the JAR file name is xx.jar, then write the below two commands in command prompt:
1> cd C:\Documents and Settings\mmeher\Desktop\jar
2> jar xf xx.jar
Upvotes: -6
Reputation: 62603
Use JD GUI. Open the application, drag and drop your JAR file into it.
Upvotes: 169
Reputation: 997
You can extract a jar file with the command :
jar xf filename.jar
References : Oracle's JAR documentation
Upvotes: 70