2012-02-29 15 views
12

जिस ऐप पर मैं काम कर रहा हूं वह स्वचालित रूप से एंटीएलवीएल द्वारा क्रैक किया गया है (हालांकि मैं अपने ऐप में एलवीएल का उपयोग नहीं कर रहा हूं)।"एक-क्लिक समुद्री डाकू" का विरोध करने के लिए मुझे कोड कैसे करना चाहिए?

"एक-क्लिक समुद्री डाकू" से मेरे ऐप की सुरक्षा के लिए, मैं tampering detection techniques explained at Google IO लागू कर रहा हूं।

मैंने getPackageInfo() और प्रतिबिंब (invoke()) के साथ हस्ताक्षर की जांच करने का प्रयास किया है, लेकिन एंटीएलवीएल दोनों मामलों में स्वचालित रूप से ऐप को क्रैक करने में सक्षम था।

मैं कोड कैसे लिख सकता हूं जो स्वचालित रूप से एंटीएलवीएल (1.4.0) के वर्तमान संस्करण द्वारा क्रैक नहीं किया जाएगा? मेरा मतलब है, जेएनआई का उपयोग करने के अलावा।

पीएस: मैं सामान्य रूप से समुद्री डाकू को रोकने के बारे में बात नहीं कर रहा हूं। मैं सिर्फ एक स्वचालित क्रैकर का उपयोग करने के बजाय समुद्री डाकू को कोड में खोदना चाहता हूं।

उत्तर

1

समस्या यह है कि, कोई भी एपीआई जो केवल आपके आवेदन की वैधता की जांच करने के लिए कार्य करता है उसे बदला जा सकता है और उस संस्करण के साथ प्रतिस्थापित किया जा सकता है जो हमेशा आपके द्वारा अपेक्षित परिणाम देता है। मैंने एंटी-एलवीएल को विस्तार से नहीं देखा है, लेकिन मुझे लगता है कि यह ऐसा कर रहा है, यही कारण है कि इस उद्देश्य के लिए दलविक के अंतर्निहित एपीआई का उपयोग करके आपके कोड को सत्यापित करने के आपके प्रयास विफल रहे हैं।

इसे काम करने के लिए, आपको केवल एपीआई का उपयोग करके स्वयं को काम करना होगा, जिसमें कई उद्देश्यों हैं और इसे आसानी से नहीं बदला जा सकता है।

ऐसा करने का एक तरीका है कि आप अपनी .apk फ़ाइल या बस के अंदर class.dex फ़ाइल के चेकसम की गणना करें, और कुछ बाहरी संसाधनों के खिलाफ सत्यापित करें (ज्ञात सही संस्करणों की सूची के साथ ऑनलाइन सर्वर, फ़ाइल डाउनलोड की गई है एसडी कार्ड पहले निष्पादन, इत्यादि, .apk फ़ाइल में संसाधन जो class.dex में शामिल नहीं है)। यह कोड संशोधन को रोकता है, जो मुझे विश्वास है कि एंटी-एलवीएल कैसे काम करता है। मैंने खुद यह कोशिश नहीं की है, लेकिन संदेह है कि इसे काम करना चाहिए।

+0

उत्तर देने के लिए धन्यवाद। एंटीएलवीएल एक सुंदर सॉफ्टवेयर है। स्वच्छ, शक्तिशाली, अच्छी तरह से सोचा और अनुकूलन योग्य। यह "सरल" है कि आपको "बस" कोड लिखने की आवश्यकता है जिसे grep-and-replace नियमों (एक अलग xml फ़ाइल में प्रदान किया गया) द्वारा पकड़ा नहीं जाएगा। हालांकि, मेरे पास असामान्य स्माली उत्पन्न करने के तरीके सीखने के लिए पर्याप्त समय नहीं है। मेरे कोड में, एंटीएलवीएल मेरे सभी चेकसम प्रयासों को अनदेखा और नफरत करने में सक्षम था। – tos

+0

मुझे नियमों के "प्रतिस्थापन" भाग को समझने के लिए पर्याप्त स्माली नहीं है (यह जानना उपयोगी होगा कि दृश्यों के पीछे क्या होता है)। मैंने कई उद्देश्यों के एपीआई के बारे में आपके बिंदु के बारे में सोचा था। मैंने सॉफ्टवेयर में एक खनन क्षेत्र लगाने के बारे में सोचा: क्रैकिंग प्रोग्राम कार्यक्रम का एक महत्वपूर्ण हिस्सा निकाल देगा, जो या तो इसे दुर्घटनाग्रस्त कर देगा या इसे बेकार बना देगा। अब तक मुझे कुछ भी नहीं मिला। – tos

0

से The Presentation Notes समुद्री डाकू बच रहा है और पिशाच रोक

कुछ बुनियादी keypoints

कृपया ध्यान दें, लिंक मैं हमेशा जो भी कारण के लिए है कि विशिष्ट स्लाइड पृष्ठ संख्या पर ले नहीं होगा प्रदान की है के अंत में #:r.page.X। यदि ऐसा नहीं होता है, तो ध्यान दें और मैन्युअल रूप से ब्राउज़ करें।

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