AVD - Android Virtuele Toestel
Tip
Leer en oefen AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Leer en oefen GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Leer en oefen Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Ondersteun HackTricks
- Kyk na die subskripsie planne!
- Sluit aan by die đŹ Discord groep of die telegram groep of volg ons op Twitter đŠ @hacktricks_live.
- Deel hacking truuks deur PRs in te dien na die HackTricks en HackTricks Cloud github repos.
Baie dankie aan @offsecjay vir sy hulp tydens die skep van hierdie inhoud.
Wat is
Android Studio maak dit moontlik om Android virtuele masjiene te draai wat jy kan gebruik om APKs te toets. Om dit te gebruik benodig jy:
- Die Android SDK tools - Download here.
- Of Android Studio (met Android SDK tools) - Download here.
Op Windows (in my geval) na die installasie van Android Studio het ek die SDK Tools geĂŻnstalleer in: C:\Users\<UserName>\AppData\Local\Android\Sdk\tools
Op mac kan jy die SDK tools aflaai en hulle in die PATH hĂȘ deur die volgende uit te voer:
brew tap homebrew/cask
brew install --cask android-sdk
Of vanaf Android Studio GUI soos aangedui in https://stackoverflow.com/questions/46402772/failed-to-install-android-sdk-java-lang-noclassdeffounderror-javax-xml-bind-a wat hulle in ~/Library/Android/sdk/cmdline-tools/latest/bin/ en ~/Library/Android/sdk/platform-tools/ en ~/Library/Android/sdk/emulator/ sal installeer
Vir die Java-probleme:
export JAVA_HOME=/Applications/Android\ Studio.app/Contents/jbr/Contents/Home
GUI
Prepare Virtual Machine
As jy Android Studio geĂŻnstalleer het, kan jy net die hoofprojek-oorsig oopmaak en toegang kry tot: Tools â> AVD Manager.
.png)
Then, click on Create Virtual Device
.png)
kies die telefoon wat jy wil gebruik en klik op Next.
Warning
As jy ân telefoon met Play Store geĂŻnstalleer benodig, kies een met die Play Store-ikoon daarop!
![]()
In die huidige aansig kan jy kies en aflaai die Android image wat die telefoon gaan gebruik:
.png)
So, select it and if it isnât downloaded click on the Download symbol next to the name (now wait until the image is downloaded).
Once the image is downloaded, just select Next and Finish.
Die virtuele masjien sal geskep word. Nou sal dit elke keer as jy die AVD Manager oopmaak, beskikbaar wees.
Run Virtual Machine
Om dit te begin, druk net die Start button.
.png)
Command Line tool
Warning
Vir macOS kan jy die
avdmanagertool vind in/Users/<username>/Library/Android/sdk/tools/bin/avdmanageren dieemulatorin/Users/<username>/Library/Android/sdk/emulator/emulatoras jy dit geĂŻnstalleer het.
Eerstens moet jy besluit watter telefoon jy wil gebruik, om die lys van moontlike telefone te sien voer uit:
C:\Users\<UserName>\AppData\Local\Android\Sdk\tools\bin\avdmanager.bat list device
d: 0 or "automotive_1024p_landscape"
Name: Automotive (1024p landscape)
OEM : Google
Tag : android-automotive-playstore
---------
id: 1 or "Galaxy Nexus"
Name: Galaxy Nexus
OEM : Google
---------
id: 2 or "desktop_large"
Name: Large Desktop
OEM : Google
Tag : android-desktop
---------
id: 3 or "desktop_medium"
Name: Medium Desktop
OEM : Google
Tag : android-desktop
---------
id: 4 or "Nexus 10"
Name: Nexus 10
OEM : Google
[...]
Sodra jy die naam van die toestel wat jy wil gebruik bepaal het, moet jy bepaal watter Android image jy op hierdie toestel wil laat loop.
Jy kan al die opsies lys met sdkmanager:
C:\Users\<UserName>\AppData\Local\Android\Sdk\tools\bin\sdkmanager.bat --list
En laai af die een (of almal) wat jy wil gebruik met:
C:\Users\<UserName>\AppData\Local\Android\Sdk\tools\bin\sdkmanager.bat "platforms;android-28" "system-images;android-28;google_apis;x86_64"
Sodra jy die Android-beeld wat jy wil gebruik afgelaai het, kan jy al die afgelaaide Android-beelde lys met:
C:\Users\<UserName>\AppData\Local\Android\Sdk\tools\bin\avdmanager.bat list target
----------
id: 1 or "android-28"
Name: Android API 28
Type: Platform
API level: 28
Revision: 6
----------
id: 2 or "android-29"
Name: Android API 29
Type: Platform
API level: 29
Revision: 4
Op hierdie stadium het jy besluit watter toestel jy wil gebruik en jy het die Android image afgelaai, dus kan jy die virtuele masjien skep met behulp van:
C:\Users\<UserName>\AppData\Local\Android\Sdk\tools\bin\avdmanager.bat -v create avd -k "system-images;android-28;google_apis;x86_64" -n "AVD9" -d "Nexus 5X"
In die laaste opdrag het ek ân VM geskep genaamd âAVD9â deur die toestel âNexus 5Xâ en die Android-image âsystem-images;android-28;google_apis;x86_64â te gebruik.
Nou kan jy lys die virtuele masjiene wat jy geskep het met:
C:\Users\<UserName>\AppData\Local\Android\Sdk\tools\bin\avdmanager.bat list avd
Name: AVD9
Device: Nexus 5X (Google)
Path: C:\Users\cpolo\.android\avd\AVD9.avd
Target: Google APIs (Google Inc.)
Based on: Android API 28 Tag/ABI: google_apis/x86_64
The following Android Virtual Devices could not be loaded:
Name: Pixel_2_API_27
Path: C:\Users\cpolo\.android\avd\Pixel_2_API_27_1.avd
Error: Google pixel_2 no longer exists as a device
Voer Virtuele Masjien uit
Warning
Vir macOS kan jy die
avdmanagertool in/Users/<username>/Library/Android/sdk/tools/bin/avdmanageren dieemulatorin/Users/<username>/Library/Android/sdk/emulator/emulatorvind as jy hulle geĂŻnstalleer het.
Ons het reeds gesien hoe jy die gemaakte virtuele masjiene kan lys, maar jy kan hulle ook lys met behulp van:
C:\Users\<UserName>\AppData\Local\Android\Sdk\tools\emulator.exe -list-avds
AVD9
Pixel_2_API_27
Jy kan eenvoudig enige geskepte virtuele masjien uitvoer met:
C:\Users\<UserName>\AppData\Local\Android\Sdk\tools\emulator.exe -avd "VirtualMachineName"
C:\Users\<UserName>\AppData\Local\Android\Sdk\tools\emulator.exe -avd "AVD9"
Of deur meer gevorderde opsies te gebruik, kan jy ân virtuele masjien soos die volgende laat loop:
C:\Users\<UserName>\AppData\Local\Android\Sdk\tools\emulator.exe -avd "AVD9" -http-proxy 192.168.1.12:8080 -writable-system
Command line options
Daar is egter a lot of different command line useful options wat jy kan gebruik om ân virtuele masjien te begin. Hieronder kan jy ân paar interessante opsies vind maar kan find a complete list here
Opstart
-snapshot name: Start VM snapshot-snapshot-list -snapstorage ~/.android/avd/Nexus_5X_API_23.avd/snapshots-test.img: Lys alle geregistreerde snapshots
Netwerk
-dns-server 192.0.2.0, 192.0.2.255: Laat toe om die DNS-bedieners as ân komma-geskeide lys aan die VM aan te dui.-http-proxy 192.168.1.12:8080: Laat toe om ân HTTP-proxy aan te dui om te gebruik (baie nuttig om verkeer met Burp vas te vang)- If the proxy settings arenât working for some reason, try to configure them internally or using an pplication like âSuper Proxyâ or âProxyDroidâ.
-netdelay 200: Stel die netwerklatensie-emulasie in millisekondes.-port 5556: Stel die TCP-poortnommer wat vir die konsole en adb gebruik word.-ports 5556,5559: Stel die TCP-poorte wat vir die konsole en adb gebruik word.-tcpdump /path/dumpfile.cap: Neem al die verkeer in ân lĂȘer op
Stelsel
-selinux {disabled|permissive}: Stel die Security-Enhanced Linux sekuriteitsmodule op ân Linux-bedryfstelsel.-timezone Europe/Paris: Stel die tydsone vir die virtuele toestel-screen {touch(default)|multi-touch|o-touch}: Stel die geĂ«muleerde raakskermmodus in.-writable-system: Gebruik hierdie opsie om ân skryfbare stelselbeeld tydens jou emulasiesessie te hĂȘ. Jy sal ook moetadb root; adb remount. Dit is baie nuttig om ân nuwe sertifikaat in die stelsel te installeer.
Linux CLI setup (SDK/AVD quickstart)
Die amptelike CLI-instrumente maak dit maklik om vinnige, ontfoutbare emulators te skep sonder Android Studio.
# Directory layout
mkdir -p ~/Android/cmdline-tools/latest
# Download commandline tools (Linux)
wget https://dl.google.com/android/repository/commandlinetools-linux-13114758_latest.zip -O /tmp/cmdline-tools.zip
unzip /tmp/cmdline-tools.zip -d ~/Android/cmdline-tools/latest
rm /tmp/cmdline-tools.zip
# Env vars (add to ~/.bashrc or ~/.zshrc)
export ANDROID_HOME=$HOME/Android
export PATH=$ANDROID_HOME/cmdline-tools/latest/bin:$ANDROID_HOME/platform-tools:$ANDROID_HOME/emulator:$PATH
# Install core SDK components
sdkmanager --install "platform-tools" "emulator"
# Install a debuggable x86_64 system image (Android 11 / API 30)
sdkmanager --install "system-images;android-30;google_apis;x86_64"
# Create an AVD and run it with a writable /system & snapshot name
avdmanager create avd -n PixelRootX86 -k "system-images;android-30;google_apis;x86_64" -d "pixel"
emulator -avd PixelRootX86 -writable-system -snapshot PixelRootX86_snap
# Verify root (debuggable images allow `adb root`)
adb root
adb shell whoami # expect: root
Aantekeninge
- Stelselbeeld-variante: google_apis (debuggable, laat
adb roottoe), google_apis_playstore (nie-rootbaar nie), aosp/default (liggewig). - Bouwtipes: userdebug laat dikwels
adb roottoe op debug-ondersteunende images. Play Store images is produksie-boues en blokkeer root. - Op x86_64-gashere is volstelsels ARM64-emulasie nie ondersteun vanaf API 28+ nie. Vir Android 11+ gebruik Google APIs/Play images wat per-app ARM-na-x86-vertaling insluit om baie ARM-only apps vinnig te laat loop.
Snapshots vanaf die CLI
# Save a clean snapshot from the running emulator
adb -s emulator-5554 emu avd snapshot save my_clean_setup
# Boot from a named snapshot (if it exists)
emulator -avd PixelRootX86 -writable-system -snapshot my_clean_setup
ARMâx86 binary translation (Android 11+)
Google APIs en Play Store-images op Android 11+ kan ARM-app-binaire per proses vertaal terwyl die res van die stelsel native x86/x86_64 bly. Dit is dikwels vinnig genoeg om baie slegs-ARM-apps op ân lessenaar te toets.
Tip: Verkies Google APIs x86/x86_64-images tydens pentests. Play-images is gerieflik maar blokkeer
adb root; gebruik hulle slegs wanneer jy spesifiek Play services benodig en die gebrek aan root aanvaar.
Rooting a Play Store device
If you downloaded a device with Play Store you are not going to be able to get root directly, and you will get this error message
$ adb root
adbd cannot run as root in production builds
Deur rootAVD met Magisk te gebruik, kon ek dit root (volg byvoorbeeld this video of this one).
Installeer Burp Sertifikaat
Kyk na die volgende bladsy om te leer hoe om ân pasgemaakte CA cert te installeer:
Nuttige AVD-opties
Neem ân Snapshot
Jy kan die GUI gebruik om te eniger tyd ân snapshot van die VM te neem:
.png)
References
- Build a Repeatable Android Bug Bounty Lab: Emulator vs Magisk, Burp, Frida, and Medusa
- Android Emulator command line
- Run ARM apps on the Android Emulator (x86 translation)
Tip
Leer en oefen AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Leer en oefen GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Leer en oefen Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Ondersteun HackTricks
- Kyk na die subskripsie planne!
- Sluit aan by die đŹ Discord groep of die telegram groep of volg ons op Twitter đŠ @hacktricks_live.
- Deel hacking truuks deur PRs in te dien na die HackTricks en HackTricks Cloud github repos.
HackTricks

