2010-06-15 19 views
19

निष्पादित कैसे करूं मेरे पास एक डीएलएल फ़ाइल है और इसे विंडोज पर निष्पादित करना है। मैंने इस डीएलएल को एक चैलेंज साइट से प्राप्त किया जो आरोप लगाता है कि डीएलएल को स्वतंत्र रूप से निष्पादित किया जाना चाहिए।मैं * .dll फ़ाइल

+2

"यह मैं है, Leclerc" – Galwegian

+3

आप इसे निष्पादित करने के लिए कहा गया था, तो उन लोगों से पूछें जिन्होंने आपको दिया, हमें नहीं। एलो एलो मजाक के लिए –

+0

@Galwegian +10। – Salgar

उत्तर

26

डीएलएल में कार्यों को चलाने के लिए, पहले यह पता लगाएं कि वे फ़ंक्शन किसी भी पीई (Portable Executable) विश्लेषण प्रोग्राम (उदा। Dependency Walker) का उपयोग कर रहे हैं। फिर this syntax साथ RUNDLL32.EXE का उपयोग करें:

RUNDLL32.EXE <dllname>,<entrypoint> <optional arguments> 

dllname पथ और अपने dll फ़ाइल का नाम है, entrypoint समारोह नाम है, और वैकल्पिक तर्क समारोह तर्क

0

डीएलएल फाइलें इस अर्थ में निष्पादन योग्य नहीं हैं कि .EXE/.COM/.BAT फ़ाइलें निष्पादन योग्य हैं, इसलिए मुझे यकीन नहीं है कि आपका क्या मतलब है।

आप डीपीएलएल से पूछताछ करने के लिए विंडोज एसडीके के साथ आने वाले निर्भरता वॉकर एप्लिकेशन का उपयोग कर सकते हैं और देख सकते हैं कि फाइल द्वारा कौन से फ़ंक्शंस निर्यात किए जाते हैं।

+0

संपादित पोस्ट देखें ... – vs4vijay

+3

डीएलएल केवल EXE फ़ाइलों के रूप में निष्पादन योग्य हैं। वे पीई प्रारूप पर आधारित हैं और वास्तव में केवल एक बिट से अलग हैं। – Ron

4

आप एक समारोह एक में परिभाषित निष्पादित कर सकते हैं कर रहे हैं rundll कमांड का उपयोग करके डीएलएल फ़ाइल। आप Dependency Walker का उपयोग करके उपलब्ध कार्यों का पता लगा सकते हैं।

-4

कदम की आगामी श्रृंखला उपयोगी हो सकता है:

  1. खुला Windows Explorer
  2. ऊपरी-बाएं कोने में, क्लिक करें "व्यवस्थित करें"
  3. चयन "फ़ोल्डर और खोज विकल्प"
  4. स्विच "व्यू" टैब
  5. नीचे स्क्रॉल करें और "ज्ञात फ़ाइल प्रकारों के लिए फ़ाइल एक्सटेंशन छुपाएं" अनचेक करें
  6. ठीक क्लिक करें
  7. अब
  8. उस पर राइट क्लिक करें और "नाम बदलें"
  9. बदलें एक्सटेंशन (क्या पिछले . के बाद है) का चयन करें और .exe
+1

कुछ विवरण धारणा के आधार पर बाहर निकल सकते हैं। मान्य धारणा क्योंकि चूंकि उपयोगकर्ता इस प्रश्न को पोस्ट करने में सक्षम था और इसलिए कंप्यूटर और इंटरनेट का उपयोग करता था "इसलिए उसे पता होना चाहिए"। "राइट-क्लिक करें" और "नाम बदलें का चयन करें" पर क्लिक करें, ठीक है आदि –

+0

पर क्लिक करें हालांकि प्रश्न में स्वयं "execute" शब्द शामिल है, लेकिन यह न्यूनतम प्रयास के साथ-साथ एक डीएल को एक्सई में परिवर्तित करने के लिए संदर्भित नहीं करता है। चीजें बस इस तरह काम नहीं करतीं, एक विस्तार बदलती हैं और जादू होती है। निष्पादन का अर्थ है डीएल में एक विधि का आह्वान करना। यही कारण है कि मैंने -1 दिया। – ozanmuyes

+0

उपरोक्त से भी वही कारण। उद्देश्य डीएल को समझना है, जादू से कोशिश करने के लिए कोशिश मत करो। –

0

के लिए इसे बदल dll फ़ाइल खोजने के लिए आप नहीं कर सकते हैं " निष्पादित करें "एक डीएलएल। जैसा कि अन्य उत्तरों में बताया गया है, आप डीएलएल के भीतर कार्यों को निष्पादित कर सकते हैं। हालांकि .EXE फ़ाइलें और डीएलएल फाइलें प्रारूप के संदर्भ में अनिवार्य रूप से समान हैं, एक .EXE की विशिष्ट विशेषता यह है कि इसमें जाने के लिए नामित "प्रविष्टि बिंदु" होता है और ऐसा करने के लिए EXE बनाया गया था। डीएलएल में वास्तव में कुछ समान होता है, लेकिन "डीएल मुख्य" का उद्देश्य केवल प्रारंभिक प्रदर्शन करना है और डीएलएल के प्राथमिक उद्देश्य को पूरा नहीं करना है; यह (अनुमानतः) इसमें शामिल कई अन्य कार्यों के लिए है।

आप डीएलएल द्वारा निर्यात किए गए किसी भी फ़ंक्शन को निष्पादित कर सकते हैं, यह मानते हुए कि आप जानते हैं कि आप कौन सा निष्पादित करना चाहते हैं; एक EXE में बहुत सारे फ़ंक्शन हो सकते हैं, लेकिन एक और केवल एक को विशेष रूप से इसे "चलने" द्वारा निष्पादित करने के लिए नामित किया जाता है।

0

एक .dll चलाने के लिए file..First पता लगाने के कार्य क्या हैं यह exporting..Dll फ़ाइलों कार्यों निर्यात Category..To में निर्दिष्ट पता निष्पादित करें कि क्या यह उल्लेख "filealyzer" आवेदन निर्यात कर रहा है कार्य करते है .. यह आपको "पीई निर्यात" श्रेणी के तहत निर्यात समारोह दिखाएगा .. फ़ंक्शन नाम - फिर कमांड प्रॉम्प्ट खोलें, टाइप करें Rundll32 dllname, functionname (dllname - your dll का नाम) (फ़ंक्शननाम - पीई निर्यात के तहत मिले फ़ंक्शन का नाम) नोट: यह सुनिश्चित करें कि आपका कमांड प्रॉम्प्ट स्थान आपका डीएलएल फ़ाइल स्थान

0

जबकि कई लोगों ने इंगित किया है कि आप सीधे डीएल निष्पादित नहीं कर सकते हैं और इसके बजाय निर्यात किए गए कार्यों को निष्पादित करने के लिए rundll32.exe का उपयोग करना चाहिए, यहां एक वास्तविक डीएलएल फ़ाइल का एक स्क्रीनशॉट है एक निष्पादन योग्य की तरह:

enter image description here

आप dll फ़ाइलों को सीधे नहीं चल सकते हैं, मुझे लगता है कि यह एक WinAPI समारोह CreateProcess का उपयोग कर किसी अन्य प्रक्रिया से उन्हें चलाने के लिए संभव है:

https://msdn.microsoft.com/en-us/library/windows/desktop/ms682425(v=vs.85).aspx

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