सबसे पहले, आप इसे किस भाषा में लिख रहे हैं? यह सच है कि एक क्रैक-सबूत प्रोग्राम हासिल करना असंभव है, लेकिन आप इसे हमेशा कठिन बना सकते हैं। आवेदन सुरक्षा के लिए एक बेवकूफ दृष्टिकोण का मतलब है कि एक कार्यक्रम मिनटों में क्रैक किया जा सकता है। कुछ टिप्स:
यदि आप वर्चुअल मशीन पर तैनात हैं, तो यह बहुत बुरा है। वहां कई विकल्प नहीं हैं। सभी लोकप्रिय vms (जावा, clr, आदि) decompile के लिए बहुत आसान हैं, और कोई obfuscator और न ही हस्ताक्षर पर्याप्त है।
अंतर्निहित प्रोग्राम के साथ जितना संभव हो सके यूआई प्रोग्रामिंग को कम करने का प्रयास करें। यह भी एक महान डिजाइन सिद्धांत है, और कोड को ट्रैक करने के लिए क्रूकर की नौकरी को कठिन बना देगा (उदाहरण के लिए अपनी सीरियल विंडो दर्ज करें) जहां आप वास्तव में चेक
यदि आप वास्तविक देशी मशीन कोड को संकलित कर रहे हैं, आप जितना संभव हो उतना उच्च अनुकूलन के साथ, हमेशा रिलीज के रूप में निर्माण को सेट कर सकते हैं (किसी भी डीबग जानकारी को शामिल नहीं करना महत्वपूर्ण है)। इसके अलावा आपके आवेदन के महत्वपूर्ण हिस्सों में (जैसे कि जब आप सॉफ़्टवेयर को मान्य करते हैं), इसे एक इनलाइन फ़ंक्शन कॉल करना सुनिश्चित करें, इसलिए आप विफलता के एक बिंदु से समाप्त नहीं होते हैं। और इस ऐप को अपने ऐप में कई अलग-अलग स्थानों से कॉल करें।
जैसा कि पहले कहा गया था, पैकर्स हमेशा सुरक्षा की एक और परत जोड़ते हैं। और जबकि अब कई विश्वसनीय विकल्प हैं, आप कुछ एंटी-वायरस प्रोग्रामों द्वारा झूठी सकारात्मक वायरस के रूप में पहचाने जाने को समाप्त कर सकते हैं, और सभी प्रसिद्ध विकल्प (उदा। यूपीएक्स) पहले से ही सीधे सीधा-आगे अनपॅकर्स हैं।
कुछ एंटी-डिबगिंग चाल हैं जिन्हें आप भी देख सकते हैं। लेकिन यह आपके लिए परेशानी है, क्योंकि कुछ समय में आपको रिलीज एप्लिकेशन को डीबग करने की भी आवश्यकता हो सकती है!
ध्यान रखें कि आपकी प्राथमिकता आपके कोड का महत्वपूर्ण हिस्सा यथासंभव अवांछनीय बनाना है। साफ़-पाठ तार, लाइब्रेरी कॉल, गुई तत्व, आदि ... वे सभी बिंदु हैं जहां एक हमलावर आपके कोड के महत्वपूर्ण हिस्सों का पता लगाने के लिए उपयोग कर सकता है।
यदि सॉफ्टवेयर कुछ भी लायक है तो आप किसी भी तरह से क्रैक होने जा रहे हैं। क्या आप वाकई चेक/सक्रियण की एक और परत जोड़कर उपयोगकर्ताओं के लिए अनुभव को और खराब करना चाहते हैं? (जहां तक मैं समझता हूं, आपके पास पहले से ही ऑनलाइन सक्रियण और कुंजी है ... जो पर्याप्त लगता है) "क्रैक-सबूत" सॉफ़्टवेयर एक मिथक है - यह बाहर नहीं जा सकता है। – viraptor
मुझे इस विषय पर विभिन्न चर्चाओं में से एक पर अच्छा लगेगा। यह सवाल एक * बहुत * – spender
मेरी सलाह देता है? करियर स्विच करें: पी –