मैं कैसे पता लगा सकता हूं कि किस प्रोग्राम ने इंस्टॉल किया है या एक विशिष्ट डीएलएल फाइल का उपयोग कर रहा है?


9

मुझे एक सर्वर की SYSTEM32 निर्देशिका में DLL फ़ाइल मिली है, जो मुझे यकीन नहीं है कि मुझे वास्तव में ज़रूरत है।

Google ने मुझे बताया है कि यह सामान्य रूप से किसके लिए उपयोग किया जाता है, लेकिन इस सिस्टम पर सॉफ़्टवेयर कभी भी इंस्टॉल नहीं किया गया है। फिर भी, मैं यह संभव मानता हूं कि सर्वर पर अन्य इंस्टॉल किए गए उत्पादों में से एक में फ़ाइल शामिल हो सकती है (और इसलिए, अनुमानतः, आवश्यकता होगी)।

मैंने फ़ाइल के नाम के लिए रजिस्ट्री के माध्यम से एक खोज की, और कुछ स्ट्रिंग के लिए भी मैंने फ़ाइल के मेटाडेटा में पाया, और मैं कुछ भी जानकारीपूर्ण नहीं कर सका। (हालांकि ACMru कुंजी ने मेरी आंख को पकड़ लिया, जब तक मुझे पता नहीं चला कि यह किस लिए है ।)

क्या कुछ और है जो मैं कर सकता हूं, सिस्टम को स्वयं यह बताने के लिए कि प्रोग्राम ने DLL को क्या स्थापित किया है, और / या क्या स्थापित प्रोग्राम (यदि कोई हो) उसका उपयोग करेगा?

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

जवाबों:


5

मैं उस तारीख को जाँचता हूँ जिसे सिस्टम पर रखा गया था और तुलना करने के लिए सिस्टम में मौजूद अन्य फाइलों के साथ उसकी तुलना करें। खोज आपको तिथि तक संपूर्ण प्रणाली को खोजने की अनुमति देनी चाहिए।

इसके अलावा, फ़ाइल का नाम यहां पोस्ट करने से कुछ लोग यहां से परिचित होंगे जो आपके लिए इसे पहचान सकते हैं।


धन्यवाद। मैं किसी अन्य प्रश्न में फ़ाइल का नाम पोस्ट कर सकता हूं। मैं चाहता था कि यह एक सामान्य हो ताकि इसे ऐसे उत्तर मिलें जो किसी भी DLL फ़ाइल के लिए उपयोग किए जा सकते हैं।
इज़्ज़ी

4

आप% SystemRoot% \ Installer फ़ोल्डर में प्रत्येक .MSI फ़ाइल की संभावित जाँच कर सकते हैं। विंडोज इंस्टॉलर के माध्यम से स्थापित होने वाले सभी (?) प्रोग्राम अपने एमएसआई को यहां जोड़ देंगे ताकि बाद में उन्हें अनइंस्टॉल किया जा सके। फ़ोल्डर में आमतौर पर एक टन सामान होता है। यदि / एक बार जब आप MSI पैकेजों के उन असंख्यों में से dll पा लेते हैं, तो आपको पैकेज को एक अच्छी तरह से परिभाषित नाम पर वापस मैप करना होगा।

एक स्क्रिप्ट का उपयोग करके msi फ़ाइलों को विघटित करने के लिए, आप इस VBS उपकरण का उपयोग करने का प्रयास कर सकते हैं http://www.hanselman.com/blog/HowToListAllTheFilesInAnMSIInstallerUsingVBSciript.aspx या आप MSIDiff (जिसका मैंने कभी उपयोग नहीं किया है) http: // //dennisbareis.com/msidiff.htm । बेशक, उपकरण स्थापित न करने की बाधाओं को देखते हुए, बाद वाला उस संबंध में आवश्यक काम नहीं करेगा। अगर पूर्वलेख स्थापित है तो पूर्व।

उत्तरार्द्ध उपकरण उपयुक्त GUID या MSI फ़ाइलनाम के लिए मैन्युअल रूप से रजिस्ट्री की खोज किए बिना पैकेज नाम मैपिंग आपके लिए कर सकता है। यदि आप जानते हैं कि किस तालिका / स्तंभ को संदर्भ के लिए (मुझे नहीं लगता) पैकेज नाम को डंप करने के लिए पूर्व टूल को संशोधित किया जा सकता है।

वीबीएस स्क्रिप्ट बस डेटाबेस के नजरिए से एमएसआई फाइल की जांच करती है। मुख्य कार्य इसके साथ किया जाता है: database.OpenView ("फ़ाइल से फ़ाइल का नाम चुनें")।


क्या यह बहुत महंगा नहीं है, उन सभी को स्थापित करने के बराबर? मेरे विंडोज 8 पर वे 412 आइटम हैं, मेरे विंडोज 7 पर वे 559 हैं और मुझे लगता है कि उनके पास एक समान राशि थी। इसके अलावा, फ़ाइल किसी msiइंस्टॉलेशन से नहीं आई होगी ...
तमारा विज्समैन

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

मुझे आश्चर्य है कि अगर ऐसे उपकरण हैं जो केवल MSI फ़ाइलों के अंदर देखने के बजाय उन्हें विघटित / विघटित कर सकते हैं। किसी भी तरह से, एक और नए प्रश्न में ओपी ने हम एक ऐसी फाइल के बारे में बात कर रहे हैं जो पहले से ही इंस्टॉलेशन समय से हमारे सिस्टम पर है ...
तमारा विज्समैन

टॉम, मुझे पूरा यकीन है कि यह vbs केवल डेटाबेस दृश्य से MSI की जांच करता है। MSI बस एक db है। यह उपकरण उपयुक्त तालिका से फ़ाइलनाम निकालने के लिए SQL का उपयोग करता है। यह प्रति se "decompile" नहीं करता है और मुझे इसे अपने पोस्ट में निर्दिष्ट करना चाहिए। मैं संशोधित करूंगा।
लॉजिस्कॉपिक

1

प्रक्रिया मॉनिटर आपके लिए यह कर सकता है। बस DLL के नाम से फ़िल्टर करें और जब कोई प्रोग्राम इसे लोड करने का प्रयास करता है तो एक प्रविष्टि आएगी जिसमें उल्लेख किया गया है कि कौन सी प्रक्रिया खोज रही है और / या आपके द्वारा उल्लिखित DLL तक पहुँच प्राप्त कर रही है।

आपको एक बूट लॉग (मेनू में बूट लॉगिंग सक्षम करें, फिर रिबूट और खुली प्रक्रिया की निगरानी फिर से करने की कोशिश करनी चाहिए) जो प्रोग्राम और सेवाओं को बूट पर लोड करने के लिए आवश्यक है।


किसी भी निष्क्रिय कार्यक्रमों के बारे में क्या? ऐसा लगता है कि मुझे कंप्यूटर पर हर संदिग्ध प्रोग्राम को खोलना होगा और इसके लिए प्रोसेस मॉनिटर में देखना होगा।
इज़्ज़ी

@ इज़ी: जैसा कि चैट पर बताया गया है, उन्हें या उनके इंस्टॉलर को एनुमरेट करने में लंबा समय लगेगा। प्रक्रिया एक्सप्लोरर के साथ, सक्रिय रूप से उल्लेखित रूप से मॉनिटर करें। या ऐसे Music2myear का उल्लेख करें, जो आसानी से Search सब कुछ के साथ किया जा सके।
तमारा विज्समन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.