/java-decompiler

A Docker image that combines the strength of four popular Java decompilers (CFR, Fernflower, Krakatau, and Procyon) :rocket::hammer:

Primary LanguageDockerfileISC LicenseISC

Java Decompiler

Have your decompilers ready when you need them most.

Java Decompiler combines the strength of four popular Java decompilers.

License 

📄 Usage

First, create a directory ./infiles that contains all your JAR and APK files you want to decompile.

Then, in case the targeted files depend on any external library, put a copy of these libraries in JAR format into a directory ./libfiles. Some decompilers depend on this to work properly.

Next, prepare an empty directory ./outfiles, which is where the output of the decompilers will be written to.

Lastly, run the Docker image via the following command.

docker run \
	-ti \
	--rm \
	-v "$PWD/infiles:/infiles:Z,ro" \
	-v "$PWD/libfiles:/libfiles:Z,ro" \
	-v "$PWD/outfiles:/outfiles:Z,rw" \
	ghcr.io/eikendev/java-decompiler:latest

If you want to use Podman, simply switch docker to podman at the start of the command.

💡 Background

This Docker image is equipped with four Java decompilers:

It also includes Enjarify and jadx for the decompilation of APK files.

For more information on all these tools, check out my related blog post.