2011-09-05 18 views
5

वर्तमान में मैं एंड्रॉइड विकास में नौसिखिया हूं .. मुझे एक सुरक्षित एंड्रॉइड एप्लिकेशन विकसित करने की आवश्यकता है ताकि मैं इसे गेटटेग पाइरेटेड से बचा सकूं।एंड्रॉइड कोड obfuscation और सुरक्षित एंड्रॉइड एप्लिकेशन चोरी से

  1. एक सीरियल नंबर उत्पन्न (कुछ यादृच्छिक संख्या)
  2. आरएमएस में उस नंबर को बचाने, अगले पर:

    आवेदन की सुरक्षा के लिए मैं J2ME.In जे 2 एमई में आरएमएस का इस्तेमाल किया है मैं निम्न चरणों का पालन करने के लिए उपयोग करें आवेदन के शुभारंभ स्क्रीन पर एक ही सीरियल नंबर को प्रदर्शित करने और उपयोगकर्ता सही सक्रियण कोड दर्ज करने पर उपयोगकर्ता इनपुट मान्य सक्रियण के लिए कोड तो पूछना तो आवेदन सक्रिय करता है और ध्वज सही पर सेट किया जाता है और मैं अन्य आरएमएस में इस ध्वज मूल्य को बचाने

  3. यदि ध्वज मान सत्य है तो होम स्क्रीन को पर उपयोगकर्ता को प्रदर्शित किया जाता है फिर से ऐप लॉन्च करने के लिए सक्रियण पृष्ठ प्रदर्शित होता है।

मैं एंड्रॉइड में इस अवधारणा को कार्यान्वित करना चाहता हूं .. कृपया मुझे मार्गदर्शन करें कि यह कैसे करें। या मुझे बताएं कि क्या कोई शरीर एंड्रॉइड में ऐसा करने के लिए कुछ बेहतर तरीका जानता है।

दूसरा, मैं आवेदन जारी करने से पहले एपीके फ़ाइल को खराब करना चाहता हूं .. उसके बाद 2 दिनों के लिए गोगलिंग के बाद मुझे पता चला कि यह प्रोगार्ड का उपयोग करके किया जा सकता है। लेकिन मुझे कोड को खराब करने का तरीका नहीं मिल रहा है। कृपया गाइड करें और मेरी मदद करें दोनों मुद्दों को हल करना।

धन्यवाद

उत्तर

4

वहाँ नहीं वास्तव में क्लाइंट-साइड कोड किसी भी प्रकार की रक्षा के लिए एक रास्ता है, चाहे वह एक Android * .apk, एक जावा * .jar फ़ाइल, या कि चलाता है जावास्क्रिप्ट कोड का एक सा है आपके उपयोगकर्ता के ब्राउज़र में। समुद्री डाकू से खुद को बचाने का सबसे अच्छा तरीका यह है कि एप्लिकेशन आपके द्वारा प्रदान की जाने वाली कुछ सर्वर-साइड गणना पर निर्भर करता है।

चूंकि आप आरएमएस का उपयोग कर रहे हैं, ऐसा लगता है कि आपको पहले से ही सर्वर-साइड गणना की आवश्यकता है। उपयोगकर्ताओं को सक्रियण कोड दर्ज करने के लिए परेशान करने के बजाय, जब आप एप्लिकेशन खरीदते हैं तो आप इस सक्रियण कोड को उपयोगकर्ता के ईमेल पते से संबद्ध क्यों नहीं करते हैं, और फिर आप अपने Google खाते से OAuth का उपयोग क्यों नहीं करते हैं यह सत्यापित करने के लिए कि उपयोगकर्ता के पास है ईमेल पता जिसे एप्लिकेशन खरीदा गया है?

+0

लेकिन ऐसा करने के लिए मुझे इंस्टॉलेशन प्रमाणीकृत करने के लिए एक webservice की आवश्यकता होगी – Hisenberg

+0

@Shrey, हाँ, यह सही है। –

+1

सर्वर पक्ष का उपयोग किए बिना आवेदन की सुरक्षा विकसित करने का कोई तरीका नहीं है ?? – Hisenberg

0

एंड्रॉइड में आरएमएस के समानांतर साझा संदर्भ हैं। हालांकि, साझा की गई xml फ़ाइल जे 2 एमई (कम से कम कुछ उपकरणों में) में आरएमएस फ़ाइलों के रूप में संरक्षित नहीं है। जड़ वाले डिवाइस वाला कोई भी व्यक्ति आसानी से इस फ़ाइल को पढ़ और लिख सकता है ...

इसलिए, मेरा सुझाव है कि आप एंड्रॉइड के एप्लिकेशन लाइसेंसिंग के बारे में पढ़ लें। यह बिल्कुल सही नहीं है, लेकिन यह एक निर्मित सुविधा है जिसे आप आसानी से एकीकृत कर सकते हैं। http://developer.android.com/guide/publishing/licensing.html

संपादित करें: कहानियो: अपनी परियोजना तुम सब करने की है, तो अपने default.properties फाइल करने के लिए proguard.config=proguard.cfg जोड़ने है अंधेरा करने के लिए।

अपमान proguard.cfg फ़ाइल में उल्लिखित कॉन्फ़िगरेशन के अनुसार obfuscation होगा। ध्यान दें कि जब आप अंतिम एपीके (एंड्रॉइड टूल्स -> निर्यात ...) बनाते हैं तो आपका कोड केवल खराब हो जाएगा ...) और मैं अंतिम APK परीक्षण कहानियो के बाद की सलाह देते हैं, खासकर जब 3 पार्टी libs निर्माण प्रक्रिया

+0

क्या आप कृपया साझा करने का तरीका बता सकते हैं पसंद ? – Hisenberg

+0

http://developer.android.com/guide/topics/data/data-storage.html#pref – IncrediApp

+0

क्या हम एंड्रॉइड में आरएमएस के रूप में काम करने के लिए स्क्लाइट का उपयोग नहीं कर सकते? – Hisenberg

3
  • बारे में आरएमएस

माइकल हारून Safyan सब कुछ, जोड़ने के लिए कुछ भी नहीं कहा का हिस्सा हैं।

  • ProGuard

ProGuard बारे में अब Android ढांचे को एकीकृत, और मूल रूप से भी नहीं करना पड़ता स्थापित होने है। आपको बस इसे as explained in this article सक्षम करना होगा और यदि इसकी कॉन्फ़िगरेशन को अनुकूलित करने के लिए आवश्यक हो। "यदि आवश्यक हो", क्योंकि डिफ़ॉल्ट कॉन्फ़िगरेशन अधिकांश परियोजनाओं के लिए उपयुक्त है। अगर आपको अधिकांश पैकेज, कक्षाओं और विधियों के रूप में प्रतिबिंब का नाम बदलना है, तो आपको केवल उपयोग के साथ सावधान रहना होगा।

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