2013-03-01 10 views
6

मुझे पता है कि एक डीएल को एक सी ++ कोड में उलटा करना असंभव है, इसलिए मैं इससे जितना संभव विवरण एकत्र करना चाहता हूं। यह मेरा डीएल नहीं है, इसलिए मेरे पास पाठ्यक्रम का स्रोत कोड नहीं है। मुझे किस कार्यक्रम का उपयोग करना चाहिए?सी ++ कोड में डीएलएल को कैसे उलटें?

+1

एक लोकप्रिय बाइनरी रिवर्स इंजीनियरिंग उपकरण आईडीए प्रो है - एक मुफ्त संस्करण है, जो कि सबसे बुनियादी जरूरतों के अनुरूप है। – datenwolf

+2

क्या आपको कुछ समझ है कि डीएलएल क्या करता है? यह कितना बड़ा है? क्या आप जानते हैं कि मूल रूप से यह कौन सी भाषा लिखी गई थी? आप वास्तव में क्या हासिल करने की कोशिश कर रहे हैं? –

+1

मैंने टैग के रूप में कुछ "कुंजी वाक्यांश" जोड़े। उनकी तलाश करें। –

उत्तर

12

अच्छा, यदि आप कुशल हैं तो आप डीएलएल को अलग कर सकते हैं और इसके सभी कार्यों को समझ सकते हैं। इसमें काफी समय लगता है, लेकिन यदि आप ऐसा करते हैं तो आप इसे वापस स्रोत से वापस कर सकते हैं।

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

+3

कोई भी, मूर्ख लोगों को छोड़कर जिनके हाथ में बहुत अधिक समय है * सब कुछ * रिवर्स होगा। आप हमेशा आईडीए जैसे कुछ के साथ जाते हैं और आपको रुचि रखने वाले कॉल पथ का पालन करते हैं। इसके अलावा, आप आईडीए में निर्यात देख सकते हैं। मध्यस्थ की कोई ज़रूरत नहीं है। +1 अभी भी – 0xC0000022L

+2

हर किसी के पास आईडीए नहीं है, या इसे सीखना चाहता है। इसलिए, मैं निर्भर जानकारी प्राप्त करने के लिए निर्भरता वॉकर को एक बहुत ही सरल तरीका के रूप में सुझाव देता हूं। (बेशक, यदि आप आईडीए में अच्छे हैं, तो आप निश्चित रूप से वहां सब कुछ कर सकते हैं :)) – nneonneo

1

आपको एक पीई फ़ाइल दर्शक की आवश्यकता है। यह आपको डीएलएल से निर्यात बताएगा और आप मशीन कोड देखने के लिए .text अनुभाग में डेटा प्राप्त कर सकते हैं।

2

आप dumpbin उपकरण का उपयोग करके निर्यात किए गए कार्यों की सूची देख सकते हैं। यदि सी ++ फ़ंक्शंस निर्यात किए जाते हैं, तो आप नाम मैंगलिंग द्वारा पैरामीटर का अनुमान लगाने में सक्षम हो सकते हैं।

आप विजुअल स्टूडियो में संसाधन देखने के लिए फ़ाइल के रूप में इसे "खोलने" के द्वारा डीएलएल से सभी संसाधन निकाल सकते हैं। यदि डीएलएल एक COM आधारित DLL है, तो टाइप लाइब्रेरी को इसके अंदर संसाधन के रूप में एम्बेड करने का एक छोटा सा मौका है। और यदि आपके पास टाइप लाइब्रेरी है, तो आप इसे सार्वजनिक इंटरफेस के लिए हेडर फ़ाइलों का पुनर्निर्माण करने के लिए # आयात कर सकते हैं।

यह जितना अच्छा हो उतना अच्छा है।

+1

मैं इस बात से असहमत हूं कि यह जितना अच्छा हो उतना अच्छा है - यह सब निर्भर करता है कि आपके पास कितना समय/कौशल/प्रयास उपलब्ध है। Nneonneo का जवाब देखें। – JBentley

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