2009-08-24 6 views
17

मेरे पास एक पुराना डीएलएल है जो काम करना बंद कर देता है (log2vis.dll) और मैं यह देखने के लिए अंदर देखना चाहता हूं कि यह किस ऑब्जेक्ट्स का उपयोग करता है।
डीएलएल सी ++ (.NET नहीं) में लिखा गया था। क्या कोई ऐसा उपकरण है जो सी ++ फ़ाइलों को विघटित/अलग कर देगा?सी ++ स्रोत कोड में डीएलएल को किस उपकरण को डीकंपाइल कर सकते हैं?

+0

यह डुप्लिकेट नहीं है। दूसरा सवाल विशेष रूप से प्रो * सी/सी ++ के बारे में पूछता है जो उनके आरडीएमएस सिस्टम लिखने और पढ़ने के लिए ओरेकल भाषा है। और क्या है, दूसरा प्रश्न ऑफ-विषय के रूप में बंद कर दिया गया था। यह सवाल मान्य है और मेरी राय में एक जवाब का हकदार है। – Blisterpeanuts

उत्तर

21

यह असंभव या कम से कम बहुत कठिन हो सकता है। डीएलएल की सामग्री सी ++ में लिखी जाने पर निर्भर नहीं है (बहुत कुछ); यह सब मशीन कोड है। उस कोड को अनुकूलित किया गया हो सकता है इसलिए मूल स्रोत कोड में मौजूद बहुत सारी जानकारी बस चली गई है।

ने कहा, here एक ऐसा लेख है जो ऐसा करने के बारे में बहुत सारी सामग्री के माध्यम से जाता है।

4

मुझे लगता है कि एक सी ++ डीएलएल एक मशीन कोड फ़ाइल है। इसलिए decompiling केवल असेंबलर कोड में परिणाम होगा। यदि आप इसे पढ़ सकते हैं और उस से C++ बना सकते हैं तो आप जाने के लिए अच्छे हैं।

+3

पहले से ही ऐसा कुछ नहीं है जो कुछ हद तक उस मशीन कोड फ़ाइल को सी या सी ++ में मैप कर सकता है? – FidEliO

3

वास्तव में ऐसा करने का कोई तरीका नहीं है क्योंकि अधिकांश उपयोगी जानकारी संकलन प्रक्रिया में त्याग दी जाती है। हालांकि, आप यह देखने के लिए this site पर एक नज़र डालना चाहते हैं कि आप DLL से कुछ निकालने का कोई तरीका ढूंढ सकते हैं या नहीं।

5

कोई डिकंपेलर नहीं हैं जिन्हें मैं जानता हूं। W32dasm अच्छा Win32 डिस्सेबलर है।

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