

macSubstrate एक प्लेटफ़ॉर्म टूल है जो macOS पर इंटरप्रोसेस कोड इंजेक्शन के लिए है, जिसका कार्य iOS पर Cydia Substrate के समान है। macSubstrate का उपयोग करके, आप अपने प्लगइन्स (.bundle या .framework) को एक mac ऐप (सैंडबॉक्स्ड ऐप्स सहित) में इंजेक्ट कर सकते हैं ताकि उसे रनटाइम में ट्वीक किया जा सके।
आपको बस अपने लक्ष्य ऐप के लिए प्लगइन्स प्राप्त करने या बनाने की आवश्यकता है।
मूल लक्ष्य ऐप के संशोधन और कोडसाइन से कोई परेशानी नहीं।
लक्ष्य ऐप अपडेट होने के बाद कोई अतिरिक्त काम नहीं।
प्लगइन को इंस्टॉल या अनइंस्टॉल करना बहुत आसान है।
जब भी लक्ष्य ऐप फिर से लॉन्च किया जाता है, प्लगइन्स स्वचालित रूप से लोड होते हैं।
एक GUI ऐप प्रदान करता है जो इंजेक्शन को और अधिक आसान बनाता है।
सिस्टम इंटीग्रिटी प्रोटेक्शन (System Integrity Protection) एक नई सुरक्षा नीति है जो हर चल रही प्रक्रिया पर लागू होती है, जिसमें विशेषाधिकार प्राप्त कोड और सैंडबॉक्स से बाहर चलने वाला कोड शामिल है। यह नीति डिस्क पर और रन-टाइम पर घटकों को अतिरिक्त सुरक्षा प्रदान करती है, केवल सिस्टम इंस्टॉलर और सॉफ़्टवेयर अपडेट द्वारा सिस्टम बाइनरी को संशोधित करने की अनुमति देती है। कोड इंजेक्शन और सिस्टम बाइनरी से रनटाइम अटैचमेंट अब अनुमति नहीं है।
macSubstrate.app डाउनलोड करें, इसे /Applications में रखें और लॉन्च करें।

यदि आवश्यक हो तो प्राधिकरण प्रदान करें।
macSubstrate में आयात या ड्रैग करके एक प्लगइन इंस्टॉल करें।

लक्ष्य ऐप लॉन्च करें।
चरण 3 और चरण 4 को स्वैप किया जा सकता है
एक बार macSubstrate द्वारा एक प्लगइन इंस्टॉल किया जाता है, तो यह तुरंत प्रभावी होगा। लेकिन यदि आप चाहते हैं कि यह लक्ष्य ऐप के फिर से लॉन्च होने या macOS के पुनरारंभ होने पर भी काम करे, तो आपको macSubstrate को चलाते रहना होगा और इसे लॉगिन पर स्वचालित रूप से लॉन्च करने की अनुमति देनी होगी।
जब आपको इसकी आवश्यकता न हो तो प्लगइन अनइंस्टॉल करें।

macSubstrate .bundle या .framework प्रारूप के प्लगइन्स का समर्थन करता है, इसलिए आपको बस एक मान्य .bundle या .framework फ़ाइल बनाने की आवश्यकता है। सबसे महत्वपूर्ण बात यह है कि info.plist में एक कुंजी macSubstratePlugin जोड़ें, जिसका मान एक शब्दकोश हो:
| कुंजी | मान |
|---|---|
कृपया विवरण के लिए डेमो प्लगइन्स demo.bundle और demo.framework देखें।
macSubstrate आपको आसानी से प्लगइन बनाने में मदद करने के लिए Xcode टेम्पलेट्स भी प्रदान करता है:
ln -fhs ./macSubstratePluginTemplate ~/Library/Developer/Xcode/Templates/macSubstrate\ Plugin
Xcode लॉन्च करें, और आपके लिए 2 नए प्लगइन टेम्पलेट होंगे।
मैंने WeChat के लिए एक प्लगइन भी बनाया है:
जब आपको HongBao संदेश प्राप्त होता है तो आपको एक सूचना भेजता है।
जब आपको अनुकूलित कीवर्ड वाला संदेश प्राप्त होता है तो आपको एक सूचना भेजता है।
संदेश वापस लेने पर रोक लगाता है और आपको एक सूचना भेजता है।
अपने स्वयं के प्लगइन्स के लिए Plugins में पुल रिक्वेस्ट का स्वागत है :)
macSubstrate MIT लाइसेंस के तहत जारी किया गया है। विवरण के लिए LICENSE देखें।
macSubstrate निम्नलिखित परियोजनाओं की सहायता से प्रेरित और निर्मित किया गया है:
TargetAppBundleID |
लक्ष्य ऐप का CFBundleIdentifier, यह macSubstrate को बताता है कि किस ऐप में इंजेक्ट करना है। |
Description | प्लगइन का संक्षिप्त विवरण |
AuthorName | प्लगइन के लेखक का नाम |
AuthorEmail | प्लगइन के लेखक का ईमेल |