Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
ReflectiveDLLInjection — रिफ्लेक्टिव DLL इंजेक्शन एक लाइब्रेरी इंजेक्शन तकनीक है जिसमें रिफ्लेक्टिव प्रोग्रामिंग की अवधारणा का उपयोग करके मेमोरी से एक लाइब्रेरी को होस्ट प्रोसेस में लोड किया जाता है। | Kitploit
उपकरण/GitHubGitHub/stephenfewer/reflectivedllinjection
मेमोरी फोरेंसिकशोषणपोस्ट-शोषणरेड टीमिंगपेलोड डेवलपमेंट
GitHubstephenfewer/reflectivedllinjection

ReflectiveDLLInjection

रिफ्लेक्टिव DLL इंजेक्शन एक लाइब्रेरी इंजेक्शन तकनीक है जिसमें रिफ्लेक्टिव प्रोग्रामिंग की अवधारणा का उपयोग करके मेमोरी से एक लाइब्रेरी को होस्ट प्रोसेस में लोड किया जाता है।

रिपॉजिटरी देखें

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें
3.3k81674 साल पहलेKitploit द्वारा समीक्षित

अवलोकन

रिफ्लेक्टिव DLL इंजेक्शन एक लाइब्रेरी इंजेक्शन तकनीक है जिसमें रिफ्लेक्टिव प्रोग्रामिंग की अवधारणा का उपयोग करके मेमोरी से किसी लाइब्रेरी को होस्ट प्रोसेस में लोड किया जाता है। इस प्रकार, लाइब्रेरी स्वयं को लोड करने के लिए जिम्मेदार होती है, जो एक न्यूनतम पोर्टेबल एक्जीक्यूटेबल (PE) फ़ाइल लोडर लागू करती है। यह तब होस्ट सिस्टम और प्रोसेस के साथ न्यूनतम इंटरैक्शन के साथ नियंत्रित कर सकती है कि वह होस्ट के साथ कैसे लोड और इंटरैक्ट करेगी।

इंजेक्शन Windows NT4 से लेकर Windows 8 तक काम करता है, जो x86, x64 और ARM पर लागू होता है।

अवलोकन

किसी प्रोसेस में दूरस्थ रूप से लाइब्रेरी इंजेक्ट करने की प्रक्रिया दो चरणों में होती है। पहला, जिस लाइब्रेरी को आप इंजेक्ट करना चाहते हैं उसे लक्षित प्रोसेस के एड्रेस स्पेस में लिखा जाना चाहिए (यहाँ इसे होस्ट प्रोसेस कहा जाता है)। दूसरा, लाइब्रेरी को होस्ट प्रोसेस में इस तरह लोड किया जाना चाहिए कि लाइब्रेरी की रन-टाइम अपेक्षाएँ पूरी हों, जैसे कि उसके इम्पोर्ट्स को रिज़ॉल्व करना या उसे मेमोरी में उपयुक्त स्थान पर रीलोकेट करना।

मान लें कि हमारे पास होस्ट प्रोसेस में कोड निष्पादन है और जिस लाइब्रेरी को हम इंजेक्ट करना चाहते हैं उसे होस्ट प्रोसेस की मेमोरी में किसी मनमाने स्थान पर लिखा गया है, तो रिफ्लेक्टिव DLL इंजेक्शन निम्नानुसार काम करता है।

  • निष्पादन, या तो CreateRemoteThread() के माध्यम से या एक छोटे बूटस्ट्रैप शेलकोड के माध्यम से, लाइब्रेरी के ReflectiveLoader फ़ंक्शन को पास किया जाता है, जो लाइब्रेरी की एक्सपोर्ट टेबल में पाया जाने वाला एक एक्सपोर्टेड फ़ंक्शन है।
  • चूँकि लाइब्रेरी की इमेज वर्तमान में मेमोरी में किसी मनमाने स्थान पर मौजूद होगी, ReflectiveLoader पहले मेमोरी में अपनी स्वयं की इमेज के वर्तमान स्थान की गणना करेगा ताकि बाद में उपयोग के लिए अपने स्वयं के हेडर्स को पार्स कर सके।
  • ReflectiveLoader फिर होस्ट प्रोसेस की kernel32.dll एक्सपोर्ट टेबल को पार्स करेगा ताकि लोडर के लिए आवश्यक तीन फ़ंक्शनों के एड्रेस की गणना कर सके, अर्थात् LoadLibraryA, GetProcAddress और VirtualAlloc।
  • ReflectiveLoader अब मेमोरी का एक सतत क्षेत्र आवंटित करेगा जिसमें वह अपनी स्वयं की इमेज लोड करने के लिए आगे बढ़ेगा। स्थान महत्वपूर्ण नहीं है क्योंकि लोडर बाद में इमेज को सही ढंग से रीलोकेट करेगा।
  • लाइब्रेरी के हेडर्स और सेक्शन मेमोरी में उनके नए स्थानों पर लोड किए जाते हैं।
  • ReflectiveLoader फिर अपनी इमेज की नई लोड की गई प्रति की इम्पोर्ट टेबल को प्रोसेस करेगा, किसी भी अतिरिक्त लाइब्रेरी को लोड करेगा और उनके संबंधित इम्पोर्टेड फ़ंक्शन एड्रेस को रिज़ॉल्व करेगा।
  • ReflectiveLoader फिर अपनी इमेज की नई लोड की गई प्रति की रीलोकेशन टेबल को प्रोसेस करेगा।
  • ReflectiveLoader फिर अपनी नई लोड की गई इमेज के एंट्री पॉइंट फ़ंक्शन, DllMain को DLL_PROCESS_ATTACH के साथ कॉल करेगा। लाइब्रेरी अब सफलतापूर्वक मेमोरी में लोड हो चुकी है।
  • अंत में ReflectiveLoader निष्पादन को प्रारंभिक बूटस्ट्रैप शेलकोड को लौटाएगा जिसने इसे कॉल किया था, या यदि इसे CreateRemoteThread के माध्यम से कॉल किया गया था, तो थ्रेड समाप्त हो जाएगा।

निर्माण

Visual Studio C++ में 'rdi.sln' फ़ाइल खोलें और inject.exe और reflective_dll.dll बनाने के लिए समाधान को Release मोड में बनाएँ।

उपयोग

परीक्षण के लिए inject.exe का उपयोग करके reflective_dll.dll को एक प्रोसेस आईडी के माध्यम से होस्ट प्रोसेस में इंजेक्ट करें, जैसे:

inject.exe 1234

लाइसेंस

3-क्लॉज़ BSD लाइसेंस के तहत लाइसेंस प्राप्त, कृपया विवरण के लिए LICENSE.txt देखें।

टूल डाउनलोड करें