# AVD - एंड्रॉइड वर्चुअल डिवाइस
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥 * क्या आप किसी **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी को HackTricks में विज्ञापित** देखना चाहते हैं? या क्या आपको **PEASS के नवीनतम संस्करण या HackTricks को PDF में डाउनलोड करने का उपयोग** करने की आवश्यकता है? [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop) की जांच करें! * खोजें [**The PEASS Family**](https://opensea.io/collection/the-peass-family), हमारा विशेष संग्रह [**NFTs**](https://opensea.io/collection/the-peass-family) * प्राप्त करें [**official PEASS & HackTricks swag**](https://peass.creator-spring.com) * **Join the** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord group**](https://discord.gg/hRep4RUj7f) या [**telegram group**](https://t.me/peass) में शामिल हों या मुझे **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)** का** अनुसरण करें।** * **अपने हैकिंग ट्रिक्स को** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **और** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **में PR जमा करके साझा करें।**
इस सामग्री को बनाने में मेरी मदद के लिए [**@offsecjay**](https://twitter.com/offsecjay) को बहुत धन्यवाद। ## यह क्या है एंड्रॉइड स्टूडियो एंड्रॉइड के **वर्चुअल मशीन चलाने की अनुमति देता है जिन्हें आप APK को टेस्ट करने के लिए उपयोग कर सकते हैं**। इनका उपयोग करने के लिए आपको निम्नलिखित की आवश्यकता होगी: * **एंड्रॉइड SDK टूल्स** - [यहां डाउनलोड करें](https://developer.android.com/studio/releases/sdk-tools)। * या **एंड्रॉइड स्टूडियो** (एंड्रॉइड SDK टूल्स के साथ) - [यहां डाउनलोड करें](https://developer.android.com/studio)। Windows में (मेरे मामले में) **एंड्रॉइड स्टूडियो स्थापित करने के बाद** मेरे पास **SDK टूल्स स्थापित हो गए थे**: `C:\Users\\AppData\Local\Android\Sdk\tools` mac में आप **SDK टूल्स डाउनलोड कर सकते हैं** और उन्हें PATH में रख सकते हैं चलाने के लिए: ```bash brew tap homebrew/cask brew install --cask android-sdk ``` या **Android Studio GUI** से जैसा कि [https://stackoverflow.com/questions/46402772/failed-to-install-android-sdk-java-lang-noclassdeffounderror-javax-xml-bind-a](https://stackoverflow.com/questions/46402772/failed-to-install-android-sdk-java-lang-noclassdeffounderror-javax-xml-bind-a) में दिखाया गया है, जो इन्हें `~/Library/Android/sdk/cmdline-tools/latest/bin/` और `~/Library/Android/sdk/platform-tools/` और `~/Library/Android/sdk/emulator/` में स्थापित करेगा। जावा समस्याओं के लिए: ```java export JAVA_HOME=/Applications/Android\ Studio.app/Contents/jbr/Contents/Home ``` ## GUI ### वर्चुअल मशीन तैयार करें यदि आपने Android स्टूडियो स्थापित किया है, तो आप सीधे मुख्य परियोजना दृश्य को खोल सकते हैं और इसे एक्सेस कर सकते हैं: _**उपकरण**_ --> _**AVD प्रबंधक।**_
फिर, _**वर्चुअल डिवाइस बनाएं**_ पर क्लिक करें
_**उस फोन को चुनें** जिसका आप उपयोग करना चाहते हैं और _**अगला**_ पर क्लिक करें। {% hint style="warning" %} यदि आपको Play Store स्थापित होने वाला फोन चाहिए तो उसे चुनें जिसमें Play Store आइकन है! ![](<../../.gitbook/assets/image (672).png>) {% endhint %} वर्तमान दृश्य में आपको फोन द्वारा चलाए जाने वाले Android इमेज को **चुनें और डाउनलोड करें**:
इसलिए, इसे चुनें और यदि यह डाउनलोड नहीं हुआ है तो नाम के पास दिए गए _**डाउनलोड**_ प्रतीक पर क्लिक करें (**अब तक इमेज डाउनलोड होने तक प्रतीक्षा करें).**\ इमेज डाउनलोड हो जाने के बाद, बस **`अगला`** और **`समाप्त`** का चयन करें। वर्चुअल मशीन बनाई जाएगी। अब **हर बार जब आप AVD प्रबंधक एक्सेस करेंगे तो यह मौजूद होगी**। ### वर्चुअल मशीन चलाएं इसे **चलाने** के लिए, बस _**प्रारंभ बटन**_ दबाएं। ![](<../../.gitbook/assets/image (334).png>) ## कमांड लाइन टूल सबसे पहले आपको **तय करना होगा कि आप कौन सा फोन उपयोग करना चाहते हैं**, संभावित फोनों की सूची देखने के लिए निम्नलिखित कमांड का निष्पादन करें: ``` C:\Users\\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 [...] ``` जब आप उस उपकरण के नाम का निर्धारण कर लेते हैं जिसे आप उपयोग करना चाहते हैं, तो आपको **निर्धारित करना होगा कि आप इस उपकरण में कौन सा Android इमेज चलाना चाहते हैं।**\ आप `sdkmanager` का उपयोग करके सभी विकल्पों की सूची देख सकते हैं: ```bash C:\Users\\AppData\Local\Android\Sdk\tools\bin\sdkmanager.bat --list ``` और उसे (या सभी को) डाउनलोड करें जिसे आप उपयोग करना चाहते हैं: {% code overflow="wrap" %} ```bash C:\Users\\AppData\Local\Android\Sdk\tools\bin\sdkmanager.bat "platforms;android-28" "system-images;android-28;google_apis;x86_64" ``` {% endcode %} जब आप डाउनलोड की गई Android इमेज का उपयोग करना चाहते हैं, तो आप निम्नलिखित कमांड का उपयोग करके **सभी डाउनलोड की गई Android इमेजों की सूची बना सकते हैं**: ``` C:\Users\\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 ``` इस समय आपने यह तय कर लिया है कि आप कौन सा उपकरण उपयोग करना चाहते हैं और आपने Android इमेज डाउनलोड कर लिया है, इसलिए **आप निम्नलिखित का उपयोग करके वर्चुअल मशीन बना सकते हैं**: {% code overflow="wrap" %} ```bash C:\Users\\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" ``` {% endcode %} अंतिम कमांड में मैंने "_AVD9_" नामक वीएम बनाई है जिसमें "_Nexus 5X_" डिवाइस और "_system-images;android-28;google\_apis;x86\_64_" एंड्रॉइड इमेज का उपयोग किया गया है। अब आप निम्नलिखित कमांड का उपयोग करके आपके द्वारा बनाए गए वर्चुअल मशीनों की सूची देख सकते हैं: ```bash C:\Users\\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 ``` ### वर्चुअल मशीन चलाएं हमने पहले ही देखा है कि आप कैसे बनाई गई वर्चुअल मशीनों की सूची बना सकते हैं, लेकिन **आप इसका उपयोग करके उन्हें सूचीबद्ध कर सकते हैं**: ```bash C:\Users\\AppData\Local\Android\Sdk\tools\emulator.exe -list-avds AVD9 Pixel_2_API_27 ``` आप किसी भी वर्चुअल मशीन को आसानी से चला सकते हैं जो निम्नलिखित तरीके से बनाई गई हो: {% code overflow="wrap" %} ```bash C:\Users\\AppData\Local\Android\Sdk\tools\emulator.exe -avd "VirtualMachineName" C:\Users\\AppData\Local\Android\Sdk\tools\emulator.exe -avd "AVD9" ``` {% endcode %} या अधिक उन्नत विकल्प का उपयोग करके आप एक वर्चुअल मशीन चला सकते हैं जैसे: {% code overflow="wrap" %} ```bash C:\Users\\AppData\Local\Android\Sdk\tools\emulator.exe -avd "AVD9" -http-proxy 192.168.1.12:8080 -writable-system ``` {% endcode %} ### कमांड लाइन विकल्प हालांकि, आप एक वर्चुअल मशीन आरंभ करने के लिए उपयोगी कई विभिन्न कमांड लाइन विकल्प प्रयोग कर सकते हैं। नीचे आपको कुछ दिलचस्प विकल्प मिलेंगे, लेकिन आप [यहां पूरी सूची पा सकते हैं](https://developer.android.com/studio/run/emulator-commandline) **बूट** * `-snapshot name` : वीएम स्नैपशॉट शुरू करें * `-snapshot-list -snapstorage ~/.android/avd/Nexus_5X_API_23.avd/snapshots-test.img` : सभी स्नैपशॉट दर्ज करें **नेटवर्क** * `-dns-server 192.0.2.0, 192.0.2.255` : वीएम को DNS सर्वर को अल्पविराम से दर्ज करने की अनुमति दें। * **`-http-proxy 192.168.1.12:8080`** : उपयोग करने के लिए एक HTTP प्रॉक्सी दर्ज करने की अनुमति दें (Burp का उपयोग करके ट्रैफिक को कैप्चर करने के लिए बहुत उपयोगी) * `-port 5556` : कंसोल और adb के लिए उपयोग किए जाने वाले TCP पोर्ट नंबर सेट करें। * `-ports 5556,5559` : कंसोल और adb के लिए उपयोग किए जाने वाले TCP पोर्ट सेट करें। * **`-tcpdump /path/dumpfile.cap`** : एक फ़ाइल में सभी ट्रैफ़िक को कैप्चर करें **सिस्टम** * `-selinux {disabled|permissive}` : लिनक्स ऑपरेटिंग सिस्टम पर सुरक्षा-वृद्धि लिनक्स सुरक्षा मॉड्यूल को अक्षम या सुव्यवस्थित मोड पर सेट करें। * `-timezone Europe/Paris` : वर्चुअल उपकरण के लिए समय क्षेत्र सेट करें * `-screen {touch(default)|multi-touch|o-touch}` : नकली स्पर्श स्क्रीन मोड सेट करें। * **`-writable-system`** : इस विकल्प का उपयोग आपके अनुकरण सत्र के दौरान एक लिखने योग्य सिस्टम इमेज होने के लिए करें। आपको भी `adb root; adb remount` चलाने की आवश्यकता होगी। इसका उपयोग सिस्टम में एक नया प्रमाणपत्र स्थापित करने के लिए बहुत उपयोगी है। ## एक प्ले स्टोर उपकरण को रूट करना यदि आपने प्ले स्टोर के साथ एक उपकरण डाउनलोड किया है तो आप सीधे रूट प्राप्त करने में सक्षम नहीं होंगे, और आपको यह त्रुटि संदेश मिलेगा ``` $ adb root adbd cannot run as root in production builds ``` [**rootAVD**](https://github.com/newbit1/rootAVD) का उपयोग करके [**Magisk**](https://github.com/topjohnwu/Magisk) के साथ मैंने इसे रूट करने में सफलता प्राप्त की है (उदाहरण के लिए [**इस वीडियो**](https://www.youtube.com/watch?v=Wk0ixxmkzAI) **या** [**इस वीडियो**](https://www.youtube.com/watch?v=qQicUW0svB8) का पालन करें)। ## Burp प्रमाणपत्र स्थापित करें कस्टम CA प्रमाणपत्र स्थापित करने के लिए निम्नलिखित पृष्ठ की जांच करें: {% content-ref url="install-burp-certificate.md" %} [install-burp-certificate.md](install-burp-certificate.md) {% endcontent-ref %} ## अच्छे AVD विकल्प ### स्नैपशॉट लें आप किसी भी समय VM का स्नैपशॉट लेने के लिए **GUI का उपयोग** कर सकते हैं: ![](<../../.gitbook/assets/image (336).png>)
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥 * क्या आप किसी **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी कंपनी को **HackTricks में विज्ञापित** देखना चाहते हैं? या क्या आपको **PEASS के नवीनतम संस्करण या HackTricks को PDF में डाउनलोड करने का उपयोग** करने की अनुमति चाहिए? [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop) की जांच करें! * खोजें [**The PEASS Family**](https://opensea.io/collection/the-peass-family), हमारा विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह * प्राप्त करें [**आधिकारिक PEASS & HackTricks swag**](https://peass.creator-spring.com) * **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या मुझे **Twitter** पर **फ़ॉलो** करें [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.** * **अपने हैकिंग ट्रिक्स साझा करें द्वारा PRs सबमिट करके** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **और** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud)।