Android Application-Level Virtualization (App Cloning)
Tip
Вивчайте та практикуйте AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Вивчайте та практикуйте Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Підтримайте HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на github.
Application-level virtualization (aka app cloning/container frameworks such as DroidPlugin-class loaders) запускає кілька APK всередині одного хост-додатка, який контролює життєвий цикл, завантаження класів, зберігання та дозволи. Гості часто виконуються під хост-UID, що руйнує нормальну пер-апп ізоляцію Android і ускладнює виявлення, бо система бачить один процес/UID.
Baseline install/launch vs virtualized execution
- Normal install: Package Manager extracts APK →
/data/app/<rand>/com.pkg-<rand>/base.apk, assigns a unique UID, and Zygote forks a process that loadsclasses.dex. - Dex load primitive:
DexFile.openDexFile()delegates toopenDexFileNative()using absolute paths; virtualization layers commonly hook/redirect this to load guest dex from host-controlled paths. - Virtualized launch: Host starts a process under its UID, loads the guest’s
base.apk/dex with a custom loader, and exposes lifecycle callbacks via Java proxies. Виклики API для зберігання гостей перенаправляються на шляхи, контрольовані хостом.
Abuse patterns
- Permission escalation via shared UID: Гості виконуються під хост-UID і можуть успадковувати усі дозволи, надані хосту, навіть якщо вони не оголошені в манифесті гостя. Хости з надмірними дозволами (великі
AndroidManifest.xml) стають «парасольками дозволів». - Stealthy code loading: Host hooks
openDexFileNative/class loaders to inject, replace, or instrument guest dex at runtime, bypassing static analysis. - Malicious host vs malicious guest:
- Evil host: acts as dropper/executor, instruments/filters guest behavior, tampers with crashes.
- Evil guest: abuses shared UID to reach other guests’ data, ptrace them, or leverage host permissions.
Fingerprinting & detection
- Multiple base.apk in one process: Контейнер часто відображає кілька APK у тому самому PID.
adb shell "cat /proc/<pid>/maps | grep base.apk"
# Suspicious: host base.apk + unrelated packages mapped together
- Hooking/instrumentation artifacts: Пошукайте відомі бібліотеки (наприклад, Frida) у maps і перевірте їх на диску.
adb shell "cat /proc/<pid>/maps | grep frida"
adb shell "file /data/app/..../lib/arm64/libfrida-gadget.so"
- Crash-tamper probe: Навмисно спричиніть виняток (наприклад, NPE) і спостерігайте, чи процес завершується нормально; хости, які перехоплюють шляхи життєвого циклу/краху, можуть поглинати або переписувати крахи.
Hardening notes
- Server-side attestation: Enforce sensitive operations behind Play Integrity tokens so only genuine installs (not dynamically loaded guests) are accepted server-side.
- Use stronger isolation: For highly sensitive code, prefer Android Virtualization Framework (AVF)/TEE-backed execution instead of app-level containers that share a UID.
References
Tip
Вивчайте та практикуйте AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Вивчайте та практикуйте Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Підтримайте HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на github.


