public class HelloWorld {
public static void main(String args[]) {
String fooBar = "Hello World from Java.";
System.out.println(fooBar);
}
}
Code language: Java (java)
Use following output when we use command line utility JAD to decompile our class file. The source file output of JAD is in file with .jad extension. You can change the extension to .java. Following is the source that you get after decompillng our HelloWorld.class file.Code language: HTML, XML (xml)$> jad HelloWorld.class Parsing HelloWorld.class... Generating HelloWorld.jad
// Decompiled by Jad v1.5.8g. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://www.kpdus.com/jad.html
// Decompiler options: packimports(3)
// Source File Name: HelloWorld.java
import java.io.PrintStream;
public class HelloWorld
{
public HelloWorld()
{
}
public static void main(String args[])
{
String s = "Hello World from Java.";
System.out.println(s);
}
}
Code language: Java (java)
Note that the string variable that we used in our original Java class was fooBar and it got changed into s. Any idea why so? Java URL Encoder/Decoder Example - In this tutorial we will see how to URL encode/decode…
Show Multiple Examples in OpenAPI - OpenAPI (aka Swagger) Specifications has become a defecto standard…
Local WordPress using Docker - Running a local WordPress development environment is crucial for testing…
1. JWT Token Overview JSON Web Token (JWT) is an open standard defines a compact…
GraphQL Subscription provides a great way of building real-time API. In this tutorial we will…
1. Overview Spring Boot Webflux DynamoDB Integration tests - In this tutorial we will see…
View Comments
The reason for the change is Refactorization/Optimization , when the compiler is compiling the source it`s grabbing the long variable names in this case "FooBar" and replace it to some shorter versions for example "s" i think that most of the compilers are doing it.
Your wordpress theme generates an error:
Warning: ob_start() [ref.outcontrol]: output handler 'ob_gzhandler' cannot be used twice in /home/viralpat/public_html/blogs/wp-content/themes/wp-max/header.php on line 1
Hi Jakob,
Thanks for pointing out the error. Actually I was trying to enable GZip compression for my website and hence was playing with .htaccess ;)
Are you still getting the error?
Hi Viral,
It is very good tool.
But currently it is not existing.
Here i have a lot of list of available decompilers.
Just see,It is very useful
http://yuvadeveloper.blogspot.com/2009/03/java-decompilers-class-to-java-file.html
The page http://www.kpdus.com/jad.html#download expired in late February. Is there another place I can dl the executable?
Thanks kungfugeek, I have updated the link. You can download JAD from this site.
hope you will not mind if I link your "jad.zip" download from my Blog
Thanks
Freddie
Hi FreddieMaize, You can link to jad.zip from your site. No problem :)
To achieve better results (including for Java 1.5+ classes) in decompilation, process the classes with JadRetro (jadretro.sf.net) tool before decompiling them by Jad.
Of course, it doesn't help in your case with "fooBar" variable because javac doesn't put local variable names to the generated class file unless instructed to do so (-g:vars).
Thank you for sharing so much information. May be this information would help me in developing an application in future. Right now i am excited to go to attend the Sun Tech Days 2010 conference in Hyderabad. Experts are going to share ideas on new technologies there.