Good Java Decompiler Download Mac

Java decompiler download mac

  • As a programmer, we frequently come across interesting apps and games on the Play Store. And wonder what if there is a magical software that can take the.apk file and reveal its actual source code.Today, I'm gonna give you an ultimate list of best APK decompilers.
  • JCavaj Java Decompiler v.1.00 JCavaj Java Decompiler is a free Java-based Java Decompiler. It reconstructs the original source code from a compiled binary CLASS file. You can decompile java applets, jar and zip files producing accurate java source code. JCavaj runs on any. Jdec: Java Decompiler v.rc jdec is a Java Decompiler.

I generally have used JD Java Decompiler, in my career.Basically this has 3 main features. JD Core-The base library which recovers the lost source code,and supports all new features of Java 5. JD Project is one of the most frequently used best java decompiler offline. It is developed to decompile Java 5 and beyond, which currently goes up to Java 8. It is available for Windows, Mac, and Linux and is the best decompiler for eclipse and IntelliJ as it provides a plugin for each platform separately.

If you are a programmer or even a beginner in this field of programming, then you probably would have heard about Java. Usually, people say to choose Java as an initial programming language. Well, before moving forward to know about Java decompilers, let’s know about Java and how it works.

The best thing that makes Java a popular programming language is the fact that it is platform independence. This means that the programmers can run the Java programs on any computer or laptop, with a condition that the JRE ( Java Runtime Environment) is installed in the system.

Apart from being so compatible with all OS and computers, it is also an object-oriented programming language. The developers get to know about thousands of libraries and components of Java, which can really make your coding experience very simple and easy.

So, now that you have got an idea about the Java programming language, let us come back to our discussion of Java Decompilers. Well, many of you might be knowing that to run programs you need a compiler, but then what is Decompiler. Don’t need to worry, let’s find out the difference between a compiler and a decompiler.

What is a Compiler and a DeCompiler?

The code written in any programming language is not machine-readable so we need to make it understandable for the machine(computer). In order to do this, we use a compiler. So basically a compiler is a computer program that translates code written in any particular programming language to any targeted language(generally machine-readable language).

A compiler takes the entire program as input translates it as a whole and also generates an intermediate code using some amount of memory in the process. It displays the errors generated during the process of compilation at the end of the compilation.

In order to achieve success translation a compiler must itself be free from any kind of bug, it must generate correct machine code and the compiler should itself must run fast(i.e. total compilation time must be proportional to the program size).

Good Java Decompiler Download Mac

The architecture of any compiler comes in various variations depending on various factors. As it depends on which programming language is to be compiled(be it C++, Java, or Scala). Be it different programming paradigms such as object-oriented or functional. And also on the different computer architectures( x86 or ARM) and the kind of operating system where it will be used.

All in one there are various aspects of building a good compiler. Examples of different compilers are MinGW, Portable C Compiler, Borland Turbo C, Free Pascal, etc.

Suggested readWays in JAVA to get hostname, localhost and IP Address

Decompiler:

A decompiler is very similar to a compiler as it operates similarly but in reverse. Compiler converts code written in programing language to machine-readable code but unlike compiler, a decompiler is like a disassembler and works in reverse as it converts low-level language executable code into a format which can be easily read by programmers.

Java

A decompiler engages various techniques such as Data Flow analysis, type analysis, program analysis, and structured to perform its decompiling process in the most efficient manner possible. It reverses binaries of a low-level language into high-level language.

Some examples of DeCompilers are JAD Decompiler, DJ Java Decompiler, JBVD decompiler, etc.

How does a Decompiler Work?

The steps of a decompiling operation can be understood by examining the working of various decompilers of any programming language such as JAVA.

In very laymen terms, a decompiler works in reverse to that of the compiler as it takes low-level language code(executable code) as it input and converts it into a high-level source code, which can be further recompiled without any modifications.

The class file generated by the Java Compiler contains a lot of information about the design of the program written initially. It may contain this;

  • The name of the class.
  • The names, types, and modifiers of the class fields.
  • The names, signatures, and modifiers of the methods.
  • The bytecode of the method, which is pretty high level and can be easily mapped back to source code.
  • The names of the local variables
  • The bytecode position to line numbers mappings

This information is ample enough to recover a very similar source code to what you have written. Some aspects that the decompiler needs to be smart about are:

  • Type inference for local variables, especially for generics as they are erased before the class file is generated.
  • Recovering structured bytecode. This can be as simple as converting backward jumps to loops and forward jumps to conditional statements.

Let’s take a look at the list of best class to java decompilers available for Mac (.dmg), windows (.exe), and Linux (.pkg).

Suggested read10 best Intellij themes ideas

There is an abundance of options for choosing a decompiler. Some of these are listed below:

8 Best java decompilers

1. JD Project

JD Project the most subsequently used Java Decompiler. It adds to its versatility as it has also been provided offline by its developers. It is a multi-platform decompiler as it is available on all platforms Windows, Mac OS, and Linux.

The JAVA Decompiler Project aspires for the development of tools that can decompile and analyze Java 5 byte code and also its later versions.

It provides decompilers in different flavors such as JD-GUI, JD-Core, JD-Eclipse, and many more. Plugins for every mode are made available by the developers for free.

2. Procyon

Java Exe Decompiler

This decompiler was developed by Mike Strobel and the team. This is a very highly efficient decompiler as it can decompile nearly any java class file. Procyon is a suite of Java metaprogramming tools focused on code generation and analysis.

It includes different libraries such as Core FrameWork, Reflection FrameWork, Expression Framework, and Java DeCompiler.

Procyon is a standalone front-end for the Java Decompiler. It has been used by Konloch in developing their open-source java decompilation, disassembly, and debugging suite- Bytecode Viewer.

Suggested readBest NoSQL databases list

3. JBVD – Java Bytecode Viewer & Decompiler

JBVD stands for java bytecode viewer and decompiler, which uses an open-source library named java-assist for converting .class files into Java source files i.e the decompilation process.

To work it requires JAVA to be pre-installed on the device where the use is intended.

It is only available for Windows and can be downloaded for free.

4. Cavaj Java Decompiler

This cavaj decompiler is another powerful as it can convert bytecode to Java Source Code quite efficiently and accurately.
It is only available only on Windows which accounts for one of its drawbacks.

Another of its drawbacks is that cavaj does provide syntax highlighting, which makes writing the code a little harder.

Cavaj Decompiler is a graphical freeware service that can regenerate java source code from .class file for java applets, jar and zip files reconstructing accurate java source code.

5. AndroChef Java Decompiler

If someone is looking for a powerful Windows Java Decompiler then your quest can finally meet its end. AndroChef is another Java decompiler only running on Windows OS.

It can view, analyze the byte code, and then can regenerate java source code from it to utter precision and accuracy.

AndroChef can easily decompile most of the java6, java7,java8, .jar files, java applets, and .class files very easily.

Good Java Decompiler Download Mac Os

It supports all versions of Windows from Windows XP and above up to the latest version of Windows 10.

Suggested readBest Programming tools for Programmers productivity

6. DJ Java Decompiler

This is yet another windows only java decompiler and disassembler for java. It is also a cross-platform software that has been packed with high competence of reconstructing original source code from compiled .class file.

Mac

DJ Java decompiler is provided for Java decompiling as a GUI- tool and also in the forms of plug-ins for Eclipse and IntelliJ integrated development environments.

7. CFR Decompiler

It stands for Class File Reader and is highly precise in its operations. It is such a versatile decompiler by its use as it was originally written in Java 6 so it has zero compatibility issues with any prior version of java 6 and will decompile all modern java features with support up to java 14 including all versions between java 6 and java 14.

While decompiling it all supports the latest features of java like lambdas without any fuss. It comes with a command-line tool that makes the whole process of decompiling a simpler, smoother, and faster.

The only drawback with this compiler is that it does not come under any open-source program.

8. FernFlower

A little fun fact about this decompiler is that it was the first actually working analytical decompiler for java. It was licensed under the Apache License Version 2.0.
Sometimes while decompiling there is a possibility of overwriting a source code, by the use of FernFlower the possibility of this error reduces.

Jad Java Decompiler Download

Suggested readBest Python Ide for Beginners

Conclusion:

This was a small list of some of the best available Java Decompilers. One can easily download them for free from any of the free open-source platforms available over the internet.

Java decompilers are available in abundance for any operating system be it Mac OS or Linux or Windows and over any integrated development environment.
Try all the Java Decompilers available at hand and best suited for your programming and just keep on developing and sharing your experience with the world.

This topic contains 9 replies, has 5 voices, and was last updated by 11 years, 3 months ago.

Decompiler C

  • Not at this time, but there are plenty of Eclipse plugins that can install along side MyEclipse to accomplish this. I believe jadclipse is a popular one.

    just to point out jadeclipse is incompatible with myeclipse

    although, this might get it working

    i.e. copy the jar to the plugins directory and restart myeclipse

    NOTE – I have now got this working

    Here are my install notes on Mac

    Additions to MyEclipse

    a) JAD

    see – http://jadclipse.sourceforge.net/wiki/index.php/Main_Page

    i) install jad. note path where this is installed.
    on my Mac this is /Java/jadmx158/jad

    ii) download jar from wiki page above, and place in your ‘dropins’ folder of your myeclipse directory
    on Mac this is /Library/Genuitec/My Eclipse 7.5/dropins

    Then restart myEclipse, check it is working by selecting method of class in a jar,
    e.g. Struts API, then look at method by hitting f3
    You should now see decompiled e.g. ServletRequest.class

    you can check where the jadeclispe is pointing under
    MyEclipse Workbench > Preferences > Java > JadClipse

    hope that helps.

    markw21,

    Thank you for sharing your findings with us. This will help other users looking for a Java Decompiler eclipse plugin.

    I also am trying to get JADClipse working with MyEclipse 7.5 (on Windows Vista)

    I have followed the above instructions
    installed jad
    copied the net.sf.jadclipse_3.3.0.jar to the MyEclipse 7.5dropins folder

    and NO Windows > Preferences > Java > JadClipse !

    is there something I am missing??? Is there something required to get MyEclipse to recognisae that there is something new in the dropins folder? I have read that Eclipse can use a -clean argument at startup is there something similar for MyEclipse?

    Taffy,

    Let me reiterate that MyEclipse doesn’t provide an integrated support for JadClipse. But as users have mentioned, you may be able to add it as a plugin. Can you please verify if your JADClipse plugin is compatible to that of Eclipse 3.4.2? If yes, can you place the net.sf.jadclipse_3.3.0.jar instead of MyEclipse 7.5dropins folder to MyEclipse 7.5dropinsplugins folder. In case “plugins” folder is not existing, please create one. Next restart MyEclipse 7.5. I would recommend you to check this plugin under Help > About MyEclipse WorkBench > Plugin Details and look for JadClipse plugin here.

    I think that it is quite clear that MyEclipse does not provide integrated support for JadClipse. My issue was with the fact that I could not get third party plugins to work. I have eventually got my plugins to work. I placed the myplugins.link file (containing the path to my plugin location) in the dropins folder and it loaded all the plugins. Although before it would do this I needed to uninstall MyEclipse 7.5 and reinstall it using its default install location. I had installed it to a custom location, but this seemed to have broken the puls plugin manager, which would through an error during processing and tell me to check the log. The location of the log was specified so I have no idea what its contents were. Can you tell me where the “log” would have been created?

    Taffy,

    Good to hear you are all set with plugins.
    MyEclipse log files are located at [your workspace dir]/.metadata/.log and
    Pulse log files are located at [your pulse install dir]/common/logs (look for ~GenuitecCommonlogs)