विंडोज़ पर कोड इंजेक्शन क्या है?

विषयसूची:

विंडोज़ पर कोड इंजेक्शन क्या है?
विंडोज़ पर कोड इंजेक्शन क्या है?

वीडियो: विंडोज़ पर कोड इंजेक्शन क्या है?

वीडियो: विंडोज़ पर कोड इंजेक्शन क्या है?
वीडियो: KING OF CRABS BUTTERFLY EFFECT - YouTube 2024, मई
Anonim
विंडोज़ पर कोड इंजेक्शन आम है। अनुप्रयोग अपने व्यवहार को संशोधित करने के लिए एक और चल रही प्रक्रिया में अपने कोड के टुकड़े "इंजेक्ट" करते हैं। इस तकनीक का उपयोग अच्छा या बुराई के लिए किया जा सकता है, लेकिन किसी भी तरह से यह समस्याएं पैदा कर सकता है।
विंडोज़ पर कोड इंजेक्शन आम है। अनुप्रयोग अपने व्यवहार को संशोधित करने के लिए एक और चल रही प्रक्रिया में अपने कोड के टुकड़े "इंजेक्ट" करते हैं। इस तकनीक का उपयोग अच्छा या बुराई के लिए किया जा सकता है, लेकिन किसी भी तरह से यह समस्याएं पैदा कर सकता है।

कोड इंजेक्शन को आमतौर पर डीएलएल इंजेक्शन भी कहा जाता है क्योंकि इंजेक्शन कोड अक्सर डीएलएल (गतिशील लिंक लाइब्रेरी) फ़ाइल के रूप में होता है। हालांकि, अनुप्रयोग अन्य प्रकार के कोड भी इंजेक्ट कर सकते हैं जो एक प्रक्रिया में डीएलएल नहीं हैं।

किस कोड इंजेक्शन के लिए उपयोग किया जाता है

कोड इंजेक्शन का उपयोग विंडोज़ पर सभी प्रकार की चाल और कार्यक्षमता को पूरा करने के लिए किया जाता है। जबकि वैध कार्यक्रम इसका उपयोग करते हैं, यह मैलवेयर द्वारा भी उपयोग किया जाता है। उदाहरण के लिए:

  • एंटीवायरस प्रोग्राम अक्सर वेब ब्राउज़र में कोड इंजेक्ट करते हैं। वे इसका उपयोग नेटवर्क यातायात की निगरानी और खतरनाक वेब सामग्री को अवरुद्ध करने के लिए कर सकते हैं, उदाहरण के लिए।
  • दुर्भावनापूर्ण प्रोग्राम आपके ब्राउज़िंग को बेहतर तरीके से ट्रैक करने, पासवर्ड और क्रेडिट कार्ड नंबर जैसी सुरक्षित जानकारी चोरी करने और अपनी ब्राउज़र सेटिंग्स बदलने के लिए अपने वेब ब्राउज़र में कोड जोड़ सकते हैं।
  • स्टारडॉक की विंडोब्लिंड्स, जो आपके डेस्कटॉप को थीम करती है, संशोधित करने के लिए कोड इंजेक्ट करती है कि विंडोज़ कैसे खींचे जाते हैं।
  • स्टारडॉक के बाड़ विंडोज डेस्कटॉप के तरीके को बदलने के लिए कोड इंजेक्ट करते हैं।
  • AutoHotkey, जो आपको स्क्रिप्ट बनाने और सिस्टम-व्यापी हॉटकी को असाइन करने देता है, इसे पूरा करने के लिए कोड इंजेक्ट करता है।
  • ग्राफ़िक्स ड्राइवर की तरह एनवीआईडीआईए ने ग्राफिक्स से संबंधित कार्यों को पूरा करने के लिए डीएलएल इंजेक्ट किया है।
  • कुछ कार्यक्रम एक आवेदन में अतिरिक्त मेनू विकल्प जोड़ने के लिए डीएलएल इंजेक्ट करते हैं।
  • पीसी गेम धोखाधड़ी उपकरण अक्सर अपने व्यवहार को संशोधित करने और अन्य खिलाड़ियों पर अनुचित लाभ प्राप्त करने के लिए गेम में कोड इंजेक्ट करते हैं।

कोड इंजेक्शन खराब है?

इस तकनीक का उपयोग विंडोज पर विभिन्न प्रकार के अनुप्रयोगों द्वारा लगातार किया जाता है। विभिन्न कार्यों को पूरा करने का यह एकमात्र असली तरीका है। ऐप्पल के आईओएस या Google के एंड्रॉइड जैसे आधुनिक मोबाइल प्लेटफार्म की तुलना में, विंडोज डेस्कटॉप इतना शक्तिशाली है क्योंकि अगर डेवलपर्स को इस तरह की लचीलापन प्रदान करता है।

बेशक, उस शक्ति के साथ कुछ खतरा आता है। कोड इंजेक्शन अनुप्रयोगों में समस्याएं और बग का कारण बन सकता है। Google का कहना है कि विंडोज उपयोगकर्ता जिनके पास क्रोम ब्राउज़र में इंजेक्शन कोड है, वे क्रोम क्रैश का अनुभव करने की 15% अधिक संभावना रखते हैं, यही कारण है कि Google इसे अवरुद्ध करने पर काम कर रहा है। माइक्रोसॉफ्ट नोट करता है कि दुर्भावनापूर्ण एप्लिकेशन द्वारा ब्राउजर सेटिंग्स के साथ छेड़छाड़ करने के लिए कोड इंजेक्शन का उपयोग किया जा सकता है, जो एक कारण है कि यह पहले से ही एज में अवरुद्ध है।

माइक्रोसॉफ्ट यह भी जांचने के लिए निर्देश प्रदान करता है कि माइक्रोसॉफ्ट आउटलुक में तीसरे पक्ष के डीएलएल लोड किए गए हैं, क्योंकि वे इतने सारे आउटलुक क्रैश का कारण बनते हैं।

एक माइक्रोसॉफ्ट कर्मचारी ने इसे 2004 से डेवलपर ब्लॉग में रखा है:

DLL injection is never safe. You’re talking about squirting code into a process that was never designed, built, or tested by the process’s author, and co-opting or creating a thread to run that code. You run the risk of creating timing, synchronization, or resource issues that weren’t there before or exacerbating issues that were there.

दूसरे शब्दों में, कोड इंजेक्शन एक गंदे हैक की तरह है। एक आदर्श दुनिया में, इसे पूरा करने का एक सुरक्षित तरीका होगा जिससे संभावित अस्थिरता न हो। हालांकि, कोड इंजेक्शन आज विंडोज़ एप्लिकेशन प्लेटफार्म का एक सामान्य हिस्सा है। यह आपके विंडोज पीसी पर पृष्ठभूमि में लगातार हो रहा है। आप इसे एक आवश्यक बुराई कह सकते हैं।

इंजेक्शन डीएलएल के लिए कैसे जांचें

आप माइक्रोसॉफ्ट के शक्तिशाली प्रोसेस एक्सप्लोरर एप्लिकेशन के साथ अपने सिस्टम पर कोड इंजेक्शन की जांच कर सकते हैं। यह मूल रूप से अतिरिक्त सुविधाओं के साथ पैक टास्क मैनेजर का एक उन्नत संस्करण है।

यदि आप ऐसा करना चाहते हैं तो प्रक्रिया एक्सप्लोरर को डाउनलोड और चलाएं। देखें> लोअर फलक व्यू> डीएलएल पर क्लिक करें या Ctrl + D दबाएं।

शीर्ष फलक में एक प्रक्रिया का चयन करें और लोड किए गए DLL को देखने के लिए निचले फलक में देखें। "कंपनी का नाम" कॉलम इस सूची को फ़िल्टर करने का एक उपयोगी तरीका प्रदान करता है।
शीर्ष फलक में एक प्रक्रिया का चयन करें और लोड किए गए DLL को देखने के लिए निचले फलक में देखें। "कंपनी का नाम" कॉलम इस सूची को फ़िल्टर करने का एक उपयोगी तरीका प्रदान करता है।

उदाहरण के लिए, "माइक्रोसॉफ्ट कॉर्पोरेशन" द्वारा बनाई गई विभिन्न डीएलएल को देखना सामान्य बात है, क्योंकि वे विंडोज का हिस्सा हैं। नीचे दिए गए स्क्रीनशॉट में क्रोम के मामले में "Google Inc." प्रश्न में प्रक्रिया के रूप में एक ही कंपनी द्वारा किए गए डीएलएल को देखना सामान्य बात है।

हम यहां "AVAST सॉफ़्टवेयर" द्वारा बनाए गए कुछ डीएलएल भी देख सकते हैं। यह इंगित करता है कि हमारे सिस्टम पर अवास्ट एंटीमाइवेयर सॉफ़्टवेयर क्रोम में "अवास्ट स्क्रिप्ट ब्लॉकिंग फ़िल्टर लाइब्रेरी" जैसे कोड इंजेक्ट कर रहा है।

यदि आप अपने सिस्टम पर कोड इंजेक्शन पाते हैं तो आप ऐसा नहीं कर सकते हैं-एक तरफ प्रोग्राम इंजेक्शन कोड को अनइंस्टॉल करने से इसे समस्याएं उत्पन्न करने से रोकने के लिए। उदाहरण के लिए, यदि क्रोम नियमित रूप से क्रैश हो जाता है, तो आप देख सकते हैं कि क्रोम में कोड इंजेक्शन देने वाले कोई प्रोग्राम हैं या उन्हें Chrome की प्रक्रियाओं से छेड़छाड़ करने से रोकने के लिए उन्हें अनइंस्टॉल करें।
यदि आप अपने सिस्टम पर कोड इंजेक्शन पाते हैं तो आप ऐसा नहीं कर सकते हैं-एक तरफ प्रोग्राम इंजेक्शन कोड को अनइंस्टॉल करने से इसे समस्याएं उत्पन्न करने से रोकने के लिए। उदाहरण के लिए, यदि क्रोम नियमित रूप से क्रैश हो जाता है, तो आप देख सकते हैं कि क्रोम में कोड इंजेक्शन देने वाले कोई प्रोग्राम हैं या उन्हें Chrome की प्रक्रियाओं से छेड़छाड़ करने से रोकने के लिए उन्हें अनइंस्टॉल करें।

कोड इंजेक्शन कैसे काम करता है?

कोड इंजेक्शन आपकी डिस्क पर अंतर्निहित अनुप्रयोग को संशोधित नहीं करता है। इसके बजाए, यह उस एप्लिकेशन को चलाने के लिए इंतजार कर रहा है और यह उस प्रक्रिया को बदलने के लिए अतिरिक्त प्रक्रिया को इंजेक्ट करता है ताकि यह कैसे कार्य करता है।

विंडोज़ में विभिन्न प्रकार के एप्लिकेशन प्रोग्रामिंग इंटरफेस (एपीआई) शामिल हैं जिनका उपयोग कोड इंजेक्शन के लिए किया जा सकता है। एक प्रक्रिया स्वयं को लक्ष्य प्रक्रिया में संलग्न कर सकती है, स्मृति आवंटित कर सकती है, उस स्मृति में एक डीएलएल या अन्य कोड लिख सकती है, और फिर कोड को निष्पादित करने के लिए लक्ष्य प्रक्रिया को निर्देशित कर सकती है। विंडोज आपके कंप्यूटर पर प्रक्रियाओं को इस तरह एक दूसरे के साथ हस्तक्षेप करने से नहीं रोकता है।

अधिक तकनीकी जानकारी के लिए, यह ब्लॉग पोस्ट देखें कि डेवलपर डीएलएल कैसे इंजेक्ट कर सकते हैं और यह विंडोज़ पर अन्य प्रकार के कोड इंजेक्शन को देखता है।

कुछ मामलों में, कोई डिस्क पर अंतर्निहित कोड बदल सकता है - उदाहरण के लिए, एक डीएलएल फ़ाइल को प्रतिस्थापित करके जो एक पीसी गेम के साथ आता है जिसमें धोखाधड़ी या चोरी को सक्षम करने के लिए एक संशोधित व्यक्ति होता है।यह तकनीकी रूप से "कोड इंजेक्शन" नहीं है। कोड को चल रहे प्रक्रिया में इंजेक्शन नहीं दिया जा रहा है, लेकिन प्रोग्राम को एक ही नाम के साथ एक अलग डीएलएल लोड करने में धोखा दिया जा रहा है।

सिफारिश की: