आप फाइल सिस्टम पर एक फ़ाइल का उपयोग नहीं कर सकते हैं। कोई भी जो इसे बेकार/क्रैक करना चाहता है वह बुनियादी, मानक ओएसएक्स सुविधाओं के माध्यम से फ़ाइल एक्सेस को ट्रैक करने के तरीके के बारे में जानने के लिए पर्याप्त स्मार्ट होगा। तो एक फाइल जोड़ा जा रहा है। इतना ही नहीं, लेकिन उन फ़ाइलों को बनाने का बुरा व्यवहार है जिन्हें आप अनइंस्टॉल करते समय हटा नहीं पाते हैं। लोगों को अपने परीक्षण ऐप को हटाने के बाद संसाधनों का उपभोग नहीं करना चाहिए।
जैसा ऊपर बताया गया है, आपके बंडल में गड़बड़ करना भी एक बुरा विचार है। यह आपको तीन मौलिक विकल्पों के साथ छोड़ देता है।
1) इसके बारे में चिंता न करें। एक मानक समाप्ति प्रणाली का उपयोग करें जो मानक स्थानों और विधियों का उपयोग करता है। आप अभी भी आपके द्वारा संग्रहीत डेटा में एन्क्रिप्शन का उपयोग कर सकते हैं, लेकिन जानते हैं कि वह भी टूटा जाएगा। स्वीकार करें कि कॉपीराइट उल्लंघन तब तक नहीं होगा जब तक कि आपका ऐप पूरी तरह से अलोकप्रिय न हो।
2) नेटवर्क कॉल का उपयोग करें और सर्वर पर सत्यापन करें। इसके लिए ऐप को हमेशा चलाने के लिए आपकी सेवा तक पहुंचने में सक्षम होना आवश्यक होगा। यह सामान्य रूप से एक अच्छा विचार नहीं है। क्या होगा यदि आपके सर्वर नीचे हैं? क्या होगा अगर वे ऑफलाइन हैं? क्या होगा यदि आपके और उनके बीच एक नेटवर्क समस्या होती है? उन सभी परिदृश्य होने जा रहे हैं। जब वे करते हैं तो आप संभावित रूप से ग्राहकों को खो देंगे जब तक कि आपके ऐप को पहले से ही संचालित करने के लिए आपके सर्वर से कनेक्शन की आवश्यकता न हो (जैसे ट्विटर या फेसबुक कहें)।
3) आवेदन बंडल के साथ मिलकर या अनाथ फाइलों को छोड़कर "खराब नागरिक" बनें। यदि आप इसे बाद में करते हैं, कम से कम सुनिश्चित करें कि वे स्पष्ट रूप से नामित हैं ताकि वे आपके आवेदन से स्पष्ट रूप से संबंधित हों।
आखिरकार याद रखने की महत्वपूर्ण बात यह है कि आपके पास उपयोगकर्ता की मशीन पर कोई सुरक्षा नहीं है। यह उनका है। इसका मतलब है कि उनके पास भौतिक पहुंच है जो उन्हें खोदने से रोकने के किसी भी प्रयास को बहुत कम करता है। आप इसे इस तरह से भी देख सकते हैं: आपके बाजार में अधिक तकनीकी रूप से दिमाग में, हम सभी की तुलना में अधिक स्मार्ट होने जा रहे हैं और आपकी "सुरक्षा" क्रैक हो जाएगी।यदि आप एक गैर-तकनीकी श्रोताओं के लिए डिज़ाइन कर रहे हैं तो आप यह समझ सकते हैं कि आम तौर पर बोलते हुए वे इसे क्रैक करने से परेशान नहीं होंगे, या एक की तलाश करेंगे।
आप ऐप को बेहतर बनाने के लिए अपने संसाधनों को खर्च कर सकते हैं, या लोगों को परीक्षण अवधि के दौरान इसका उपयोग न करने वाले लोगों के बारे में बेहतर महसूस कर सकते हैं। उनमें से एक आपकी बिक्री बढ़ा सकता है, और कोई नहीं करेगा।
[संपादित करें] मुझे यह भी इंगित करना चाहिए कि इन चीजों को क्रैक करने का सबसे आम (यदि सबसे आम नहीं है) बाइनरी को संशोधित करना है। तो बंडल मकिंग के माध्यम से कोड हस्ताक्षर तोड़कर आप वास्तव में उस विधि को स्वयं खोलेंगे क्योंकि आप अपने पास बेहतर सुरक्षा में से एक तोड़ चुके होंगे। अधिकांश दरारों में बाइनरी को संशोधित किया जाता है जैसे चेक जो नियमित रूप से सफल प्रमाणीकरण देता है।
स्रोत
2010-08-30 20:35:37
एप्लिकेशन बंडल के भीतर इसे संग्रहीत करना उपयोगकर्ता के लिए बाधा डालने के लिए * थोड़ा * कठिन हो सकता है। यह निर्भर करता है कि आप कितनी अच्छी सुरक्षा चाहते हैं। – David
यह बहुत अच्छा होना चाहिए क्योंकि मैं नहीं चाहता कि उपयोगकर्ता – Daniel
की समाप्ति के बाद एप्लिकेशन का उपयोग करने में सक्षम हो, मैं सिर्फ NSUserDefaults encodeObject को देख रहा था: के लिए: शायद वे पर्याप्त होंगे? – Daniel