The ultimate Android RE experience right inside your VS Code.
APKLab seamlessly integrates the best open-source tools: Apktool, Jadx, uber-apk-signer and more to the excellent VS Code so you can focus on app analysis and get it done without leaving the IDE.
- Decode all the resources from an APK
- Disassemble the APK to Dalvik bytecode aka Smali
- Decompile the APK to Java source
- Analyze & Hack effectively with feature-rich VS Code
- Build an APK from Smali and resources
- Sign the APK seamlessly during the build
- Install the APK directly from VS Code
- Support for Apktool-style projects (
apktool.yml
) - Support for most Apktool CLI arguments
- Android resource frameworks management (Coming soon!)
- Support for user-provided keystore for APK signing
- Download and configure missing dependencies
- Excellent Smali language support with Smalise
- Supports Linux, Windows, and Mac
-
Open the Command Palette (Ctrl+Shift+P) ➜ APKLab: Open an APK
-
Or Just open an existing Apktool project folder
-
JDK 8+
Run
java -version
in your Shell, if not found download from here. -
adb
Run
adb devices
in your Shell, if not found check this guide. -
Smalise (recommended)
It makes working with
smali
files a breeze.
Dependency Paths
-
apklab.apktoolPath
: Full Path ofapktool.jar
. If you want to use a different version of it, change it like:"apklab.apktoolPath": "/home/oozer/downloads/apktool_2.4.1.jar"
-
apklab.apkSignerPath
: Full Path ofuber-apk-signer.jar
. If you want to use a different version of it, change it like:"apklab.apkSignerPath": "/home/oozer/downloads/uber-apk-signer-1.1.0.jar"
-
apklab.jadxDirPath
: Full Path ofjadx-x.y.z
dir. If you want to use a different version of it, change it like:"apklab.jadxDirPath": "/home/oozer/downloads/jadx-1.1.0"
Keystore configuration
-
apklab.keystorePath
: Put the absolute path of your Java keystore(.jks
or.keystore
) file here."apklab.keystorePath": "/home/oozer/downloads/debug.keystore"
-
apklab.keystorePassword
: Put the password of your keystore here. -
apklab.keyAlias
: Put the alias of the used key in the keystore here. -
apklab.keyPassword
: Put the password of the used key in the keystore here.
- First time when you try APKLab: Open an APK or APKLab: Rebuild the APK, the dependencies(ApkTool, etc.) will be downloaded and settings will be updated. However, you may need to restart VS Code once, on download completion, for the settings to be applied.
For bug reports, feature requests or simply discussing an idea, please open an issue here. PRs are always welcome.
- Feimaomii for the awesome logo
- Aman Sharma for improved Windows support
- iBotPeaches, brutall and JesusFreke for Apktool & Smali
- patrickfav for uber-apk-signer
- skylot for Jadx