dex2jar
dex2jar copied to clipboard
Tools to work with android .dex and java .class files
dex2jar
This is Nico Mexis' fork of the dex2jar project which aims to fix most issues.
Fixed issues
- Fixed many
StringIndexOutOfBoundsException
s relating to signatures - Fixed
TypeTransformer
related issues - Fixed many
NullPointerException
s 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
.param
instead of the outdated.parameter
syntax - Reformatted and cleaned up most of the code
Downloads
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.
Maven
The builds are available on Maven Central.
<dependency>
<groupId>de.femtopedia.dex2jar</groupId>
<artifactId>dex2jar</artifactId>
<version>VERSION</version>
</dependency>
Gradle
The builds are available on Maven Central.
implementation 'de.femtopedia.dex2jar:dex2jar:VERSION'
GitHub Releases
To download the latest builds, head to the Releases.
Note: The builds in Releases are automatically built by GitHub Actions.
Modules
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
Usage
- In the root directory run:
./gradlew distZip
-
cd dex-tools/build/distributions
- Unzip the file
dex-tools-2.4-SNAPSHOT.zip
- Run
d2j-dex2jar.sh
from the unzipped directory
Example usage:
sh d2j-dex2jar.sh -f ~/path/to/apk_to_decompile.apk
And the output file will be apk_to_decompile-dex2jar.jar
.
Example Maven project:
See for example the infamous Bytecode Viewer.
Need help ?
Send an email to [email protected] or post on the issue tracker.