ProGuard नाम कहानियो को प्रदान करता है: यह छोटा है, व्यर्थ नामों से कक्षाएं, विधियों, और क्षेत्रों के मूल नाम बदल सकते हैं। DexGuard अतिरिक्त रूप से स्ट्रिंग एन्क्रिप्शन और कक्षा एन्क्रिप्शन प्रदान करता है। एन्क्रिप्शन शब्द इस संदर्भ में भ्रमित हो सकता है, क्योंकि ये मूल रूप से अधिक आक्रामक प्रकार के obfuscation हैं। नामित तारों और कक्षाओं को कुछ जानबूझकर जटिल एन्क्रिप्टेड रूप में संग्रहीत किया जाता है, और रनटाइम पर चाबियाँ और एल्गोरिदम के साथ डिक्रिप्ट किया जाता है जो आवश्यक रूप से एप्लिकेशन के लिए उपलब्ध होते हैं। इसी तरह, Google Play बाजार एंड्रॉइड 4.1 के लिए पूरे एप्लिकेशन को एन्क्रिप्ट कर सकता है। रनटाइम पर्यावरण एक नियंत्रित फैशन में, इसे निष्पादित करने से पहले एप्लिकेशन को डिक्रिप्ट करता है।
(मैं ProGuard और DexGuard डेवलपर हूं - अगर आप रुचि रखते हैं संपर्क करने के लिए स्वतंत्र लग रहा है)
स्रोत
2012-11-07 23:21:48
हाय! आपके जवाब का धन्यवाद! हां, मैं DexGuard में एन्क्रिप्शन की परिभाषा के साथ भ्रमित हो गया। असल में, मेरी समझ यह है कि एन्क्रिप्शन एक गुप्त कुंजी के उपयोग के साथ डेटा बदलता है। हालांकि, यदि एक एंड्रॉइड एप्लिकेशन एन्क्रिप्ट किया गया है, तो Dalvik एन्क्रिप्टेड एप्लिकेशन को समझने में सक्षम नहीं होगा क्योंकि Dalvik में एप्लिकेशन के लिए डिक्रिप्टर नहीं है। निश्चित रूप से कुंजी के साथ एप्लिकेशन के अंदर एक डिक्रिप्टर संलग्न नहीं है। इस तरह, कक्षा को दलविक द्वारा संचालित होने से पहले ही आवेदन द्वारा डिक्रिप्ट किया जाएगा। क्या यह डेक्सगार्ड कैसे काम करता है? – Arci
क्या मैं एंड्रॉइड 4.1 के लिए Google Play की एन्क्रिप्शन के साथ डेक्सगार्ड का उपयोग कर सकता हूं? साथ ही, क्या प्रोजेवार्ड के साथ डेक्सगार्ड का उपयोग करने की सिफारिश की जाती है? मैं प्रोगुआर्ड के पेज पर ध्यान देता हूं कि डेक्सगार्ड कक्षाओं को प्राथमिकता नहीं देता है। यदि मैं डेक्सगार्ड का उपयोग करने जा रहा हूं तो मैं कक्षाओं को कैसे प्रभावित कर सकता हूं? धन्यवाद! : डी – Arci
सही। हां, बाहर से, एक संसाधित एप्लिकेशन अभी भी किसी अन्य एप्लिकेशन की तरह दिखता है; Google Play अभी भी इसे एन्क्रिप्ट कर सकता है। नहीं, आपको ProGuard और DexGuard को गठबंधन करने की आवश्यकता नहीं है, क्योंकि DexGuard पहले ही ProGuard की कार्यक्षमता प्रदान करता है। प्रीविरिफिकेशन केवल जावा माइक्रो संस्करण और जावा 6 के लिए आवश्यक है, एंड्रॉइड के लिए नहीं। –