2012-03-27 8 views
6

मैं कुछ अनुप्रयोगों का निर्माण कर रहा हूं और फैसला किया है कि यह मेरे कोड को एक obfuscator के माध्यम से चलाने का समय था। मैंने Eazfuscator.NET को डाउनलोड और उपयोग किया और फिर एप्लिकेशन इंस्टॉल करने के बाद मैंने आईएसपी डाउनलोड किया ताकि यह देखने के लिए कि प्रक्रिया कितनी अच्छी तरह से काम करती है।नेट Obfuscator समस्याएं

मुझे जो मिला वह यह था कि मैं अभी भी बहुत सारे कोड देख सकता हूं, उदाहरण के लिए मेरे पृष्ठभूमि कार्यकर्ताओं के कुछ हिस्सों में मेरे दिनचर्या पर अधिकांश तर्क था। हां तार बदल गए थे, लेकिन कुछ poritions जो मैं काफी महत्वपूर्ण मानता हूं वे दिखाई दे रहे थे।

उदाहरण के लिए जब मैं एप्लिकेशन प्रमाणीकरण कुंजी बनाता हूं तो कुछ चीजें हैं जिन्हें मैं अपनी एन्क्रिप्शन चलाने से पहले कुंजी से जोड़ता हूं। जब मैं असी को असेंबली देखने के लिए इस्तेमाल करता था तब ये आइटम दिखाई दे रहे थे। मेरी एन्क्रिप्शन लाइब्रेरी में पासफ्रेज छुपाया गया था, लेकिन मुझे लगता है कि यह अभी भी अधिक जानकारी है जितना कि मैं चाहता हूं कि कोई व्यक्ति देख सके।

मेरा सवाल है - क्या यह सामान्य व्यवहार है जब एक obfuscator का उपयोग करते हैं? या मुझे अन्य लोगों की कोशिश करनी चाहिए?

+0

मैं अन्य लोगों की कोशिश करेंगे। मैंने dotfuscator का उपयोग किया है और अनाम प्रकारों के अपवाद के साथ यह बहुत अच्छा करता है। वीएस -2010 में भी obfuscation है मुझे विश्वास है कि – Brian

+2

स्टैक ओवरफ़्लो में आपका स्वागत है! मैंने Eazfuscator का उपयोग किया और मुझे वास्तव में घना, कट्टर उत्पादन मिला। सुनिश्चित करें कि आप नवीनतम निर्माण का उपयोग कर रहे हैं। कुछ सेटिंग्स tweaking कोशिश करें। – ashes999

+0

मुझे बहुत कम सेटिंग्स दिखाई देती हैं। आप किसके बारे में बात कर रहे हैं? –

उत्तर

3

उपयोग Eazfuscator.NET बेहतर परिणाम प्राप्त करने के लिए के लिए सेटिंग्स निम्नलिखित:

अपने विधानसभा की जानकारी में
[assembly: Obfuscation(Feature = "code control flow obfuscation", Exclude = false)] 
[assembly: Obfuscation(Feature = "PEVerify", Exclude = false)] 
[assembly: Obfuscation(Feature = "encrypt symbol names with password mypassword", Exclude = false)] 
[assembly: Obfuscation(Feature = "encrypt resources [compress]", Exclude = false)] 

फ़ाइल

+0

आपके द्वारा सूचीबद्ध इन सेटिंग्स ने आउटपुट से बाहर आने वाली .exe फ़ाइल के लिए वास्तव में स्वागत किया है। हालांकि इसके साथ निर्मित क्लास लाइब्रेरी में असेंबली फ़ाइल में एक ही सेटिंग है लेकिन मैं अभी भी इसे थोड़ा सा देख सकता हूं, जैसे फंक्शन पैरामीटर। क्या कक्षा पुस्तकालय के लिए मुझे कुछ करने की ज़रूरत है? –

+0

क्या विधियां या संपत्तियां सार्वजनिक हैं?डिफ़ॉल्ट रूप से पुस्तकालय में सार्वजनिक रूप से obfuscated नहीं किया जा सकता है, क्योंकि वे उस पुस्तकालय को जोड़ने वाले किसी भी व्यक्ति के लिए सार्वजनिक रूप से दृश्यमान हैं। – Marcin

+0

हां विधियां सार्वजनिक हैं क्योंकि मैं एक ही लाइब्रेरी का उपयोग विभिन्न विभिन्न अनुप्रयोगों में करता हूं। क्या मैं यहां कुछ याद कर रहा हूं, मैं एक पुस्तकालय कैसे लिखूंगा जिसे मैं पुन: उपयोग कर सकता हूं लेकिन इसे अपवित्र किया जा सकता है? –

0

Crypto Obfuscator प्रयास करें - यह स्ट्रिंग एन्क्रिप्शन, नियंत्रण प्रवाह कहानियो सहित कहानियो तकनीकों का एक बहुत है, विधि कॉल छुपा, संसाधन संरक्षण, आदि जिसके परिणामस्वरूप कोड को पढ़ने और समझने में बहुत मुश्किल होती है।

अस्वीकरण: मैं LogicNP सॉफ्टवेयर, क्रिप्टो Obfuscator के डेवलपर के लिए काम करते हैं।

0

उन्नत obfuscation सुविधाओं असेंबली obfuscate करने के लिए प्रयुक्त होता है, इसलिए obfuscated .NET कोड समझने के लिए बहुत कठिन है या असंगत होने में विफल रहता है। हम कोड सुरक्षा के साथ .NET अनुप्रयोग और डीएलएल की रक्षा कर सकते हैं जो विधि स्तर कोड एन्क्रिप्शन, एंटी-रिवर्स इंजीनियरिंग, एंटी-डिबगिंग, एंटी-टैपरिंग, और और आपके असेंबली के अनधिकृत उपयोग और संशोधन को रोकने के लिए शामिल हैं।

मैं FxProtect - .Net Obfuscator का उपयोग कर रहा हूं। ये वाकई अच्छा हैं।

आप इसे करने की कोशिश कर सकते हैं ... .Net Obfuscator