आप एक DLL है कि आप उस DLL के निर्यात hooking रहे hooking रहे हैं, तो मुझे लगता है?
उस मामले आप एक सरल आई ए टी प्रदर्शन कर सकते हैं (और संभवत: खाओ यदि आवश्यक हो) हुक में।
आई ए टी का लाभ/मार्ग-परिवर्तन से अधिक खाते हैं हुक है कि आवेदन और हुक को हटाने के 100% सुरक्षित है (जैसा कि आप कोड की जगह नहीं कर रहे हैं, तो आप एक सूचक बदल रहे हैं, तो वहाँ एक दौड़ का कोई मौका नहीं है हालत), और देशी x64 प्रक्रियाओं पर भी हुक करना आसान है (जो माइक्रोसॉफ्ट की डेटोरस लाइब्रेरी तब तक नहीं कर सकती जब तक आप प्रोफेसर संस्करण के लिए 10 ग्रैंड नहीं निकालते)।
हां, तीसरे पक्ष के डिटोर पुस्तकालय हैं जिनके पास x64 समर्थन है और अधिकांश दौड़ की स्थिति का ख्याल रखना और क्या नहीं, लेकिन उनमें से कुछ वास्तव में महंगे हैं, और अन्य केवल काम करने के लिए दर्द हैं।
आईएटी/ईएटी हुक त्वरित और आसान हैं, और "विंडोज़ सी/सी ++" (इंटरवब्स पर स्थानों की भीड़ के साथ) पुस्तक में उन्हें प्रदर्शन करने के लिए नमूना कोड है।
यह एक काफी सामान्य जवाब मुझे पता है, लेकिन यह वास्तव में आप क्या करने की कोशिश कर रहे हैं क्या बारे में अधिक जानकारी के बिना और अधिक विस्तार में जाने के लिए मुश्किल है।
क्या आप अपनी प्रक्रिया के अंदर एक डीएलएल को हुक करने की कोशिश कर रहे हैं, या एक डीएलएल जिसे किसी अन्य प्रक्रिया में लोड किया गया है? –
एक डीएल में उपयोग किए जाने वाले सभी कार्यों को जोड़ने के लिए उपलब्ध रणनीतियों केवल उपयोग किए गए कार्यों में से एक को जोड़ने के लिए स्ट्रैटजीज़ से अलग हैं। प्रक्रिया रणनीतियों में प्रक्रिया रणनीतियों से अलग हैं। क्या आप कुछ और विवरण दे सकते हैं? –
हाँ, किसी अन्य प्रक्रिया से एक डीएलएल को हुक करने की कोशिश कर रहा है। उदाहरण के लिए कुछ इसी तरह की तरह opengl32.dll फ़ाइल को हुक करने और glbegin..glEnd और आदि को अवरुद्ध करने जैसा होगा ... – enuree