This is Nico Mexis' fork of the dex2jar project which aims to fix most issues.
- Fixed many
StringIndexOutOfBoundsExceptions relating to signatures - Fixed
TypeTransformerrelated issues - Fixed many
NullPointerExceptions and other crashes - Fixed grammar of error messages
- Update libraries (especially ASM)
- Library fat-jar can be used for other projects (Automatically produced by GitHub Actions)
- Smali now outputs
.paraminstead of the outdated.parametersyntax - Reformatted and cleaned up most of the code
This fork has builds available in the following formats.
You can also only depend on a single module, if needed. The following sections include all the modules.
The builds are available on Maven Central.
<dependency>
<groupId>de.femtopedia.dex2jar</groupId>
<artifactId>dex2jar</artifactId>
<version>VERSION</version>
</dependency>The builds are available on Maven Central.
implementation 'de.femtopedia.dex2jar:dex2jar:VERSION'To download the latest builds, head to the Releases.
Note: The builds in Releases are automatically built by GitHub Actions.
Tools to work with android .dex and java .class files
- dex-reader/writer: Read/write the Dalvik Executable (.dex) file. It features a lightweight API similar with ASM .
- d2j-dex2jar: Convert .dex file to .class files (zipped as jar)
- smali/baksmali:
Disassemble dex to smali files and assemble dex from smali files. Different implementation
to smali/baksmali, same syntax, but we support escape in type desc
"Lcom/dex2jar\t\u1234;" - other tools: d2j-decrypt-string
- In the root directory run:
./gradlew distZip cd dex-tools/build/distributions- Unzip the file
dex-tools-2.4-SNAPSHOT.zip - Run
d2j-dex2jar.shfrom the unzipped directory
sh d2j-dex2jar.sh -f ~/path/to/apk_to_decompile.apkAnd the output file will be apk_to_decompile-dex2jar.jar.
See for example the infamous Bytecode Viewer.
Send an email to [email protected] or post on the issue tracker.