APKLab seamlessly integrates the best open-source tools: Apktool, smali-lsp, 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.
<a href="https://github.com/APKLab/APKLab">
<img alt="Version" src="https://img.shields.io/github/v/tag/APKLab/APKLab?label=latest&color=f0f0e0&labelColor=404752">
</a>
<a href="https://open-vsx.org/extension/Surendrajat/apklab">
<img alt="Download" src="https://img.shields.io/static/v1?label=get%20from&message=open-vsx&color=629&labelColor=404752">
</a>
<a href="https://marketplace.visualstudio.com/items?itemName=Surendrajat.apklab">
<img alt="Installs" src="https://img.shields.io/visual-studio-marketplace/i/surendrajat.apklab?logo=visual-studio-code&logoColor=blue&labelColor=404752&color=blue">
</a>
<a href="https://github.com/APKLab/APKLab/actions/workflows/apklab.yml">
<img alt="CI" src="https://github.com/APKLab/APKLab/actions/workflows/apklab.yml/badge.svg?branch=master&event=push">
</a>
<a href="https://t.me/apklab_re">
<img alt="Telegram" src="https://img.shields.io/badge/telegram-eff?logo=telegram">
</a>
<a href="https://matrix.to/#/#apklab:matrix.org">
<img alt="Matrix" src="https://img.shields.io/badge/matrix-f5faef?logo=matrix&logoColor=black">
</a>
<a href="https://forum.xda-developers.com/t/4109409/">
<img alt="XDA Developers" src="https://img.shields.io/badge/XDA%20Forums-ffb?logo=xda-developers">
</a>
git repo in project dir to track changesapktool.yml)Run
java -versionin your Shell, if not found, download from here.
Run
quarkin your Shell, if not found, check official docs.
Run
adb devicesin your Shell, if not found, check this guide.

apktool.yml file ➜ APKLab: Prepare for HTTPS inspection
apktool.yml file ➜ APKLab: Rebuild the APK
.apk file (in dist directory) ➜ APKLab: Install the APK
.method in a .smali file ➜ APKLab: Generate Frida Hookfrida_hooks.ts in the project rootapktool.yml file ➜ APKLab: Inject Frida Gadget.so file, target architecture, and the main activity is patched automaticallyDependency 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"
apklab.smaliLspPath: Full Path of smali-lsp.jar. If you want to use a different version of it, change it like:"apklab.smaliLspPath": "/home/oozer/downloads/smali-lsp.jar"
apklab.javaPath: Path to the Java executable (default: java). Change it if Java is not on your PATH:"apklab.javaPath": "/usr/lib/jvm/java-17/bin/java"
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.smaliLsp.trace.server: Traces the communication between VS Code and the Smali Language Server (off, messages, verbose).Please check our Bug tracker for known issues.
For bug reports, feature requests or simply discussing an idea, please open an issue here. PRs are always welcome.
$ claude mcp add APKLab \
-- python -m otcore.mcp_server <graph>