DLL फ़ंक्शन को कैसे देखें?


जवाबों:


73

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


1
VS के नए संस्करणों के साथ, DumpBin को एक बाहरी टूल के रूप में आज़माएं ।
लॉरी स्टर्न

डिपेंडेंसी वॉकर के बारे में एक विकिपीडिया लेख है। जाहिरा तौर पर कार्यक्रम पुराना हो गया है और विंडोज की कुछ नई विशेषताओं के साथ काम नहीं करता है, लेकिन एक प्रतिस्थापन उपलब्ध है: github.com/lucasg/D
dependencies

50

निशुल्क DLL Export Viewer का उपयोग करें , इसका उपयोग करना बहुत आसान है।


8
@sumit क्या आप अधिक विशिष्ट हो सकते हैं? यह उपकरण मेरे साथ वर्षों तक काम करता है।
केन डी

6
वास्तव में उपकरण अच्छा, सादा और सरल काम करता है, बस मुझे जो चाहिए।
informatik01

5
यह तरीकों / कार्यों की एक सूची उत्पन्न करने के लिए एक महान उपकरण है, लेकिन यह तरीकों के मापदंडों (और न ही उनके प्रकार) को नहीं दिखाता है।
bvdb

1
बहुत कुछ है कि छोटे और कॉम्पैक्ट है, और आधिकारिक एमएस उत्पादों की तरह कुछ फूला हुआ उत्पाद आमतौर पर कर रहे हैं करने के लिए बहुत अच्छा नहीं है।
ワ き ワ ワ

38

आप Visual Studio में ऑब्जेक्ट ब्राउज़र की कोशिश कर सकते हैं ।

कस्टम घटक सेट संपादित करें का चयन करें । वहां से, आप .NET, COM या प्रोजेक्ट लाइब्रेरी की एक किस्म से चुन सकते हैं या केवल ब्राउज़ के माध्यम से बाहरी dll आयात कर सकते हैं।


16
विजुअल स्टूडियो का कहना है कि ब्राउज़ और डीएलएल का चयन करते समय "चयनित घटक को ब्राउज नहीं किया जा सकता है": - - msdn.microsoft.com/query/…
Xdg

5
ऑब्जेक्ट ब्राउज़र में स्थानांतरित हो गया है View। और हाँ, यह काम नहीं करता है (यह क्यों होगा, यह microsoft है)
phil294

1
एक एमएस समस्या से अधिक विक्रेता। प्रोबबेल dll में कोई टाइपेलिब नहीं है। देखें: stackoverflow.com/a/13903040/1614903
होलकर बोहनेके

@ HolgerBöhnke कोई टाइपेलिब userdll32 में या तो
किममैक्स

2
@ किमैक्स हां, लेकिन user32.dll एक देशी विंडोज़ डीएलएल है और एक COM सर्वर नहीं है। केवल COM सर्वर (जैसे COM dlls, ActiveX नियंत्रण, * .ocx ...) संभवतः टाइपेलिब हैं, यदि वे पहले स्थान पर संकलित किए गए थे। मूल (= गैर COM ऑब्जेक्ट) के लिए DLL यहां वर्णित कुछ अन्य टूल (डंपबिन एट अल।) काम कर सकता है। यही है, अगर DLL निर्यात करता है तो यह नाम से funtions है, न कि केवल अध्यादेश द्वारा।
होल्गर बोन्हके

27

dumpbinकमांड-लाइन का उपयोग करें ।

  • dumpbin /IMPORTS <path-to-file> उस DLL में आयात किए गए फ़ंक्शन को प्रदान करना चाहिए।
  • dumpbin /EXPORTS <path-to-file> निर्यात करने वाले कार्यों को प्रदान करना चाहिए।

9

JetBrains द्वारा dotPeek का उपयोग करें।

https://www.jetbrains.com/decompiler/

dotPeek ReSharper पर आधारित एक फ्री टूल है। यह मज़बूती से किसी भी .NET असेंबली को C # या IL कोड में अपघटित कर सकता है।


तो यह .NET फ्रेमवर्क का उपयोग करके DLL के लिए विशिष्ट है?
जोएल बोडेनमैन

8

.NET DLL के लिए आप ildasm का उपयोग कर सकते हैं


चूंकि ildasm एक Microsoft उत्पाद है और यदि आप Visual Studio स्थापित है, तो डिफ़ॉल्ट रूप से PC पर स्थापित है। मेरा मानना ​​है कि यह सबसे अच्छा विकल्प है। इसमें UI भी है, इसलिए आपको कमांड लाइन का उपयोग करने की आवश्यकता नहीं है। धन्यवाद
Mehrdad Babaki

यह पाया जा सकता है: C: \ Program Files (x86) \ Microsoft SDKs \ Windows \ <VERSION> \ bin
f4d0

6

यह बताए बिना कि यह dll / असेंबली किस भाषा से है, हम केवल अनुमान लगा सकते हैं।

तो कैसे .NET रिफ्लेक्टर के बारे में


2
फिर यह आपका लड़का होना चाहिए।
एड्रियन स्टैंडर

1
.net परावर्तक मुक्त हुआ करता था, लेकिन अब यह एक वाणिज्यिक उत्पाद है। .Net dll के "जस्टडेकोम्पाइल" के लिए एक मुफ्त विकल्प है।
bvdb

decompiler केवल आपको बताता है कि क्या कार्य हैं। क्या हम उनके कार्यान्वयन को किसी दिन भी देख सकते हैं?
vipin8169

2

अगर एक DLL .NET भाषाओं में से एक में लिखा गया है और यदि आप केवल यह देखना चाहते हैं कि क्या फ़ंक्शन है, तो प्रोजेक्ट में इस DLL का संदर्भ है।

फिर संदर्भ फ़ोल्डर में DLL को डबल क्लिक करें और फिर आप देखेंगे कि OBJECT EXPLORER विंडो में इसके क्या कार्य हैं

यदि आप उस DLL फ़ाइल के स्रोत कोड को देखना चाहते हैं, तो आप .NET परावर्तक जैसे डिकम्पॉइलर एप्लिकेशन का उपयोग कर सकते हैं। आशा है कि यह आपकी मदद करता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.