A Python wrapper to popular free dex converters and Java decompilers. Extracts Java source code directly from the APK. Useful for experimenting with different converters/decompilers without having to worry about classpath settings and command line args.
$ git clone https://github.com/b-mueller/apkx
$ cd apkx
$ sudo ./install.shNotes:
- JRE needs to be installed and in PATH
- enjarify requires Python 3
Pass the APK filename on the command line:
$ apkx HelloWorld.apk
Extracting HelloWord.apk to HelloWord
Converting: classes.dex -> classes.jar (dex2jar)
dex2jar HelloWord/classes.dex -> HelloWord/classes.jar
Decompiling to HelloWord/src (cfr)The default combination of converter and decompiler is dex2jar and cfr. Use the -c and -d flags to change this. E.g.:
$ apkx -c enjarify -d procyon HelloWorld.apkTo get help, run:
$ apkx -hThis script integrates the following tools:
- Procyon by Mike Strobel - Apache License Version 2.0
- CFR by Lee Benfield - MIT License
- dex2jar by Bob Pan - Apache License Version 2.0
- enjarify by Storyyeller - Apache License Version 2.0
This script accompanies the OWASP Mobile Security Testing Guide. For further instructions and usage examples, see also: