2012-08-28 29 views
8

मैं वर्तमान में एक ऐसा एप्लीकेशन विकसित कर रहा हूं जहां उपयोगकर्ता को कोड को अपनाने से रोकना महत्वपूर्ण है। अब, मुझे इस तथ्य से अवगत है कि अनुभवी प्रोग्रामर द्वारा निष्पादित किए जाने पर अधिकांश .exes अक्षम नहीं हैं। हालांकि, मेरा लक्ष्य केवल "नियमित" उपयोगकर्ता से बुनियादी प्रोग्रामिंग ज्ञान से सुरक्षित रखने के लिए है।कन्फ्यूसर .NET Obfuscator। क्या ये सुरक्षित है?

मैं कई obfuscators में आया है, और मैं अभी उपयोग कर रहा हूँ कोडप्लेक्स Confuser है, जो आप here पा सकते हैं। चूंकि मैं कोई obfuscation गुरु नहीं है, या किसी भी उच्च स्तर के प्रोग्रामिंग के भीतर अनुभव किया है, मैं आपसे पूछ रहा हूँ कि क्या आप इस obfuscator की सुरक्षा के बारे में कुछ भी पता है।

+0

तो आप कैसे सुझाव देंगे कि मैं सॉफ़्टवेयर का कुछ कोड पहुंच योग्य नहीं कर सकता? जैसे कि मैं एन्क्रिप्शन को घुमाने वाले तरीकों को परिभाषित करता हूं, और कुछ फ़ाइलों में जानकारी छुपाता हूं। – Fredrik

+1

आप जानकारी छिपाना क्यों चाहते हैं? यदि आप छेड़छाड़ के बारे में चिंतित हैं, तो [सार्वजनिक कुंजी क्रिप्टोग्राफी] (http://en.wikipedia.org/wiki/Public-key_cryptography) (असममित सिफर) और [डिजिटल हस्ताक्षर] देखें (http: // en .wikipedia.org/wiki/Digital_signature)। – oldrinb

+0

इस प्रश्न को देखें: http://stackoverflow.com/questions/2478230/how-can-i-protect-my-net-assemblies-from-decompilation – niaher

उत्तर

8

मेरे अनुभव से Confuser इस पल में उल्टा करने के लिए सबसे कठिन (मुक्त) obfuscators में से एक है। कम से कम 1-क्लिक टूल द्वारा।

व्यक्तिगत रूप से मेरे पास कुछ समस्याएं थीं, अर्थात्, कुछ सेटिंग्स का उपयोग करते समय कुछ झूठी सकारात्मक बातें और कुछ मामलों ने मेरे .exe को चलाने में असमर्थ बनाया।

ध्यान रखें कि भले ही यह अन्य मुक्त विकल्पों की तुलना में विपरीत होने के लिए थोड़ा कठिन है, फिर भी अगर वह कुछ समय समर्पित करता है तो ऐसा करने के लिए अभी भी बहुत संभव है।

+0

क्या यह .NET परावर्तक द्वारा उपयोग किया जाता है (आंकड़ा जाना)? क्योंकि इसे परावर्तक में खोलने से मुझे यादृच्छिक यूनिकोड फ़ंक्शन नाम और –

+0

संदेह मिलता है, क्योंकि उस परिमाण के किसी प्रोग्राम के लिए एक मुक्त obfuscator का उपयोग करने से उन्हें केवल समस्याएं मिलेंगी। क्या आपने परावर्तक खोलने के लिए एक अलग कार्यक्रम का उपयोग करने की कोशिश की है? ILSpy एक अच्छा विकल्प है। – denied66

+0

हां, मैंने आईएलएसपी और आईडीए की कोशिश की। दोनों मुझे यादृच्छिक (यादृच्छिक नहीं, लेकिन उच्चारण वर्ण, प्रतीक, इत्यादि) फ़ंक्शन और varialbe नाम जैसे कि वे केवल यादृच्छिक बाइट डेटा हैं (लेकिन लोड के माध्यम से संगत है, इसलिए यह वास्तविक चर नाम है। इस तरह: 'कॉल ...: : परावर्तक। & ' –

4

एक obfuscator का उपयोग करना कोड को अपनाने के लिए बहुत कठिन बना देगा, लेकिन यह अभी भी सुरक्षित नहीं है।

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

+2

सच है, लेकिन ओपी ने कहा "हालांकि, मेरा लक्ष्य केवल" नियमित "उपयोगकर्ता से बुनियादी प्रोग्रामिंग ज्ञान से सुरक्षित रखने के लिए है।" जिस स्थिति में obfuscation बिल पूरी तरह से फिट बैठता है – Martin

+1

@ मार्टिन: हाँ, लेकिन उन्होंने यह भी कहा कि उपयोगकर्ता को कोड को अपनाने से रोकने के लिए यह महत्वपूर्ण था। अधिकतर नियमित प्रोग्रामर ऐसे टूल का उपयोग कर सकते हैं जो स्वतंत्र रूप से उपलब्ध हैं और इसके लिए एक समस्या होने के लिए पर्याप्त कोड को समझने का मौका है। – Guffa

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

  • कोई संबंधित समस्या नहीं^_^