2009-08-17 11 views
7

डॉटफस्केटर कैसे काम करता है? मैंने अपनी कुछ कक्षाओं को खराब करने की कोशिश की और इसका नाम बदलकर विधियों/वर्ग को ए, बी, सी आदि में बदल दिया गया लेकिन मैं अभी भी उन विधियों के अंदर कोड देख सकता हूं? क्या यह है कि, मैं कुछ गलत कर रहा हूँ?डॉटफस्केटर कैसे काम करता है?

क्या ऐसी कोई चीज है जो मेरी असेंबली को पूरी तरह से अवरुद्ध करने से रोकती है?

उत्तर

7

जिस तरह से यह काम करना है। आपका कोड अभी भी सुलभ है, समझने के लिए और भी मुश्किल है। यदि आप कुछ "मजबूत" चाहते हैं, तो Xenocode PostBuild पर एक नज़र डालें।

+0

यह निश्चित रूप से डॉटफुस्केटर से बेहतर काम करता है। धन्यवाद। – Bhaskar

+0

सुनिश्चित करें कि आप सादा obfuscation और PostBuild के कुछ विकल्पों (मूल बाइनरी समर्थन की तरह) के बीच मतभेदों को समझते हैं। आप देशी बाइनरी के साथ .NET ढांचे की बहुत लचीलापन खो देते हैं। –

+0

क्या ज़ेनोकोड प्रोग्राम की गति/आकार को प्रभावित करेगा? क्या यह एप्लिकेशन को 100% मूल बाइनरी, उर्फ ​​को संकुचित करने के लिए लगभग असंभव है? – Phoexo

1

डॉटफुस्केटर बस डिकंपील्ड स्रोत को पढ़ने के लिए कठिन बनाता है - यह स्वयं को अपघटन को रोकता नहीं है।

4

आप नहीं रोक सकते हैं एक de-कोडांतरण .net


+0

-1: आप डी-असेंबली को अवरुद्ध कर सकते हैं, मेरे जवाब पर नज़र डालें। Xenocode PostBuild का उपयोग करना अपने .NET अनुप्रयोग को देशी बाइनरी में संकलित कर सकते हैं। –

+2

@ जोन, तो यह अब .NET नहीं है, बिंदु 100% .NET exe के साथ है, आप इसे – Fredou

+0

ब्लॉक नहीं कर सकता ओपी कहता है, "क्या ऐसी कोई चीज है जो मेरी असेंबली को पूरी तरह से ब्लॉक करने से रोकती है?" और जवाब हाँ है, वहां है। –

1

में यदि आप व्यावसायिक है या गोल्ड Dotfuscator आप अपने assebmlies खोलने से परावर्तक कार्यक्रम ब्लॉक कर सकते हैं।

+1

यदि ऐसा किया जाता है तो आप कोड को अलग करने के लिए ILDASM का उपयोग कर सकते हैं, फिर "मेरा कोड न दिखाएं" विशेषता को हटा दें, फिर इसे वापस ILASM हटा दें। परावर्तक अब आपको इसे देखने देगा। :) – David

+0

पेशेवर या गोल्ड भी कोड obfuscation का समर्थन करता है जो – Earlz

2

दुर्भाग्यवश, किसी को आपकी असेंबली को प्रतिबिंबित करने और इसे अपने स्रोत कोड में अलग करने से रोकने का कोई तरीका नहीं है। डॉटफुस्केटर जैसे ऑब्फस्केशन टूल किसी को वास्तव में अलग-अलग कोड को पढ़ने के लिए काफी कठिन बना देंगे, जहां लगभग सभी मानव-पठनीय नामों को अर्थहीन प्रतीकों से प्रतिस्थापित किया जा सकता है।

यदि आप कहीं भी अपना कोड जारी कर रहे हैं, अगर कोई पर्याप्त निर्धारित है तो वे इसे रिवर्स-इंजीनियर कर पाएंगे। सबसे अच्छा आप ऐसा करने के लिए अपने समय के लायक नहीं बना सकते हैं।

2

विजुअल स्टूडियो के साथ आने वाला संस्करण सीमित है और यदि आप ग्राहक साइटों पर कुछ तैनात करने की आवश्यकता है तो मैं पूर्ण पैमाने पर obfuscation के लिए इस पर भरोसा नहीं करता। एक निःशुल्क जिसे आप देखना चाहते हैं Eazfuscator.net है।

+0

पढ़ने के लिए कोड को बहुत कठिन बनाता है Eazfuscator.NET अब और अधिक प्रतीत नहीं होता है ... यह $ 39 9 अब है ... – Sorskoot

13

कोड obfuscation कक्षाओं, सदस्यों और चर के सरल नामकरण से परे अच्छी तरह से चला जाता है, हालांकि यह इसका एक महत्वपूर्ण हिस्सा है।

उदाहरण के लिए, Dotfuscator एक पेटेंट तकनीक अधिभार प्रेरण कहा जाता है, जहां कई तरीके एक ही नाम नाम दिया जाता है का उपयोग करता है (यह जब तक वे अलग हस्ताक्षर है के रूप में संभव है)। पूर्व समाधान समाधान उन मामलों को उद्धृत करते हैं जहां कोड में सभी विधियों का एक तिहाई नाम बदलकर() किया जाता है। अन्य तकनीकों में रिकर्सन के साथ-साथ code morphing के रूप में सरल पुनरावृत्तियों को फिर से लिखना शामिल है।

दरअसल, आधुनिक obfuscation तकनीक कम से कम हाथ से, रिवर्स-इंजीनियर के लिए लगभग असंभव कोड बनाने के लिए पूरी तरह से पर्याप्त हैं। हालांकि यह सच है कि .NET असेंबली सिद्धांत में कभी भी आरई-सुरक्षित नहीं हो सकता है, obfuscation एक सुंदर भयानक बाधा प्रदान कर सकता है।

हम में से अधिकांश के लिए, यह पर्याप्त है।

+0

धन्यवाद ... अच्छी जानकारी। – Bhaskar

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