Tools to work with android .dex and java .class files
Go to file
Bob Pan caf241d635
Merge pull request #592 from pxb1988/dex040
* support dex039 & dex040

support read/write/smali/baksmali dex039.

support const-mothod-type and const-method-handler, syntax is same as google's smali fork. (google 's smali 3.0.3 can't assemble the two instruction back to dex)

dex040 support space and other unicode in SimpleName, d2j-smali will escape space char to unicode.
2023-08-31 13:07:19 +08:00
.github/workflows move to github (#512) 2021-10-29 23:33:24 +08:00
d2j-base-cmd remove maven pom.xml 2018-04-02 16:44:36 +08:00
d2j-jasmin Update ASM to 9.5, drop AsmBridge (#591) 2023-08-30 21:25:55 +08:00
d2j-smali support dex 039 and 040 2023-08-31 12:54:53 +08:00
dex-ir support dex 039 and 040 2023-08-31 12:54:53 +08:00
dex-reader support dex 039 and 040 2023-08-31 12:54:53 +08:00
dex-reader-api support dex 039 and 040 2023-08-31 12:54:53 +08:00
dex-tools Update ASM to 9.5, drop AsmBridge (#591) 2023-08-30 21:25:55 +08:00
dex-translator support dex 039 and 040 2023-08-31 12:54:53 +08:00
dex-writer support dex 039 and 040 2023-08-31 12:54:53 +08:00
gradle/wrapper update to gradle 6.9.1 2021-10-29 23:04:52 +08:00
.travis.yml use jdk8 for travis 2018-04-02 16:31:28 +08:00
build.gradle Migrate to Google's smali fork 2023-08-31 11:26:04 +08:00
gradlew update to gradle 6.9.1 2021-10-29 23:04:52 +08:00
gradlew.bat update to gradle 6.9.1 2021-10-29 23:04:52 +08:00
LICENSE.txt add notice and lincense 2014-10-27 20:51:16 +08:00
NOTICE.txt cherry-pick form 2021-10-31 01:38:00 +08:00
README.md move to github (#512) 2021-10-29 23:33:24 +08:00
settings.gradle Remove Java 6 compat 2021-10-31 02:02:46 +08:00

dex2jar

Project move to GitHub

_ Mirror Wiki Downloads Issues
gh https://github.com/pxb1988/dex2jar Wiki Releases Issues
sf https://sourceforge.net/p/dex2jar old old old
bb https://bitbucket.org/pxb1988/dex2jar old old old
gc https://code.google.com/p/dex2jar old old old

Tools to work with android .dex and java .class files

  1. dex-reader/writer: Read/write the Dalvik Executable (.dex) file. It has a light weight 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 (file size should be ~5 MB)
  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 ?

post on issue trackers list above.

License

Apache 2.0