Skip to content

eikendev/java-decompiler

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
src
 
 
 
 
 
 
 
 
 
 
 
 

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.