mirror of
https://github.com/carlospolop/hacktricks
synced 2025-01-09 11:48:51 +00:00
243 lines
19 KiB
Markdown
243 lines
19 KiB
Markdown
# AVD - एंड्रॉइड वर्चुअल डिवाइस
|
|
|
|
<details>
|
|
|
|
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
|
|
|
|
* क्या आप किसी **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी को 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 जमा करके साझा करें।**
|
|
|
|
</details>
|
|
|
|
इस सामग्री को बनाने में मेरी मदद के लिए [**@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\<UserName>\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 प्रबंधक।**_
|
|
|
|
<div align="center" data-full-width="false">
|
|
|
|
<figure><img src="../../.gitbook/assets/image (670).png" alt="" width="293"><figcaption></figcaption></figure>
|
|
|
|
</div>
|
|
|
|
फिर, _**वर्चुअल डिवाइस बनाएं**_ पर क्लिक करें
|
|
|
|
<figure><img src="../../.gitbook/assets/image (671).png" alt="" width="188"><figcaption></figcaption></figure>
|
|
|
|
_**उस फोन को चुनें** जिसका आप उपयोग करना चाहते हैं और _**अगला**_ पर क्लिक करें।
|
|
|
|
{% hint style="warning" %}
|
|
यदि आपको Play Store स्थापित होने वाला फोन चाहिए तो उसे चुनें जिसमें Play Store आइकन है!
|
|
|
|
![](<../../.gitbook/assets/image (672).png>)
|
|
{% endhint %}
|
|
|
|
वर्तमान दृश्य में आपको फोन द्वारा चलाए जाने वाले Android इमेज को **चुनें और डाउनलोड करें**:
|
|
|
|
<figure><img src="../../.gitbook/assets/image (673).png" alt="" width="375"><figcaption></figcaption></figure>
|
|
|
|
इसलिए, इसे चुनें और यदि यह डाउनलोड नहीं हुआ है तो नाम के पास दिए गए _**डाउनलोड**_ प्रतीक पर क्लिक करें (**अब तक इमेज डाउनलोड होने तक प्रतीक्षा करें).**\
|
|
इमेज डाउनलोड हो जाने के बाद, बस **`अगला`** और **`समाप्त`** का चयन करें।
|
|
|
|
वर्चुअल मशीन बनाई जाएगी। अब **हर बार जब आप AVD प्रबंधक एक्सेस करेंगे तो यह मौजूद होगी**।
|
|
|
|
### वर्चुअल मशीन चलाएं
|
|
|
|
इसे **चलाने** के लिए, बस _**प्रारंभ बटन**_ दबाएं।
|
|
|
|
![](<../../.gitbook/assets/image (334).png>)
|
|
|
|
## कमांड लाइन टूल
|
|
|
|
सबसे पहले आपको **तय करना होगा कि आप कौन सा फोन उपयोग करना चाहते हैं**, संभावित फोनों की सूची देखने के लिए निम्नलिखित कमांड का निष्पादन करें:
|
|
```
|
|
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
|
|
[...]
|
|
```
|
|
जब आप उस उपकरण के नाम का निर्धारण कर लेते हैं जिसे आप उपयोग करना चाहते हैं, तो आपको **निर्धारित करना होगा कि आप इस उपकरण में कौन सा Android इमेज चलाना चाहते हैं।**\
|
|
आप `sdkmanager` का उपयोग करके सभी विकल्पों की सूची देख सकते हैं:
|
|
```bash
|
|
C:\Users\<UserName>\AppData\Local\Android\Sdk\tools\bin\sdkmanager.bat --list
|
|
```
|
|
और उसे (या सभी को) डाउनलोड करें जिसे आप उपयोग करना चाहते हैं:
|
|
|
|
{% code overflow="wrap" %}
|
|
```bash
|
|
C:\Users\<UserName>\AppData\Local\Android\Sdk\tools\bin\sdkmanager.bat "platforms;android-28" "system-images;android-28;google_apis;x86_64"
|
|
```
|
|
{% endcode %}
|
|
|
|
जब आप डाउनलोड की गई Android इमेज का उपयोग करना चाहते हैं, तो आप निम्नलिखित कमांड का उपयोग करके **सभी डाउनलोड की गई Android इमेजों की सूची बना सकते हैं**:
|
|
```
|
|
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
|
|
```
|
|
इस समय आपने यह तय कर लिया है कि आप कौन सा उपकरण उपयोग करना चाहते हैं और आपने Android इमेज डाउनलोड कर लिया है, इसलिए **आप निम्नलिखित का उपयोग करके वर्चुअल मशीन बना सकते हैं**:
|
|
|
|
{% code overflow="wrap" %}
|
|
```bash
|
|
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"
|
|
```
|
|
{% endcode %}
|
|
|
|
अंतिम कमांड में मैंने "_AVD9_" नामक वीएम बनाई है जिसमें "_Nexus 5X_" डिवाइस और "_system-images;android-28;google\_apis;x86\_64_" एंड्रॉइड इमेज का उपयोग किया गया है।
|
|
अब आप निम्नलिखित कमांड का उपयोग करके आपके द्वारा बनाए गए वर्चुअल मशीनों की सूची देख सकते हैं:
|
|
```bash
|
|
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
|
|
```
|
|
### वर्चुअल मशीन चलाएं
|
|
|
|
हमने पहले ही देखा है कि आप कैसे बनाई गई वर्चुअल मशीनों की सूची बना सकते हैं, लेकिन **आप इसका उपयोग करके उन्हें सूचीबद्ध कर सकते हैं**:
|
|
```bash
|
|
C:\Users\<UserName>\AppData\Local\Android\Sdk\tools\emulator.exe -list-avds
|
|
AVD9
|
|
Pixel_2_API_27
|
|
```
|
|
आप किसी भी वर्चुअल मशीन को आसानी से चला सकते हैं जो निम्नलिखित तरीके से बनाई गई हो:
|
|
|
|
{% code overflow="wrap" %}
|
|
```bash
|
|
C:\Users\<UserName>\AppData\Local\Android\Sdk\tools\emulator.exe -avd "VirtualMachineName"
|
|
C:\Users\<UserName>\AppData\Local\Android\Sdk\tools\emulator.exe -avd "AVD9"
|
|
```
|
|
{% endcode %}
|
|
|
|
या अधिक उन्नत विकल्प का उपयोग करके आप एक वर्चुअल मशीन चला सकते हैं जैसे:
|
|
|
|
{% code overflow="wrap" %}
|
|
```bash
|
|
C:\Users\<UserName>\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>)
|
|
|
|
<details>
|
|
|
|
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
|
|
|
|
* क्या आप किसी **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी कंपनी को **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)।
|
|
|
|
</details>
|