AVD - Android Virtual Device
Reading time: 7 minutes
tip
Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Angalia mpango wa usajili!
- Jiunge na 💬 kikundi cha Discord au kikundi cha telegram au tufuatilie kwenye Twitter 🐦 @hacktricks_live.
- Shiriki mbinu za udukuzi kwa kuwasilisha PRs kwa HackTricks na HackTricks Cloud repos za github.
Asante sana kwa @offsecjay kwa msaada wake wakati wa kuunda maudhui haya.
Nini ni
Android Studio inaruhusu kufanya kazi na mashine za virtual za Android ambazo unaweza kutumia kujaribu APKs. Ili kuzitumia utahitaji:
- Zana za Android SDK - Pakua hapa.
- Au Android Studio (pamoja na zana za Android SDK) - Pakua hapa.
Katika Windows (katika kesi yangu) baada ya kufunga Android Studio nilikuwa na Zana za SDK zilizofungwa katika: C:\Users\<UserName>\AppData\Local\Android\Sdk\tools
Katika mac unaweza kupakua zana za SDK na kuwa nazo katika PATH ukifanya:
brew tap homebrew/cask
brew install --cask android-sdk
Au kutoka Android Studio GUI kama ilivyoonyeshwa katika https://stackoverflow.com/questions/46402772/failed-to-install-android-sdk-java-lang-noclassdeffounderror-javax-xml-bind-a ambayo itawaweka katika ~/Library/Android/sdk/cmdline-tools/latest/bin/
na ~/Library/Android/sdk/platform-tools/
na ~/Library/Android/sdk/emulator/
Kwa matatizo ya Java:
export JAVA_HOME=/Applications/Android\ Studio.app/Contents/jbr/Contents/Home
GUI
Andaa Mashine Halisi
Ikiwa umeinstall Android Studio, unaweza tu kufungua mtazamo mkuu wa mradi na kufikia: Tools --> AVD Manager.
Kisha, bonyeza Create Virtual Device
chagua simu unayotaka kutumia na bonyeza Next.
warning
Ikiwa unahitaji simu yenye Play Store imeinstall chagua moja yenye ikoni ya Play Store!
Katika mtazamo wa sasa utaweza kuchagua na kupakua picha ya Android ambayo simu itakimbia:
Hivyo, chagua na ikiwa haijapakuliwa bonyeza alama ya Download iliyo karibu na jina (sasa subiri hadi picha ipakuliwe).
Mara picha ikishapakuliwa, chagua tu Next
na Finish
.
Mashine halisi itaundwa. Sasa kila wakati unapoingia AVD manager itakuwa ipo.
Endesha Mashine Halisi
Ili kuendesha ni lazima ubonyeze Start button.
Zana ya Mstari wa Amri
Kwanza kabisa unahitaji kuamua ni simu ipi unayotaka kutumia, ili kuona orodha ya simu zinazowezekana tekeleza:
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
[...]
Mara tu umepanga jina la kifaa unachotaka kutumia, unahitaji kuamua picha gani ya Android unayotaka kuendesha katika kifaa hiki.
Unaweza kuorodhesha chaguo zote kwa kutumia sdkmanager
:
C:\Users\<UserName>\AppData\Local\Android\Sdk\tools\bin\sdkmanager.bat --list
Na pakua ile (au zote) unayotaka kutumia na:
C:\Users\<UserName>\AppData\Local\Android\Sdk\tools\bin\sdkmanager.bat "platforms;android-28" "system-images;android-28;google_apis;x86_64"
Mara tu umepakua picha ya Android unayotaka kutumia unaweza kuorodhesha picha zote za Android zilizopakuliwa kwa:
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
Kwa wakati huu umeshafanya uamuzi kuhusu kifaa unachotaka kutumia na umepakua picha ya Android, hivyo unaweza kuunda mashine ya virtual kwa kutumia:
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"
Katika amri ya mwisho nilifanya VM inayoitwa "AVD9" kwa kutumia kifaa "Nexus 5X" na picha ya Android "system-images;android-28;google_apis;x86_64".
Sasa unaweza orodhesha mashine za virtual ulizozifanya kwa:
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
Run Virtual Machine
Tayari tumeona jinsi unavyoweza kuorodhesha mashine za virtual zilizoundwa, lakini unaweza pia kuorodhesha hizo kwa kutumia:
C:\Users\<UserName>\AppData\Local\Android\Sdk\tools\emulator.exe -list-avds
AVD9
Pixel_2_API_27
Unaweza kwa urahisi kufanya kazi na mashine yoyote ya virtual iliyoundwa kwa kutumia:
C:\Users\<UserName>\AppData\Local\Android\Sdk\tools\emulator.exe -avd "VirtualMachineName"
C:\Users\<UserName>\AppData\Local\Android\Sdk\tools\emulator.exe -avd "AVD9"
Au kutumia chaguzi za juu zaidi unaweza kuendesha mashine ya virtual kama:
C:\Users\<UserName>\AppData\Local\Android\Sdk\tools\emulator.exe -avd "AVD9" -http-proxy 192.168.1.12:8080 -writable-system
Command line options
Hata hivyo kuna chaguzi nyingi tofauti za mstari wa amri zinazofaa ambazo unaweza kutumia kuanzisha mashine ya virtual. Hapa chini unaweza kupata baadhi ya chaguzi za kuvutia lakini unaweza kupata orodha kamili hapa
Boot
-snapshot name
: Anza VM snapshot-snapshot-list -snapstorage ~/.android/avd/Nexus_5X_API_23.avd/snapshots-test.img
: Orodhesha snapshots zote zilizorekodiwa
Network
-dns-server 192.0.2.0, 192.0.2.255
: Ruhusu kuashiria seva za DNS kwa VM kwa kutumia alama ya koma.-http-proxy 192.168.1.12:8080
: Ruhusu kuashiria proxy ya HTTP kutumia (inasaidia sana kukamata trafiki kwa kutumia Burp)-port 5556
: Weka nambari ya bandari ya TCP inayotumika kwa console na adb.-ports 5556,5559
: Weka bandari za TCP zinazotumika kwa console na adb.-tcpdump /path/dumpfile.cap
: Kamata trafiki yote katika faili
System
-selinux {disabled|permissive}
: Weka moduli ya usalama ya Security-Enhanced Linux kuwa katika hali ya kuzuiwa au ya ruhusa kwenye mfumo wa uendeshaji wa Linux.-timezone Europe/Paris
: Weka eneo la muda kwa kifaa cha virtual-screen {touch(default)|multi-touch|o-touch}
: Weka hali ya skrini ya kugusa iliyosimuliwa.-writable-system
: Tumia chaguo hili kuwa na picha ya mfumo inayoweza kuandikwa wakati wa kikao chako cha emulation. Utahitaji pia kukimbiaadb root; adb remount
. Hii ni muhimu sana kufunga cheti kipya katika mfumo.
Rooting a Play Store device
Ikiwa umepakua kifaa chenye Play Store huwezi kupata root moja kwa moja, na utapata ujumbe huu wa kosa
$ adb root
adbd cannot run as root in production builds
Kwa kutumia rootAVD pamoja na Magisk niliweza ku-root hiyo (fuata kwa mfano hii video au hii moja).
Sakinisha Cheti cha Burp
Angalia ukurasa ufuatao kujifunza jinsi ya kusakinisha cheti cha CA cha kawaida:
Chaguzi Nzuri za AVD
Chukua Picha
Unaweza kutumia GUI kuchukua picha ya VM wakati wowote:
tip
Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Angalia mpango wa usajili!
- Jiunge na 💬 kikundi cha Discord au kikundi cha telegram au tufuatilie kwenye Twitter 🐦 @hacktricks_live.
- Shiriki mbinu za udukuzi kwa kuwasilisha PRs kwa HackTricks na HackTricks Cloud repos za github.