Overview Version History Q & A Rating & Review
APKLab
The ultimate Android RE experience right inside your VS Code .
APKLab seamlessly integrates the best open-source tools: Quark-Engine , Apktool , Jadx , uber-apk-signer , apk-mitm and more to the excellent VS Code so you can focus on app analysis and get it done without leaving the IDE.
Features
Decode all the resources from an APK
Disassemble the APK to Dalvik bytecode aka Smali
Decompile the APK to Java source
Interactive Malware Analysis Report
Initialize Project dir as Git repo
Excellent Smali language support with Smalise
Analyze & Hack effectively with feature-rich VS Code
Apply MITM patch for HTTPS inspection
Build an APK from Smali and resources
Rebuild an APK in Debug mode for dynamic analysis
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
Supports Linux, Windows, and Mac
Requirements
Getting Started
Apply MITM patch
ReBuild and Sign APK
Install APK to device
Open the Command Palette (Ctrl+Shift+P) ➜ APKLab: Empty ApkTool Framework Dir
Extension Settings
Dependency Paths
apklab.apktoolPath
: Full Path of apktool.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 of uber-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 of jadx-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.
Additional configuration
apklab.initProjectDirAsGit
: Initialize project output directory as Git repository.
apklab.updateTools
: Whether APKLab should check for tools (for apklab, jadx...) update and show a notification.
Known Issues
Please check our Bug tracker for known issues.
Contribution Guide
For bug reports, feature requests or simply discussing an idea, please open an issue here . PRs are always welcome.
Credits