AVD - Android Sanal Cihaz
Reading time: 8 minutes
tip
AWS Hacking'i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking'i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)
Azure Hacking'i öğrenin ve pratik yapın:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks'i Destekleyin
- abonelik planlarını kontrol edin!
- 💬 Discord grubuna veya telegram grubuna katılın ya da Twitter'da bizi takip edin 🐦 @hacktricks_live.**
- Hacking ipuçlarını paylaşmak için HackTricks ve HackTricks Cloud github reposuna PR gönderin.
Bu içeriği oluştururken yardım eden @offsecjay'e çok teşekkür ederim.
Nedir
Android Studio, APK'ları test etmek için kullanabileceğiniz Android sanal makinelerini çalıştırmanıza olanak tanır. Bunları kullanmak için şunlara ihtiyacınız olacak:
- Android SDK araçları - Buradan indirin.
- Veya Android Studio (Android SDK araçları ile) - Buradan indirin.
Windows'ta (benim durumumda) Android Studio'yu kurduktan sonra SDK Araçları şurada yüklüydü: C:\Users\<UserName>\AppData\Local\Android\Sdk\tools
Mac'te SDK araçlarını indirebilir ve PATH'te bulundurabilirsiniz:
brew tap homebrew/cask
brew install --cask android-sdk
Ya da Android Studio GUI üzerinden, https://stackoverflow.com/questions/46402772/failed-to-install-android-sdk-java-lang-noclassdeffounderror-javax-xml-bind-a adresinde belirtildiği gibi, bunları ~/Library/Android/sdk/cmdline-tools/latest/bin/
ve ~/Library/Android/sdk/platform-tools/
ve ~/Library/Android/sdk/emulator/
dizinlerine kuracaktır.
Java sorunları için:
export JAVA_HOME=/Applications/Android\ Studio.app/Contents/jbr/Contents/Home
GUI
Sanal Makineyi Hazırlayın
Eğer Android Studio'yu kurduysanız, ana proje görünümünü açabilir ve şuraya erişebilirsiniz: Tools --> AVD Manager.
.png)
Sonra, Create Virtual Device üzerine tıklayın.
.png)
kullanmak istediğiniz telefonu seçin ve Next. üzerine tıklayın.
warning
Eğer Play Store yüklü bir telefona ihtiyacınız varsa, üzerinde Play Store simgesi olan birini seçin!
.png)
Mevcut görünümde, telefonun çalıştıracağı Android imajını seçip indirebileceksiniz:
.png)
Bunu seçin ve eğer indirilmemişse, isminin yanındaki Download simgesine tıklayın (şimdi imajın indirilmesini bekleyin).
İmaj indirildikten sonra, sadece Next
ve Finish
seçin.
Sanal makine oluşturulacak. Artık AVD yöneticisine her eriştiğinizde mevcut olacak.
Sanal Makineyi Çalıştırın
Çalıştırmak için sadece Start button üzerine basın.
Komut Satırı Aracı
warning
macOS için avdmanager
aracını /Users/<username>/Library/Android/sdk/tools/bin/avdmanager
ve emulator
'ı /Users/<username>/Library/Android/sdk/emulator/emulator
içinde bulabilirsiniz, eğer bunları kurduysanız.
Öncelikle hangi telefonu kullanmak istediğinize karar vermeniz gerekiyor, mümkün olan telefonların listesini görmek için:
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
[...]
Cihazınızı kullanmak için adını belirledikten sonra, bu cihazda hangi Android görüntüsünü çalıştırmak istediğinize karar vermeniz gerekir.
Tüm seçenekleri sdkmanager
kullanarak listeleyebilirsiniz:
C:\Users\<UserName>\AppData\Local\Android\Sdk\tools\bin\sdkmanager.bat --list
Ve indirmek istediğin birini (veya hepsini) şunlarla:
C:\Users\<UserName>\AppData\Local\Android\Sdk\tools\bin\sdkmanager.bat "platforms;android-28" "system-images;android-28;google_apis;x86_64"
İstediğiniz Android görüntüsünü indirdikten sonra, indirilen tüm Android görüntülerini listeleyebilirsiniz:
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
Bu anda kullanmak istediğiniz cihazı seçtiniz ve Android imajını indirdiniz, bu yüzden sanallaştırma makinesini oluşturabilirsiniz:
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"
Son komutta AVD9 adında bir VM oluşturdum, cihaz "Nexus 5X" ve Android imajı "system-images;android-28;google_apis;x86_64" kullanarak.
Artık oluşturduğunuz sanallaştırılmış makineleri listeleyebilirsiniz:
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
Sanal Makineyi Çalıştır
warning
macOS için avdmanager
aracını /Users/<username>/Library/Android/sdk/tools/bin/avdmanager
ve emulator
'ü /Users/<username>/Library/Android/sdk/emulator/emulator
içinde bulabilirsiniz, eğer bunları yüklediyseniz.
Oluşturulan sanal makineleri nasıl listeleyeceğinizi zaten gördük, ancak bunları ayrıca şu şekilde de listeleyebilirsiniz:
C:\Users\<UserName>\AppData\Local\Android\Sdk\tools\emulator.exe -list-avds
AVD9
Pixel_2_API_27
Herhangi bir sanallaştırma makinesini çalıştırabilirsiniz:
C:\Users\<UserName>\AppData\Local\Android\Sdk\tools\emulator.exe -avd "VirtualMachineName"
C:\Users\<UserName>\AppData\Local\Android\Sdk\tools\emulator.exe -avd "AVD9"
Daha gelişmiş seçenekler kullanarak bir sanal makine çalıştırabilirsiniz, örneğin:
C:\Users\<UserName>\AppData\Local\Android\Sdk\tools\emulator.exe -avd "AVD9" -http-proxy 192.168.1.12:8080 -writable-system
Komut satırı seçenekleri
Ancak, sanal makineyi başlatmak için kullanabileceğiniz birçok farklı komut satırı yararlı seçeneği vardır. Aşağıda bazı ilginç seçenekleri bulabilirsiniz, ancak tam listeyi burada bulabilirsiniz
Başlat
-snapshot name
: VM anlık görüntüsünü başlat-snapshot-list -snapstorage ~/.android/avd/Nexus_5X_API_23.avd/snapshots-test.img
: Kaydedilen tüm anlık görüntüleri listele
Ağ
-dns-server 192.0.2.0, 192.0.2.255
: VM'ye virgülle ayrılmış DNS sunucularını belirtmeye izin verir.-http-proxy 192.168.1.12:8080
: Kullanılacak bir HTTP proxy belirtmeye izin verir (Burp kullanarak trafiği yakalamak için çok yararlıdır)- Proxy ayarları bir sebepten dolayı çalışmıyorsa, bunları dahili olarak veya "Super Proxy" veya "ProxyDroid" gibi bir uygulama kullanarak yapılandırmayı deneyin.
-netdelay 200
: Ağ gecikmesi emülasyonunu milisaniye cinsinden ayarlayın.-port 5556
: Konsol ve adb için kullanılan TCP port numarasını ayarlayın.-ports 5556,5559
: Konsol ve adb için kullanılan TCP portlarını ayarlayın.-tcpdump /path/dumpfile.cap
: Tüm trafiği bir dosyada yakalayın
Sistem
-selinux {disabled|permissive}
: Linux işletim sisteminde Güvenlik Geliştirilmiş Linux güvenlik modülünü devre dışı veya izin verici modda ayarlayın.-timezone Europe/Paris
: Sanal cihaz için zaman dilimini ayarlayın-screen {touch(default)|multi-touch|o-touch}
: Emüle edilmiş dokunmatik ekran modunu ayarlayın.-writable-system
: Emülasyon oturumunuz sırasında yazılabilir bir sistem görüntüsü elde etmek için bu seçeneği kullanın. Ayrıcaadb root; adb remount
komutunu çalıştırmanız gerekecek. Bu, sistemde yeni bir sertifika yüklemek için çok yararlıdır.
Play Store cihazını rootlama
Eğer Play Store ile bir cihaz indirdiyseniz, doğrudan root almanız mümkün olmayacak ve bu hata mesajını alacaksınız.
$ adb root
adbd cannot run as root in production builds
Using rootAVD with Magisk ile bunu kökledim (örneğin bu video veya şu video takip edebilirsiniz).
Burp Sertifikasını Yükle
Özel bir CA sertifikasını nasıl yükleyeceğinizi öğrenmek için aşağıdaki sayfayı kontrol edin:
Güzel AVD Seçenekleri
Anlık Görüntü Al
VM'nin anlık görüntüsünü istediğiniz zaman GUI'yi kullanarak alabilirsiniz:
tip
AWS Hacking'i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking'i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)
Azure Hacking'i öğrenin ve pratik yapın:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks'i Destekleyin
- abonelik planlarını kontrol edin!
- 💬 Discord grubuna veya telegram grubuna katılın ya da Twitter'da bizi takip edin 🐦 @hacktricks_live.**
- Hacking ipuçlarını paylaşmak için HackTricks ve HackTricks Cloud github reposuna PR gönderin.