Install Burp Certificate
एक वर्चुअल मशीन पर
सबसे पहले, आपको बर्प से Der प्रमाणपत्र डाउनलोड करने की आवश्यकता है। आप इसे प्रॉक्सी --> विकल्प --> आयात / निर्यात सीए प्रमाणपत्र में कर सकते हैं।
Der प्रारूप में प्रमाणपत्र निर्यात करें और इसे एक रूप में परिवर्तित करें जिसे Android समझ सकेगा। ध्यान दें कि एवीडी में एंड्रॉइड मशीन पर बर्प प्रमाणपत्र कॉन्फ़िगर करने के लिए आपको इस मशीन को -writable-system
विकल्प के साथ चलाने की आवश्यकता है।
उदाहरण के लिए आप इसे इस प्रकार चला सकते हैं:
फिर, बर्प का प्रमाणपत्र कॉन्फ़िगर करने के लिए करें:
एक बार मशीन पूरी तरह से रिबूट होने के बाद बर्प सर्टिफिकेट उसके द्वारा उपयोग में होगा!
मैजिस्क का उपयोग
यदि आपने अपनी डिवाइस को मैजिस्क के साथ रूट किया है (शायद एक एम्युलेटर), और आप पिछले स्टेप्स का पालन नहीं कर सकते हैं ताकि बर्प सर्टिफिकेट इंस्टॉल कर सकें क्योंकि फ़ाइल सिस्टम केवल पढ़ने योग्य है और आप इसे राइटेबल नहीं रीमाउंट कर सकते, तो एक और तरीका है।
इस वीडियो में स्पष्ट किया गया है कि आपको:
सीए सर्टिफिकेट इंस्टॉल करें: बस मोबाइल में डाउनलोड्स फ़ोल्डर में स्टोर होने के लिए DER बर्प सर्टिफिकेट को
.crt
एक्सटेंशन में बदलकर ड्रैग एंड ड्रॉप करें औरInstall a certificate
->CA certificate
पर जाएं
सर्टिफिकेट सही ढंग से स्टोर हुआ है यह जांचने के लिए
Trusted credentials
->USER
पर जाएं
इसे सिस्टम विश्वसनीय बनाएं: मैजिस्क मॉड्यूल MagiskTrustUserCerts (एक .zip फ़ाइल) डाउनलोड करें, फ़ोन में ड्रैग एंड ड्रॉप करें, फ़ोन में मैजिक्स ऐप में जाएं
Modules
सेक्शन में,.zip
मॉड्यूल को चुनें और इंस्टॉल करने के बाद फ़ोन को रीबूट करें:
रीबूट करने के बाद,
Trusted credentials
->SYSTEM
पर जाएं और चेक करें कि पोस्ट्स्विगर सर्टिफिकेट वहाँ है
एंड्रॉइड 14 के बाद
नवीनतम एंड्रॉइड 14 रिलीज में, सिस्टम-विश्वसनीय सर्टिफिकेट अथॉरिटी (CA) सर्टिफिकेट्स के हैंडलिंग में एक महत्वपूर्ण परिवर्तन देखा गया है। पहले, ये सर्टिफिकेट्स /system/etc/security/cacerts/
में रखे गए थे, जिन्हें रूट प्राइविलेज़ वाले उपयोगकर्ताओं द्वारा एक्सेस और मॉडिफाई किया जा सकता था, जिससे सिस्टम पर तत्काल लागू हो सकता था। हालांकि, एंड्रॉइड 14 के साथ, स्टोरेज स्थानक को /apex/com.android.conscrypt/cacerts
में स्थानांतरित किया गया है, जो /apex
पथ के भीतर एक निर्विवाद स्थान है, जो प्राकृतिक रूप से अपरिवर्तनीय है।
एपेक्स कैकर्ट्स पथ को राइटेबल रूप में रीमाउंट करने की कोशिशें विफल होती हैं, क्योंकि सिस्टम ऐसे ऑपरेशन की अनुमति नहीं देता। यहाँ तक कि डायरेक्टरी को एक अस्थायी फ़ाइल सिस्टम (tmpfs) के साथ अनमाउंट या ओवरले करने की कोशिशें भी अपरिवर्तनीता को नहीं दूर करती हैं; एप्लिकेशन्स फ़ाइल सिस्टम स्तर पर परिवर्तनों का अवलोकन करते रहते हैं। यह सहनशीलता /apex
माउंट को प्राइवेट प्रोपेगेशन के साथ कॉन्फ़िगर करने से होती है, जिससे सुनिश्चित होता है कि /apex
डायरेक्टरी के अंदर के कोई भी परिवर्तन अन्य प्रक्रियाओं पर प्रभाव नहीं डालते।
एंड्रॉइड की आरंभिकीकरण में init
प्रक्रिया शामिल है, जो ऑपरेटिंग सिस्टम की शुरुआत पर जब शुरू होती है, तो जाइगोट प्रक्रिया को भी आरंभ करती है। यह प्रक्रिया एक नए माउंट नेमस्पेस के साथ एप्लिकेशन प्रक्रियाओं को लॉन्च करने के लिए जिम्मेदार है, जिसमें एक प्राइवेट /apex
माउंट शामिल है, जिससे इस डायरेक्टरी में किए गए परिवर्तनों को अन्य प्रक्रियाओं से अलग किया जाता है।
हालांकि, /apex
डायरेक्टरी के भीतर सिस्टम-विश्वसनीय सीए सर्टिफिकेट्स को संशोधित करने वालों के लिए एक उपाय मौजूद है। इसमें /apex
को प्राइवेट प्रोपेगेशन को हटाने के लिए मैन्युअल रीमाउंट करना शामिल है, जिससे इसे राइटेबल बनाया जा सके। इस प्रक्रिया में शामिल है /apex/com.android.conscrypt
की सामग्री की किसी अन्य स्थान पर कॉपी करना, /apex/com.android.conscrypt
डायरेक्टरी को अनमाउंट करना ताकि रीड-ओनली बाधा को हटाया जा सके, और फिर सामग्री को उनके मूल स्थान पर /apex
के भीतर पुनर्स्थापित करना। इस दृष्टि को लागू करने के लिए इन परिवर्तनों को सिस्टम-व्यापी रूप से सुनिश्चित करने के लिए, system_server
को पुनः आरंभ करने की सिफारिश की जाती है, जिससे सभी एप्लिकेशन्स को पुनः आरंभ किया जाता है और सिस्टम को एक संगत स्थिति में लाता है।
NSEnter के माध्यम से बाइंड-माउंटिंग
एक लिखने योग्य निर्देशिका सेट करना: प्रारंभ में, मौजूदा गैर-APEX सिस्टम प्रमाणपत्र निर्देशिका पर
tmpfs
को माउंट करके एक लिखने योग्य निर्देशिका स्थापित की जाती है। इसे निम्नलिखित कमांड के साथ प्राप्त किया जाता है:
CA प्रमाणपत्र तैयार करना: लेखनीय निर्देशिका की सेटअप के बाद, उन CA प्रमाणपत्रों को इस निर्देशिका में कॉपी किया जाना चाहिए जिन्हें आप उपयोग करना चाहते हैं। इसमें शामिल हो सकता है कि डिफ़ॉल्ट प्रमाणपत्रों को
/apex/com.android.conscrypt/cacerts/
से कॉपी किया जाए। इन प्रमाणपत्रों की अनुरूप अनुमतियों और SELinux लेबल को समायोजित करना महत्वपूर्ण है।Zygote के लिए बाइंड माउंटिंग:
nsenter
का उपयोग करके, कोई Zygote के माउंट नेमस्पेस में प्रवेश करता है। Zygote, जो Android एप्लिकेशन लॉन्च करने के लिए जिम्मेदार प्रक्रिया है, इस कदम को सुनिश्चित करने के लिए आवश्यकता है कि आगे से प्रारंभ की गई सभी एप्लिकेशन नए संविचित CA प्रमाणपत्रों का उपयोग करें। उपयोग किया जाने वाला कमांड है:
यह सुनिश्चित करता है कि प्रत्येक नया एप्लिकेशन अपडेटेड सीए प्रमाणपत्र सेटअप का पालन करेगा।
चल रहे ऐप्स में परिवर्तन लागू करना: पहले चल रहे ऐप्लिकेशन्स पर परिवर्तन लागू करने के लिए,
nsenter
को फिर से प्रत्येक ऐप्लिकेशन के नेमस्पेस में प्रवेश करने के लिए उपयोग किया जाता है और एक समान बाइंड माउंट करने के लिए। आवश्यक कमांड है:
वैकल्पिक दृष्टिकोण - सॉफ्ट रीबूट: एक वैकल्पिक विधि में
init
प्रक्रिया (PID 1) पर बाइंड माउंट करना शामिल है, जिसके बाद ऑपरेटिंग सिस्टम कोstop && start
कमांड के साथ सॉफ्ट रीबूट करना। यह दृष्टिकोण परिवर्तनों को सभी नेमस्पेस में फैलाएगा, जिससे हर चल रहे ऐप्लिकेशन को व्यक्तिगत रूप से संबोधित करने की आवश्यकता नहीं होगी। हालांकि, इस विधि को आम तौर पर पुनरारंभ करने की असुविधा के कारण कम पसंद किया जाता है।
संदर्भ
Last updated