2009-10-01 15 views
6

मैंने स्वयं को एक नया कार्य निर्धारित किया है जिसमें COM ऑब्जेक्ट्स पर "जासूसी" शामिल है।COM ऑब्जेक्ट्स पर जासूसी

यदि आप COM नहीं करते हैं, तो भी आप एपीआई हुकिंग तकनीकों से परिचित हैं जहां आप एक आयातित फ़ंक्शन पर हुक कर सकते हैं और मूल को कॉल करने से पहले अपना कोड निष्पादित कर सकते हैं। एपीआई हुकिंग कुछ हद तक जटिल है लेकिन यदि आप COM ऑब्जेक्ट विधियों पर हुक करने का प्रयास करते हैं तो यह जल्दी से गन्दा हो जाता है (उत्पादन कोड आईएमओ के लिए बहुत गन्दा)।

तो, फिलहाल, "मेरा काम" करने के लिए, मैंने CoCreateInstance के लिए एक एपीआई हुक सेट किया है और मैं उन इंटरफेस के लिए हाथ से लिखित प्रॉक्सी भेजता हूं जिनमें मुझे रूचि है। अब यह बहुत से इंटरफेस नहीं है लेकिन यह नहीं है या तो समाधान के सबसे अच्छे।

क्या यह एक साफ तरीके से ऐसा करने का कोई तरीका है, अधिमानतः एपीआई हुकिंग के बिना?

एक और नोट पर, यह आलेख http://www.ddj.com/windows/184416546?pgno=5 पर बहुत अच्छा काम प्रतीत होता है लेकिन बाइनरी अब और काम नहीं करता है (मुझे लगता है कि यह Win98 समय के आसपास लिखा गया था)। क्या कोई इसके आंतरिक को जानता है और मुझे इसे फिर से काम करने के लिए सही दिशा में इंगित कर सकता है?

धन्यवाद

उत्तर

2

मैं निश्चित रूप से निम्न स्तर के अवरोध करने के लिए कीथ ब्राउन के 'सार्वभौमिक प्रतिनिधि' का उपयोग करने की अनुशंसा करता हूं। किम ग्रासमैन द्वारा वर्णित कॉमट्रेस टूल इसका उपयोग करता है। यह आपको एक 'खोल' में एक मनमानी कॉम ऑब्जेक्ट लपेटने देता है जो अवरोध, लॉगिंग इत्यादि कर सकता है। सार्वभौमिक प्रतिनिधिमंडल का वर्णन करने वाले मूल लेख (कोड के साथ) here और here हैं।

यदि आप मनमाने ढंग से प्रक्रियाओं में कॉम ऑब्जेक्ट्स पर जासूसी करना चाहते हैं (जिसमें आपके पास स्रोत नहीं है) तो आपको CreateRemoteThread() या कुछ इसी तरह का उपयोग करके कोड इंजेक्शन भी करने की आवश्यकता होगी। एक लेख here है जो आपको शुरू हो सकता है यदि आपने पहले ऐसा नहीं किया है।

3

मैं एक निश्चित जवाब नहीं है, लेकिन मैं एक पुरुष जो

Jonas Blunck's उपकरण :) सकता है सभी विभिन्न स्तरों पर के बारे में अवरोधन, उसकी ComTrace कीथ ब्राउन की तकनीक पर आधारित है कर रहे हैं पता है, अगर मैं सही ढंग से याद करता हूं, और जो कुछ भी कर रहा है उसके समान लगता है, सिवाय इसके कि वह गतिशील रूप से इंटरफेस का ट्रैक रखने के लिए पार्सियों और शीर्षकों को पार्स करता है।

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

मुझे नहीं पता कि आप इसका क्या उपयोग करना चाहते हैं, लेकिन मेरा सुझाव है कि आप जोनास के टूल को देखें और उसे एक ई-मेल शूट करें - वह आपको सही दिशा में पेश करने में सक्षम हो सकता है।

संबंधित मुद्दे