2011-07-19 5 views
5

मैं एक WPF प्रिज्म आवेदन करने के लिए SmartAssembly अस्पष्टकर्ता का उपयोग कर कोड सुरक्षा लागू करने के लिए कोशिश कर रहा है, लेकिन यह आवेदन ठीक से काम करने के लिए जब समझ से परे जा रहा है मना कर दिया।
Obfuscator के "रोकें माइक्रोसॉफ्ट आईएल Disassembler मेरी विधानसभा खोलने से" विकल्प

ही एकमात्र विकल्प है कि काम करता है यह है के लिए: रोकें माइक्रोसॉफ्ट आईएल मेरी विधानसभा खोलने से Disassembler। SmartAssembly अपने विधानसभा कि माइक्रोसॉफ्ट के आम मध्यवर्ती भाषा (IL) Disassembler (ildasm.exe) अपने विधानसभा खोलने से रोकता एक विशेषता जोड़ सकते हैं:

लाल गेट्स मदद के रूप में यह वर्णन करता है।

मुझे आश्चर्य है कि यह सुरक्षा कितनी गंभीर है, अगर कोड वास्तव में खराब नहीं हुआ है तो इसे लागू करने के लायक है। या, दूसरे शब्दों में, यह माइक्रोसॉफ्ट की आम इंटरमीडिएट भाषा (आईएल) डिस्सेबलर (ildasm.exe) क्या है? क्या यह हर ज्ञात .NET रिवर्स इंजीनियरिंग उपकरण का मुख्य हिस्सा है या क्या यह ऐसे कई उपकरणों में से एक है?

उत्तर

9

ildasm.exe आईएल डिस्सेबलर है जो नेट फ्रेमवर्क के साथ आता है। यह एक ऐसा उपकरण है जिसे हर किसी के पास है। नेट। यह एक घटक नहीं है, इसलिए अन्य डिस्सेबलर इस पर आधारित नहीं हैं।

प्रश्न में विशेषता SuppressIldasmAttribute है। मुझे नहीं पता कि रिफ्लेक्टर या आईएलएसपी जैसे अन्य डिस्सेबलर्स इस विशेषता का सम्मान करते हैं, लेकिन मुझे शक है। एक सरसरी Google खोज से पता चलता है कि यह मामला नहीं है, और SuppressIldasmAttribute केवल ildasm.exe को ही प्रभावित करता है।

इस तरह, यह वास्तव में आपकी असेंबली की रक्षा नहीं करता है और यह एक obfuscation उपकरण के रूप में ज्यादा उपयोग नहीं है। लेकिन अगर आप किसी भी तरह से परेशान हैं, तो मुझे कोई कारण नहीं दिख रहा है कि आप इस विशेषता को क्यों लागू नहीं करेंगे, क्योंकि यह कम से कम सबसे आसान (सबसे अधिक उपलब्ध) विधि को अलग करता है और मुझे नहीं लगता कि इससे कोई नुकसान होता है।

+1

विशेषता 'System.Runtime.CompilerServices.SuppressIldasmAttribute' है, और यह परावर्तक को नहीं रोकती है। –

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