मैंने कुछ साल पहले एक क्लाइंट के लिए C # एप्लिकेशन लिखा था, लेकिन मेरे पास अब स्रोत कोड नहीं है। मेरे पास सभी EXE हैं जो मैंने क्लाइंट के पीसी पर तैनात किए हैं। वहाँ एक तरीका है मैं EXE से सी # स्रोत कोड उत्पन्न कर सकता है?
मैंने कुछ साल पहले एक क्लाइंट के लिए C # एप्लिकेशन लिखा था, लेकिन मेरे पास अब स्रोत कोड नहीं है। मेरे पास सभी EXE हैं जो मैंने क्लाइंट के पीसी पर तैनात किए हैं। वहाँ एक तरीका है मैं EXE से सी # स्रोत कोड उत्पन्न कर सकता है?
जवाबों:
परावर्तक और इसके ऐड-इन FileDisassembler ।
रिफ्लेक्टर स्रोत कोड को देखने की अनुमति देगा। FileDisassembler आपको इसे VS समाधान में बदलने की अनुमति देगा।
जब रेड गेट ने कहा कि अब .net रिफ्लेक्टर का कोई मुफ्त संस्करण नहीं होगा, तो मैंने ILSpy और Telerik के JustDecompile का उपयोग करना शुरू कर दिया । मैंने ILDpy को JustDecompile (जो अभी बीटा में है) की तुलना में अधिक सटीक रूप से विघटित करने के लिए पाया है। रेड गेट ने अपना निर्णय बदल दिया है और अभी भी .net रिफ्लेक्टर का एक नि: शुल्क संस्करण है, लेकिन अब मुझे ILSpy पसंद है।
ILSpy वेबसाइट ( https://github.com/icsharpcode/ILSpy/ ) से:
ILSpy एक ओपन-सोर्स .NET असेंबली ब्राउज़र और डिकंपाइलर है।
अपडेट करें:
15 अप्रैल, 2012, ILSpy 2.0 जारी किया गया था। संस्करण 1.0 के साथ तुलना में नई सुविधाएँ:
अपडेट करें:
परावर्तक अब सामान्य रूप से मुक्त नहीं है, लेकिन वे इसे मुक्त स्रोत डेवलपर्स के लिए मुफ्त में प्रदान करते हैं: http://reflectorblog.red-gate.com/2013/07/open-source/
लेकिन DevExtras और JetBrains जैसी कुछ कंपनियों ने मुफ्त विकल्प बनाए हैं:
परावर्तक और फ़ाइल डिस्सेम्बलर डेनिस बाउर से ऐड-इन। यह वास्तव में असेंबली से स्रोत परियोजनाओं का उत्पादन करता है, जहां रिफ्लेक्टर अपने आप में केवल असंतुष्ट स्रोत को प्रदर्शित करता है।
जोड़ा: मेरा नवीनतम पसंदीदा JetBrains ' dotPeek है ।
Telerik JustDecompile मुफ़्त है और इसमें .NET असेंबली से प्रोजेक्ट बनाने की सुविधा है।
मुझे आश्चर्य है कि किसी ने भी Microsoft की ildasm का उल्लेख नहीं किया है । यह ILSpy या परावर्तक के रूप में बहुत सुंदर नहीं हो सकता है, लेकिन यह विजुअल स्टूडियो के साथ आता है इसलिए कई डेवलपर्स के पास पहले से ही है।
इसे चलाने के लिए (वीएस 2013 को संभालने के लिए, अन्य संस्करणों के लिए समान होना चाहिए):
अब आप DLL संरचना को नेविगेट कर सकते हैं। IL देखने के लिए कक्षा के सदस्यों पर डबल-क्लिक करें। फ़ाइल को IL में निर्यात करने के लिए फ़ाइल> डंप का उपयोग करें।
आप रिफ्लेक्टर चाहते हैं ।