AVD - Android Virtual Device
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Thank you very much to @offsecjay for his help while creating this content.
Android Studio आपको ऐसे वर्चुअल मशीन चलाने की अनुमति देता है जिनका उपयोग आप APKs का परीक्षण करने के लिए कर सकते हैं। उनका उपयोग करने के लिए आपको आवश्यकता होगी:
Android SDK टूल - यहाँ डाउनलोड करें।
या Android Studio (Android SDK टूल के साथ) - यहाँ डाउनलोड करें।
Windows में (मेरे मामले में) Android Studio स्थापित करने के बाद मेरे पास SDK टूल स्थापित थे: C:\Users\<UserName>\AppData\Local\Android\Sdk\tools
Mac में आप SDK टूल डाउनलोड कर सकते हैं और उन्हें PATH में रख सकते हैं:
या Android Studio GUI से जैसा कि 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 समस्याओं के लिए:
यदि आपने Android Studio स्थापित किया है, तो आप बस मुख्य प्रोजेक्ट दृश्य खोल सकते हैं और पहुँच सकते हैं: Tools --> AVD Manager.
फिर, Create Virtual Device पर क्लिक करें।
उस फोन का चयन करें जिसे आप उपयोग करना चाहते हैं और Next. पर क्लिक करें।
यदि आपको Play Store के साथ फोन की आवश्यकता है, तो उस पर Play Store आइकन वाला फोन चुनें!
वर्तमान दृश्य में आप Android इमेज का चयन और डाउनलोड करने में सक्षम होंगे जिसे फोन चलाने वाला है:
तो, इसे चुनें और यदि यह डाउनलोड नहीं हुआ है तो नाम के बगल में Download प्रतीक पर क्लिक करें (अब इमेज डाउनलोड होने तक प्रतीक्षा करें)।
एक बार इमेज डाउनलोड हो जाने के बाद, बस Next
और Finish
का चयन करें।
वर्चुअल मशीन बनाई जाएगी। अब हर बार जब आप AVD प्रबंधक तक पहुँचेंगे, यह मौजूद होगा।
इसे चलाने के लिए बस Start button दबाएँ।
सबसे पहले, आपको निर्धारित करना होगा कि आप कौन सा फोन उपयोग करना चाहते हैं, संभावित फोन की सूची देखने के लिए निम्नलिखित कमांड निष्पादित करें:
एक बार जब आप उस डिवाइस का नाम तय कर लेते हैं जिसे आप उपयोग करना चाहते हैं, तो आपको निर्णय लेना होगा कि आप इस डिवाइस में कौन सा Android इमेज चलाना चाहते हैं।
आप सभी विकल्पों को sdkmanager
का उपयोग करके सूचीबद्ध कर सकते हैं:
और डाउनलोड करें वह (या सभी) जिसे आप उपयोग करना चाहते हैं:
एक बार जब आप उस Android इमेज को डाउनलोड कर लेते हैं जिसे आप उपयोग करना चाहते हैं, आप सभी डाउनलोड की गई Android इमेज़ की सूची बना सकते हैं:
इस समय आपने उस डिवाइस का चयन कर लिया है जिसे आप उपयोग करना चाहते हैं और आपने Android इमेज डाउनलोड कर ली है, इसलिए आप वर्चुअल मशीन बना सकते हैं:
अंतिम कमांड में मैंने एक VM नामित "AVD9" डिवाइस "Nexus 5X" और एंड्रॉइड इमेज "system-images;android-28;google_apis;x86_64" का उपयोग करके बनाया। अब आप वर्चुअल मशीनों की सूची देख सकते हैं जो आपने बनाई हैं:
हम पहले ही देख चुके हैं कि आप कैसे बनाए गए वर्चुअल मशीनों की सूची बना सकते हैं, लेकिन आप उन्हें निम्नलिखित का उपयोग करके भी सूचीबद्ध कर सकते हैं:
आप बस किसी भी वर्चुअल मशीन को चला सकते हैं जिसका निर्माण किया गया है:
या अधिक उन्नत विकल्पों का उपयोग करके आप एक वर्चुअल मशीन चला सकते हैं जैसे:
हालांकि वर्चुअल मशीन शुरू करने के लिए कई अलग-अलग कमांड लाइन उपयोगी विकल्प हैं। नीचे कुछ दिलचस्प विकल्प दिए गए हैं लेकिन आप यहां एक पूर्ण सूची पा सकते हैं
Boot
-snapshot name
: VM स्नैपशॉट शुरू करें
-snapshot-list -snapstorage ~/.android/avd/Nexus_5X_API_23.avd/snapshots-test.img
: सभी रिकॉर्ड किए गए स्नैपशॉट्स की सूची बनाएं
Network
-dns-server 192.0.2.0, 192.0.2.255
: VM के लिए कॉमा से अलग किए गए DNS सर्वरों को इंगित करने की अनुमति दें।
-http-proxy 192.168.1.12:8080
: उपयोग करने के लिए एक HTTP प्रॉक्सी इंगित करने की अनुमति दें (Burp का उपयोग करके ट्रैफ़िक कैप्चर करने के लिए बहुत उपयोगी)
-port 5556
: कंसोल और adb के लिए उपयोग किए जाने वाले TCP पोर्ट नंबर को सेट करें।
-ports 5556,5559
: कंसोल और adb के लिए उपयोग किए जाने वाले TCP पोर्ट सेट करें।
-tcpdump /path/dumpfile.cap
: एक फ़ाइल में सभी ट्रैफ़िक कैप्चर करें
System
-selinux {disabled|permissive}
: Linux ऑपरेटिंग सिस्टम पर सुरक्षा-संवर्धित लिनक्स सुरक्षा मॉड्यूल को या तो अक्षम या अनुमति मोड पर सेट करें।
-timezone Europe/Paris
: वर्चुअल डिवाइस के लिए समय क्षेत्र सेट करें
-screen {touch(default)|multi-touch|o-touch}
: अनुकरण किए गए टच स्क्रीन मोड को सेट करें।
-writable-system
: अपने अनुकरण सत्र के दौरान एक लिखने योग्य सिस्टम छवि रखने के लिए इस विकल्प का उपयोग करें। आपको adb root; adb remount
भी चलाना होगा। यह सिस्टम में एक नया प्रमाणपत्र स्थापित करने के लिए बहुत उपयोगी है।
यदि आपने Play Store के साथ एक डिवाइस डाउनलोड किया है तो आप सीधे रूट प्राप्त नहीं कर पाएंगे, और आपको यह त्रुटि संदेश मिलेगा
Using rootAVD with Magisk मैं इसे रूट करने में सक्षम था (उदाहरण के लिए इस वीडियो या इस एक)।
कस्टम CA प्रमाणपत्र स्थापित करने के लिए निम्नलिखित पृष्ठ की जांच करें:
Install Burp Certificateआप किसी भी समय VM का स्नैपशॉट लेने के लिए GUI का उपयोग कर सकते हैं:
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)