<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong> के साथ!</strong></summary>
* यदि आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सदस्यता योजनाएं देखें**](https://github.com/sponsors/carlospolop)!
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
एक **प्रोविजनिंग आईडेंटिटी** एक संग्रह है जिसमें सार्वजनिक और निजी कुंजी होती हैं जो एक Apple डेवलपर खाते से संबंधित होती हैं। ऐप्स को **साइन करने** के लिए आपको **99 डॉलर/वर्ष** चुकाने की आवश्यकता होती है ताकि आप **Apple Developer Program** में पंजीकरण कर सकें और अपनी प्रोविजनिंग आईडेंटिटी प्राप्त कर सकें। इसके बिना आप वास्तविक डिवाइस में स्रोत कोड से एप्लिकेशन चला नहीं सकेंगे। इसे करने का एक और विकल्प है **जेलब्रोकन डिवाइस** का उपयोग करना।
Xcode 7.2 से शुरू करके Apple ने एक **मुफ्त iOS विकास प्रोविजनिंग प्रोफ़ाइल** बनाने का विकल्प प्रदान किया है जो एक वास्तविक iPhone पर अपने एप्लिकेशन को लिखने और परीक्षण करने की अनुमति देता है। जाएं _Xcode_ --> _Preferences_ --> _Accounts_ --> _+_ (नए Appli ID अपने क्रेडेंशियल्स में जोड़ें) --> _बनाए गए Apple ID पर क्लिक करें_ --> _Manage Certificates_ --> _+_ (Apple Development) --> _Done_\
\_\_फिर, अपने iPhone में अपने एप्लिकेशन को चलाने के लिए आपको पहले **इंडिकेट करना होगा कि iPhone कंप्यूटर पर विश्वास करे।** फिर, आप **Xcode से मोबाइल में एप्लिकेशन चलाने की कोशिश कर सकते हैं,** लेकिन एक त्रुटि आ जाएगी। तो जाएं _Settings_ --> _General_ --> _Profiles and Device Management_ --> अविश्वसनीय प्रोफ़ाइल का चयन करें और "**Trust**" पर क्लिक करें।
ध्यान दें कि **एक सिम्युलेटर एक एम्युलेटर के समान नहीं है**। सिम्युलेटर केवल डिवाइस और कार्यों का व्यवहार नकल करता है लेकिन उन्हें वास्तव में उपयोग नहीं करता।
Apple का डि फैक्टो उपकरण iOS ऐप्लिकेशन बनाने/डीबगिंग/इंस्ट्रुमेंटेशन के लिए **Xcode** है। इसका उपयोग करके आप अन्य उपकरणों जैसे कि **सिम्युलेटर्स** और विभिन्न **SDK****संस्करण** डाउनलोड कर सकते हैं जो आपकी ऐप बनाने और **परीक्षण** के लिए आवश्यक हैं।\
`/Users/<username>/Library/Developer/CoreSimulator/Devices` में आपको सभी **इंस्टॉल किए गए सिम्युलेटर्स** मिल सकते हैं। यदि आप किसी एप्लिकेशन के फ़ाइलों तक पहुंचना चाहते हैं जो किसी एम्युलेटर में बनाया गया है तो यह मुश्किल हो सकता है कि **उसमें किसमें एप्लिकेशन इंस्टॉल है**। सही UID पता करने का एक त्वरित तरीका यह है कि सिम्युलेटर में ऐप को चलाएं और निम्नलिखित को निष्पादित करें:
एक बार जब आप UID पता लगा लेते हैं तो उसके भीतर इंस्टॉल की गई ऐप्स को यहाँ मिल सकते हैं `/Users/<username>/Library/Developer/CoreSimulator/Devices/{UID}/data/Containers/Data/Application`
हालांकि, आप यहाँ ऐप्लिकेशन नहीं पाएंगे। आपको `/Users/<username>/Library/Developer/Xcode/DerivedData/{Application}/Build/Products/Debug-iphonesimulator/` तक पहुंचना होगा
कोरेलियम ही एकमात्र सार्वजनिक रूप से उपलब्ध iOS एम्युलेटर है। यह एक उद्यम SaaS समाधान है जिसमें प्रति उपयोगकर्ता लाइसेंस मॉडल है और कोई परीक्षण लाइसेंस प्रदान नहीं करता।
एप्पल सख्ती से आवश्यकता रखता है कि आईफोन पर चल रहे कोड को **एप्पल द्वारा जारी किए गए प्रमाणपत्र द्वारा साइन किया जाना चाहिए**। **जेलब्रेकिंग** उस प्रक्रिया को कहते हैं जिसमें ऐसी प्रतिबंधनों को सक्रिय रूप से **टाल दिया जाता है** और ओएस द्वारा लगाए गए अन्य सुरक्षा नियंत्रणों को। इसलिए, एक बार डिवाइस को जेलब्रेक कर दिया जाता है, **अखंडता जांच** जिसका जिम्मेदार है कि ऐप्स की जांच की जाती है, वह पैच हो जाता है ताकि यह **छलांग दे सके**।
जबकि अक्सर तुलना की जाती है, एंड्रॉयड पर रूटिंग और iOS पर जेलब्रेकिंग मौलिक रूप से भिन्न प्रक्रियाएँ हैं। एंड्रॉयड डिवाइस पर रूटिंग में **`su` बाइनरी इंस्टॉल करना** या **सिस्टम को रूट कस्टम ROM के साथ बदलना** शामिल हो सकता है, जो यदि बूटलोडर अनलॉक है तो आवश्यकता नहीं है। **कस्टम ROMs फ्लैश करना** डिवाइस के ओएस को बदल देता है बूटलोडर को अनलॉक करने के बाद, कभी-कभी एक एक्सप्लॉइट की आवश्यकता होती है।
विपरीतता, iOS डिवाइस कस्टम ROMs फ्लैश नहीं कर सकते क्योंकि बूटलोडर की प्रतिबंधितता केवल एप्पल-साइन किए गए छवियों को बूट करने की अनुमति देती है। **iOS जेलब्रेकिंग** एप्पल कोड साइनिंग सुरक्षा को छलने के लिए उद्देश्यित है ताकि अप्रमाणित कोड चलाया जा सके, जिसमें एप्पल की निरंतर सुरक्षा सुधारों के कारण प्रक्रिया कठिन हो जाती है।
### जेलब्रेकिंग चुनौतियाँ
iOS जेलब्रेकिंग एप्पल जल्दी से वंशावलीयताएँ पैच करते हैं, इसलिए जेलब्रेकिंग समय-संवेदनशील मामला है। सुरक्षा परीक्षण के लिए उपयोग किए जाने वाले डिवाइस को अपडेट नहीं किया जाना चाहिए जब तक पुनः-जेलब्रेकिंग की गारंटी न हो।