Tools to work with android .dex and java .class files
Go to file
Nico Mexis 3a13f99df3 Remove Java 6 compat
It didn't work anyways.... Besides, you should definetly NOT use Java 6 nowadays
2021-08-19 22:11:59 +02:00
.github/workflows Allow manual triggering of workflow 2021-08-10 23:24:02 +02:00
d2j-all Remove Java 6 compat 2021-08-19 22:11:59 +02:00
d2j-base-cmd Reformat code based on CheckStyle 2021-08-12 13:19:22 +02:00
d2j-jasmin Reformat code based on CheckStyle 2021-08-12 13:19:22 +02:00
d2j-smali Reformat code based on CheckStyle 2021-08-12 13:19:22 +02:00
dex-ir Reformat code based on CheckStyle 2021-08-12 13:19:22 +02:00
dex-reader Reformat code based on CheckStyle 2021-08-12 13:19:22 +02:00
dex-reader-api Clean synthetic flags and deanonymize classes 2021-08-14 17:02:59 +02:00
dex-tools Reformat code based on CheckStyle 2021-08-12 13:19:22 +02:00
dex-translator Fix double nested classes - debugging this was a fukin nightmare 2021-08-19 21:43:53 +02:00
dex-writer Reformat code based on CheckStyle 2021-08-12 13:19:22 +02:00
gradle/wrapper Remove Java 6 compat 2021-08-19 22:11:59 +02:00
libs Move libs folder 2021-08-11 19:29:36 +02:00
.gitignore Reformat code 2021-08-10 15:34:39 +02:00
.travis.yml Add all currently supported JDKs to Travis CI Matrix 2021-08-10 22:05:55 +02:00
build.gradle Fix last linter warnings 2021-08-10 22:04:47 +02:00
checkstyle.xml Reformat code based on CheckStyle 2021-08-12 13:19:22 +02:00
gradlew Update Gradle Wrapper 2021-08-10 21:58:53 +02:00
gradlew.bat Update Gradle Wrapper 2021-08-10 21:58:53 +02:00
LICENSE.txt Update dates 2021-08-11 23:12:50 +02:00
NOTICE.txt Update dates 2021-08-11 23:12:50 +02:00
README.md Add missing alt tag 2021-08-11 23:08:27 +02:00
settings.gradle Remove Java 6 compat 2021-08-19 22:11:59 +02:00

dex2jar

Travis CI build status

This is Nico Mexis' fork of the dex2jar project which aims to fix most issues.

Fixed issues

  • Fixed many StringIndexOutOfBoundsExceptions relating to signatures
  • Fixed TypeTransformer related issues
  • Fixed many NullPointerExceptions and other crashes
  • Fixed grammar of error messages
  • Update libraries (especially ASM to 9.2)
  • 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

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

  1. dex-reader/writer: Read/write the Dalvik Executable (.dex) file. It features a lightweight API similar with ASM .
  2. d2j-dex2jar: Convert .dex file to .class files (zipped as jar)
  3. 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;"
  4. other tools: d2j-decrypt-string

Usage

  1. In the root directory run: ./gradlew distZip
  2. cd dex-tools/build/distributions
  3. Unzip the file dex-tools-2.1-SNAPSHOT.zip
  4. 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.

Need help ?

Send an email to nico.mexis@kabelmail.de or post on the issue tracker.

License

Apache 2.0