यह एक समस्या है जिसे हम सभी को किसी बिंदु पर विचार करना है।छोटे विक्रेताओं के लिए सॉफ्टवेयर सुरक्षा
कई सालों के बाद और कई दृष्टिकोण मैं सामान्य रूप से स्टेटरमेंट के साथ सहमत हूं: "कुछ सौ से अधिक लोगों द्वारा उपयोग किए जाने वाले किसी भी संरक्षित सॉफ़्टवेयर के लिए, आप एक क्रैक संस्करण प्राप्त कर सकते हैं। अब तक, प्रत्येक सुरक्षा योजना हो सकती है साथ छेड़छाड़।" Does your employer enforce the use of anti-piracy software?
आगे, हर बार जब मैं इस विषय के बारे में पोस्ट करता हूं, तो कोई मुझे याद दिलाएगा; "सबसे पहले, इससे कोई फर्क नहीं पड़ता कि आप किस प्रकार की सुरक्षा करेंगे, वास्तव में समर्पित क्रैकर, अंततः सभी सुरक्षात्मक बाधाओं से गुजरेंगे।" What's the best value for money c# code protection for a single developer
इसलिए इन दो व्यापक रूप से सही अस्वीकरण से बचने के लिए, "सुरक्षा" के बारे में बात करने दें!
मुझे अभी भी लगता है कि छोटे ऐप्स के लिए जो एक कुशल क्रैकर के समय और ध्यान को वारंट करने की संभावना नहीं है, सुरक्षा एक सार्थक अभ्यास है।
ऐसा लगता है कि आप क्या करते हैं, इससे कोई फर्क नहीं पड़ता कि क्रैकर एप्लिकेशन को पैच करके आईएफ स्टेटमेंट (जेएमपी) के परिणाम को स्विच कर सकता है, तो दुनिया में सभी पासवर्ड और डोंगल मदद नहीं करेंगे। http://www.oreans.com/codevirtualizer.php मैं इस उत्पाद के साथ बहुत खुश हैं:
तो मेरे दृष्टिकोण की तरह वर्चुअलाइजेशन का उपयोग कर उत्पादों के साथ कोड अंधेरा करना रहा है। मेरे ज्ञान के लिए यह हार गया है। मैं निष्पादन योग्य को पीईकंपैक्ट के साथ भी संपीड़ित कर सकता हूं क्या किसी और के पास इसका अनुभव है?
EXEcryptor http://www.strongbit.com/news.asp साथ लेकिन समस्याओं कुछ भी नहीं था यहां तक कि साइट का उपयोग करने के लिए एक सिरदर्द है। किसी भी WMI कॉल करते समय संकलित ऐप्स क्रैश हो जाएंगे।
यह दृष्टिकोण आप की जाँच कहानियो के साथ कोड के छोटे हिस्से के चारों ओर है और इस तरह की रक्षा सुरक्षा की अनुमति देता है आदि
मैं तो यह कोई मतलब नहीं है के रूप में आवेदन सर्वर नियमित रूप से से डेटा की जरूरत है, ऑनलाइन प्रमाणीकरण दृष्टिकोण का प्रयोग करें उपयोगकर्ता के लिए विस्तारित अवधि के लिए लाइन का उपयोग करने के लिए। परिभाषा के अनुसार, ऐप उस बिंदु पर बेकार है, भले ही यह क्रैक हो।
तो एक साधारण एन्क्रिप्टेड हैंडशेक बहुत अच्छा है। मैं इसे कभी-कभी obfuscation संरक्षण के भीतर जांचता हूं। यदि उपयोगकर्ता एक अलग मशीन पर ऐप इंस्टॉल करता है, तो लॉन्च पर एक नई आईडी अपलोड की जाती है और सर्वर पुरानी आईडी को अक्षम करता है और एक नया प्राधिकरण देता है।
मैं संकलित ऐप का हैश भी उपयोग करता हूं और इसे देखने के लिए लॉन्च पर जांचता हूं कि एक बिट बदल गया है या नहीं, फिर ऐप के अंदर से एक फ़ाइल को एक फ़ाइल (एक पढ़ने के लिए LOCK के साथ) खोलें ताकि इसे किसी एक बार बदलने से रोका जा सके। का शुभारंभ किया।
चूंकि सभी स्थैतिक तार .exe फ़ाइल में स्पष्ट रूप से दिखाई दे रहे हैं, इसलिए मैं त्रुटि संदेशों के साथ जेनेरिक होने का प्रयास करता हूं और आगे। आपको स्ट्रिंग "प्राधिकरण विफल" कहीं भी नहीं मिलेगा।
मेमोरी डंप के खिलाफ सुरक्षा के लिए, मैं एक साधारण पाठ obfuscation तकनीक (जैसे प्रत्येक चरित्र XOR की तरह) का उपयोग करता हूं, यह मेरिएबल में सादे पाठ डेटा को चर से अलग करने के लिए कठिन बनाता है और आगे।
तो निश्चित रूप से किसी भी डेटा के लिए एईएस वास्तव में संवेदनशील है।मुझे टेक्स्ट के लिए काउंटर मोड पसंद है क्योंकि इसके परिणामस्वरूप सफेद रिक्त स्थान के अनुक्रम जैसे अंतर्निहित डेटा को प्रकट करने वाले दोहराने वाले अनुक्रम नहीं होते हैं।
लेकिन इन सभी तकनीकों के साथ, यदि कुंजी या प्रारंभिक वेक्टर को स्मृति से हटाया जा सकता है, या IF कथन को छोड़ दिया जा सकता है, तो सब कुछ बर्बाद हो जाता है।
मैं एक सशर्त बयान के बजाय एक स्विच स्टेटमेंट का उपयोग करता हूं। फिर मैं एक दूसरा फ़ंक्शन बनाता हूं जो वास्तव में वांछित कार्य करने वाले फ़ंक्शन के बजाय एक मृत अंत होता है।
एक और विचार एक चर के साथ कोड पॉइंटर्स को कोड करना है। चर प्राधिकरण का परिणाम है (आमतौर पर शून्य)। यह किसी भी समय एक जीपीएफ के लिए अनिवार्य नेतृत्व होगा। कुछ निचले स्तर के प्राधिकरण विफल होने के बाद मैं केवल अंतिम उपाय के रूप में इसका उपयोग करता हूं अन्यथा वास्तविक उपयोगकर्ताओं को इसका सामना करना पड़ सकता है। फिर आपके सॉफ्टवेयर की प्रतिष्ठा कम हो गई है।
आप किस तकनीक का उपयोग करते हैं?
(यह एक धागा कुछ को लागू करने की योग्यता के आधार पर बहस नहीं है। यह उन है कि कुछ करने के लिए फैसला किया है के लिए डिज़ाइन किया गया है)
दरअसल, जब मैंने वर्तमान में उपलब्ध कुछ सॉफ़्टवेयर सुरक्षा उपकरण के बारे में हैकर्स फ़ोरम पर एक प्रश्न रखा, तो एक ने कहा: "कोड वर्चुअलाइज़र के बारे में, मैंने वर्चुअल ओपोड्स को असेंबलर भाषा में पूरी तरह से परिवर्तित करने के लिए कोडउन्वार्टाइज़र बनाया"। तो कोड वर्चुअलाइज़र वास्तव में पराजित किया गया है। लेकिन ऐसा कहा जाता है कि, यह उपकरण है जिसे मैं एएसपीआरओटीक्ट को प्रतिस्थापित करने के लिए चुन रहा हूं। अधिकांश अन्य कार्यक्रम बस एक्सई में बहुत अधिक जोड़ते हैं और एंटी-वायरस और एंटी-स्पाइवेयर झूठी सकारात्मक बनाते हैं। लिंक के लिए – smartins