MCPcopy Index your code
hub / github.com/pxb1988/dex2jar

github.com/pxb1988/dex2jar @v2.4 sqlite

repository ↗ · DeepWiki ↗ · release v2.4 ↗
2,641 symbols 9,276 edges 318 files 255 documented · 10% 1 cross-repo links
README

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

Extension points exported contracts — how you extend this code

DexConstants (Interface)
constants in dex file @author Panxiaobo @version $Rev$ [13 implementers]
dex-reader-api/src/main/java/com/googlecode/d2j/DexConstants.java
Transformer (Interface)
TODO DOC @author Panxiaobo @version $Rev$ [32 implementers]
dex-ir/src/main/java/com/googlecode/dex2jar/ir/ts/Transformer.java
FileVisitorX (Interface)
(no doc) [15 implementers]
d2j-base-cmd/src/main/java/com/googlecode/dex2jar/tools/BaseCmd.java
ClassVisitorFactory (Interface)
(no doc) [4 implementers]
dex-translator/src/main/java/com/googlecode/d2j/dex/ClassVisitorFactory.java
BaseDexFileReader (Interface)
(no doc) [4 implementers]
dex-reader/src/main/java/com/googlecode/d2j/reader/BaseDexFileReader.java
DataOut (Interface)
(no doc) [2 implementers]
dex-writer/src/main/java/com/googlecode/d2j/dex/writer/io/DataOut.java
MethodInvocation (Interface)
(no doc)
dex-tools/src/test/java/com/googlecode/d2j/tools/jar/MethodInvocation.java
DexAnnotationAble (Interface)
用于访问注解 @author Panxiaobo @version $Rev$ [19 implementers]
dex-reader-api/src/main/java/com/googlecode/d2j/visitors/DexAnnotationAble.java

Core symbols most depended-on inside this repo

println
called by 236
d2j-jasmin/src/main/java/com/googlecode/d2j/jasmin/JasminDumper.java
nAssign
called by 230
dex-ir/src/main/java/com/googlecode/dex2jar/ir/stmt/Stmts.java
print
called by 208
d2j-jasmin/src/main/java/com/googlecode/d2j/jasmin/JasminDumper.java
add
called by 174
dex-ir/src/main/java/com/googlecode/dex2jar/ir/stmt/StmtList.java
s
called by 172
dex-reader/src/main/java/com/googlecode/d2j/util/Out.java
add
called by 172
dex-ir/src/main/java/com/googlecode/dex2jar/ir/ts/UniqueQueue.java
nInt
called by 162
dex-ir/src/main/java/com/googlecode/dex2jar/ir/expr/Exprs.java
put
called by 148
d2j-smali/src/main/java/com/googlecode/d2j/smali/Utils.java

Shape

Method 2,201
Class 401
Interface 25
Enum 14

Languages

Java100%

Modules by API surface

dex-writer/src/main/java/com/googlecode/d2j/dex/writer/CodeWriter.java73 symbols
dex-ir/src/main/java/com/googlecode/dex2jar/ir/expr/Exprs.java70 symbols
d2j-smali/src/main/java/com/googlecode/d2j/smali/AntlrSmaliUtil.java55 symbols
dex-reader/src/main/java/com/googlecode/d2j/reader/DexFileReader.java54 symbols
dex-ir/src/main/java/com/googlecode/dex2jar/ir/ts/TypeTransformer.java48 symbols
dex-translator/src/main/java/com/googlecode/d2j/dex/Dex2Asm.java40 symbols
dex-ir/src/main/java/com/googlecode/dex2jar/ir/expr/Value.java40 symbols
dex-translator/src/main/java/com/googlecode/d2j/converter/J2IRConverter.java35 symbols
dex-translator/src/main/java/com/googlecode/d2j/converter/Dex2IRConverter.java34 symbols
d2j-smali/src/main/java/com/googlecode/d2j/smali/BaksmaliCodeDumper.java33 symbols
dex-reader-api/src/main/java/com/googlecode/d2j/node/DexDebugNode.java32 symbols
dex-ir/src/main/java/com/googlecode/dex2jar/ir/stmt/Stmt.java32 symbols

Used by 1 indexed graphs manifest dependencies, hub-wide

For agents

$ claude mcp add dex2jar \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact