Java decompiler and compiler

13 Best Java Decompilers for Download and Online Use for Java Developers

A quick guide to best java decompilers for the java developers offline usage and best online java decompilers.

1. Overview

in this tutorial, We’ll learn what are the best java decompilers for the java developers and what are java
online decompilers available for free usage.

For some of the developers who do not have access to download it to the development machines, they might need the help of online decompilers.

2. What is Decompiler?

When the java class is compiled and then the JVM generates the .class file for that class. That means java source code is converted into the .class file which is in the form of the byte stream.

Now the generated class file is not in a readable format. So, how to read the class file in java?

Java Decompiler converts the byte stream data into the readable source file.

Many times, you might be in the need to see the third party jars source code to debug issues.

If you do not have the right decompiler tool then you can not view the .class file in java.

By using Decompiler, you can view the source code for java built in api classes for String, ArrayList, HashSet and HashMap classes.

All java API classes are present in the rt.jar file. This file is generated by the JDK as soon as you install java on your machine.

Every java developer must have one java decompiler to become a better programmer by seeing the .class files internal code.

3. Java Decompiler Tools

If you are using only eclipse then only you need the decompiler. Because decompiler is not integrated with the eclipse. You need to add the jd decompiler to it.

But if you IntelliJ idea user, by default it comes with the inbuilt decompiler which works flawlessly.

Let us see the offline java decompiler tools and choose the best one for you.

3.1 JDProject Java Decompiler

JDProject means java decompiler project. This works on windows, unix and mac os.

JDProject is the most used java decompiler in the world by java developers because it has the support for the Eclipse IDE and offline tool as well.

This one is easy to use and supports java 1.1 onwards.

And also JD has syntax highlighting and also open multiple jars at the same time from the offline tool.

This can easily reconstruct the java source file from the any version java .class file.

Works with enums, collections, java 8 stream apis as well.

3.2 Procyon

Procyon is a java decompiler developed by Mike Strobel.

Procyon decompiler handles java language enhancements from JDK 1.5 and beyond that most other decompilers don’t. Procyon really works very well with enum declarations, annotations, java 8 lambdas and method references.

Читайте также:  Ext file upload php

Compare to this, I suggest to use the JD project decompiler because Procyon is still a new one and still development is in progress.

3.3 Neshkov – DJ Java compiler

This is also another free decompiler tool.

DJ decompiler is windows based and support all windows operating systems till windows 10.

This is a standalone tool like the above decompilers with GUI.

The main advantage of this tool is, JDK is not needed to be installed on the machine to run this tool.

The program enables users to save, print, edit and compile the generated java code.

And also you can edit and run the code instantly using the given option as below.

3.4 Cavaj Java Decompiler

This is another java decompiler and is free software.

Cavaj Java Decompiler is a simple GUI for only for windows developers and does not provide the java

This is not available for the MAC and Unix os. So, this is not recommened for the experienced developers.

3.5 AndroChef Java Decompiler

Andochef is a windows based GUI and works with apk., dex, jar and java class-files. It’s simple and easy.

AndroChef Java Decompiler is Windows XP, Windows 2003, Windows Vista, Windows 7, Windows 8 , 8.1 and Windows 10 decompiler for Java that reconstructs the original source code from the compiled binary CLASS files.

AndroChef Java Decompiler is able to decompile the most complex Java 6 applets and binaries, producing accurate source code from it.

This decompiler works for android apk files also.

For large APK files (over 10 MB) – decompilation may take several minutes to complete or even longer, depending on the configuration of your computer and the size of the file.

To get the full features, you need to buy the licenced copy of software.

3.6 JBVD – Java Bytecode Viewer & Decompiler

JBVD provides the support for the cross platforms such as Windows, Mac and Unix environments.

A very powerful java bytecode viewer and decompiler which makes use of the javassist open source library.

This is not getting the recent updates since 2017.

3.7 FernFlower

Fernflower is the first actually working analytical decompiler for Java and probably for a high-level programming language in general.

This is still under the development.

Better to skip these type of decompiler till its full development and tested. But you can try and use it if you like. If you intellij user, then you may like this.

This is for intellij idea and used as plugin,

3.8 CFR – another java decompiler

Last but not unused one. CFT is completely written in java 6 and provides decompilation for the java modern syntax.

If you are working on java 8 then this is very good for you to get the accurate the results.

This can work with the latest java version java 9, 12 and 14 also.

The recent update is in the fen 2021 and can expect the further updates in future.

By using this command line interface, we can get the fast and efficient source codes from this.

4. Java Online Decompilers

Some of the developers do not like decompiling on the local computer rather they prefer doing it online.

Or if you want to decomiple only one class file then you may need to go the online decompilers.

Читайте также:  Закладка

But it is strictly recommended not to use online decomiples for your production code base.

if that class has the sensitive information, it may triggers the entry point to the hackers.

Some of the online decompilers list.

4.1 javadecompilers.com

This online decompier expects you to upload the .class file and select the decompiler that you want to use the from the top tools.

4.2 jdec.app

4.3 javainuse – Java Decompiler Online

A CLASS file is a compiled .JAVA file created by the Java compiler. It contains bytecode, which is binary program code that is executable when run by a Java Virtual Machine (JVM). CLASS files are commonly bundled into .JAR files, which are included in the $CLASSPATH environment variable for execution.

4.4 decompiler.com

decompiler.com online decompiler works for all of these extentions – EXE or DLL, JAR or CLASS, APK, XAPK or DEX,PYC or PYO, LUAC or LUB, SMX or AMXX.

This is kind of all in one decompiler but it is online.

You can decompiler java classes, F#, C#, android, python and lua code as well.

4.5 devtoolzone.com

5. Conclusion

As of now, we have seen many java decompiler for offline and online usage.

if you are intelliJ user then you do not need any of these because it is intergrated with inbuilt best decompiler.

If you eclipse user, Please use JDProject one because this provides the plugin for eclipse.

If you are learning java and do not use any IDE then you can use the online decompiler for your choice.

Note: Do not use the online decompier for the production classes.

Published on Java Code Geeks with permission by Venkatesh Nukala, partner at our JCG program. See the original article here: 13 Best Java Decompilers for Download and Online Use for Java Developers

Источник

JD Project

The “Java Decompiler project” aims to develop tools in order to decompile and analyze Java 5 “byte code” and the later versions.

JD-GUI is a standalone graphical utility that displays Java source codes of “.class” files. You can browse the reconstructed source code with the JD-GUI for instant access to methods and fields.

JD-Eclipse is a plug-in for the Eclipse platform. It allows you to display all the Java sources during your debugging process, even if you do not have them all.

JD-Core is a library that reconstructs Java source code from one or more “.class” files. JD-Core may be used to recover lost source code and explore the source of Java runtime libraries. New features of Java 5, such as annotations, generics or type “enum”, are supported. JD-GUI and JD-Eclipse include JD-Core library.

JD-Core, JD-GUI & JD-Eclipse are open source projects released under the GPLv3 License.

  • JD-Core and JD-GUI are written in Java.
  • JD-Core works with most current compilers including the following:
    • JDK 1.1.8, JDK 1.3.1, JDK 1.4.2, JDK 1.5.0, JDK 1.6.0, JDK 1.7.0, JDK 1.8.0, JDK 9.0.1, JDK 10.0.2
    • jrockit90_150_06
    • jikes-1.22
    • harmony-jdk-r533500
    • Eclipse Java Compiler v_677_R32x, 3.2.1 release

    JD-GUI

    JD-GUI is a standalone graphical utility that displays Java source codes of “.class” files. You can browse the reconstructed source code with the JD-GUI for instant access to methods and fields.

    Источник

    Декомпиляция Java приложений

    Недавно я задался вопросом: Какой декомпилятор лучше?
    Начал мучить Google, экспериментировать. В итоге нашел отличное решение. Как декомпильнуть любую программу и получить рабочие «исходники»? Об этом в сабже.

    Краткий обзор популярных декомпиляторов

    Mocha

    Mocha (автор — Hanpeter van Vliet)— это, вероятно, один из первых выпущенных декомпиляторов Java. Предоставляет консольный пользовательский интерфейс. Его релиз состоялся в 1996-ом году, ещё до того, как появился Java Development Kit версии 1.1

    JAva Decompiler

    JAva Decompiler, JAD (автор — Pavel Kouznetsov) — по всей видимости, самый
    популярный декомпилятор Java. Как и Mocha, этот декомпилятор предоставляет консольный интерфейс, давно не обновляется и не поддерживается, но большое число графических инструментов для работы с ним, в том числе плагин JadClipse для среды разработки Eclipse, делают его и по сей день используемым в качестве подручного средства для декомпиляции небольших классов.
    Помимо декомпиляции, JAva Decompiler обладает возможностью дизассемблирования .class-файлов.

    DJ Java Decompiler

    DJ Java Decompiler (автор — Atanas Neshkov) — долгое время вопреки названию являлся лишь графической оболочкой для предыдущего декомпилятора, позволявшей легко и удобно выбрать аргументы командной строки для вызова JAD. В текущей версии добавлена поддержка аннотаций, но декомпилятор стал условно-бесплатным (необходима покупка после 10 пробных использований).

    JD-Core
    • Полностью написана на языке C++, что делает декомпиляцию необычайно быстрой
    • Не требует для работы Java Runtime Environment и поэтому не требует специальной установки
    • Корректно декомпилирует .class-файлы, сгенерированные большинством компиляторов
    Fernflower

    Мой выбор

    Fernflower будет развиваться в сторону деобфускатора

    Специальных функций деобфускации Fernflower сейчас не содержит, они будут подключаться в дальнейшем отдельными модулями

    Т.к. онлайн версия по неизвестным причинам не работает, а про оффлайн трудно что-либо сказать(кроме того, что качество декомпиляции отменное), не о каких модулях на данный момент речи быть не может.

    ProGuardDeobfuscator — небольшая модификация программы ProGuard, превращающая ее в квази-деобфускатор. В процессе обработки короткие обфусцированные имена пакетов, классов, полей и методов заменяются на более осмысленные и уникальные в пределах Jar файла.

    Скачать исходники и сам деобфускатор: projectd8.org/Programs/Java/PGD

    Инструменты все есть, но лично я, для облегчения воссоздания сорцов использую так же любимую Netbeans IDE — очень сильно помогает своими подсказками, особенно когда классов много.
    Спасибо за внимание!

    Ссылки

    UPD:
    Извиняюсь, в offline версии Fernflower присутствует модуль переименований и уйма других штук — Readme

    Источник

    Java decompiler and compiler

    Compiler — DJ Java Decompiler Tool

    Included in DJ Java Decompiler «Compiler» tool enables users to compile Java source code into Java bytecode. Just select your files and click on «Compile» button.

    Compiler

    To compile a .JAVA file: Select «File» -> «Open» and load your desired java file. Press «F9». Use «Compile» tool to compile a single java file. To compile more than one java file — use the first «Browse» button and select these files.

    To use «Compile», «Run», «Appletviewer», «JAR» and «Native-to-ASCII Converter» buttons on the right-side toolbar you must have JDK (Java SDK) installed on your computer. For more information — http://java.sun.com/

    When you first run DJ Java Decompiler the program tries to locate all of these options and paths automatically. Once you have entered these settings DJ saves them so you can use them later.

    Back to DJ Java Decompiler home page: http://www.neshkov.com/dj.html or visit another Java Decompiler page.

    Download DJ Java Decompiler and start using now

    The files are digitally signed with VeriSign Digital ID Class 3 — Microsoft Software Validation v2

    AndroChef Java Decompiler

    AndroChef Java Decompiler

    © 2000 — 2015 DJ Java Decompiler and Atanas Neshkov All Rights Reserved.
    Privacy Privacy | End-User License Agreement (EULA) | How do I Uninstall or Install DJ Java Decompiler

    Источник

Оцените статью