Skip to content

A Docker image with four popular Java decompilers in one place (CFR, Fernflower, Krakatau, and Procyon) 🚀🔨

License

Notifications You must be signed in to change notification settings

eikendev/java-decompiler

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.