Tool
dex2jar
Java toolkit that converts Android DEX bytecode, including DEX inside APKs, into JVM .class files packed as a jar for Java decompilers and bytecode tools. It also reads and writes DEX through an ASM-like API, disassembles and assembles smali with its own implementation, converts jars back to DEX and ships helpers such as d2j-decrypt-string.
Requirements & limits
- The latest release, v2.4 of 2023-10-03 with the note “bugfix”, is the reviewed 2.x head, and no commits have followed it. Its download is dex-tools-v2.4.zip, while the README build steps still name a 2.1-SNAPSHOT archive. The README lists GitHub as the project's home after earlier Google Code, Bitbucket and SourceForge hosting.
- Everything runs on Java: the build targets Java 8 with the Gradle 6.9.1 wrapper, ASM 9.5 and ANTLR 4.9.3, which d2j-smali keeps because newer ANTLR versions need Java 11+. The d2j-* commands are generated as shell and batch launchers. The CI workflow runs gradle check and distZip on JDK 8 for pushes, pull requests and release tags.
- Input is a .dex or .odex file, or an APK or zip containing DEX, from the user's own app; the reader accepts DEX versions 035 to 040 and tries others with a warning. Output is a jar of class files rather than Java source, so reading code still needs a separate Java decompiler. Test resources hold small DEX and zip samples, and dex-translator/libs carries an Android dx 30.0.2 jar.
- Apache-2.0, with copyright notices in LICENSE.txt and NOTICE.txt.
About this entry
- Type
- Tool
- Category
- Android tools
- Relationship
- Foundation tool
- Targets
- App
Sources reviewed
The description was reviewed against primary sources. This does not establish runtime testing, security auditing or verified compatibility.
Primary sources
- README.md GitHub · pxb1988/dex2jar · Revision b5bda4f
- build.gradle GitHub · pxb1988/dex2jar · Revision b5bda4f
- d2j-smali/build.gradle GitHub · pxb1988/dex2jar · Revision b5bda4f
- dex-tools/src/main/bin_gen/class.cfg GitHub · pxb1988/dex2jar · Revision b5bda4f
- dex-reader/src/main/java/com/googlecode/d2j/reader/DexFileReader.java GitHub · pxb1988/dex2jar · Revision b5bda4f
- .github/workflows/gradle.yml GitHub · pxb1988/dex2jar · Revision b5bda4f
- gradle/wrapper/gradle-wrapper.properties GitHub · pxb1988/dex2jar · Revision b5bda4f
- LICENSE.txt GitHub · pxb1988/dex2jar · Revision b5bda4f
- NOTICE.txt GitHub · pxb1988/dex2jar · Revision b5bda4f
- https://github.com/pxb1988/dex2jar/releases/tag/v2.4
More in Apps
- apk.sh · Tool
- Aegis: trace a login-code calculation · Case study
- Notion: trace the clipboard bridge · Case study
- PicoPrint: LX-D02 printer investigation · Case study
- ReaCut: video-editor reconstruction · Case study
- CF632BLE: a local client from scale-protocol research · Case study