2012-03-15 17 views
5

मुश्किल होता नहीं इस लिंक के अनुसार: http://developer.android.com/guide/developing/tools/proguard.html, वे राज्य:Proguard Android एप्लिकेशन को

ProGuard रिवर्स इंजीनियर करने के लिए, यह महत्वपूर्ण है कि आप इसका इस्तेमाल जब आपके आवेदन विशेषताएं है कि के प्रति संवेदनशील हैं का इस्तेमाल आपके आवेदन कठिन बना देता है सुरक्षा जब आप अपने अनुप्रयोगों को लाइसेंस दे रहे हैं।

लेकिन यह सच नहीं है! मैं नवीनतम Proguard (4.7) एडीटी 17 पूर्वावलोकन 4. में शामिल उपयोग कर रहा हूँ मैं ProGuard का उपयोग करते हुए

proguard.config=proguard-android.txt 

मेरी project.properties में जोड़ने (ProGuard-android.txt द्वारा मेरे ऐप निर्यात सिर्फ डिफ़ॉल्ट शामिल सेटअप है एडीटी 17 में)।

लेकिन मैं आसानी से अपने apk इंजीनियर को बदलने सकते हैं, यह करने के लिए यह मूल इन चरणों का उपयोग कोड लौटा:

  1. उपयोग apk-उपकरण apk निकालने के लिए।

  2. उपयोग smali एक .dex में .smali फ़ाइलों को कनवर्ट करने

  3. (आप फ़ोल्डर, सामान्य रूप से अंदर/src/com/[companyname]/[APPNAME] .smali फ़ाइलों से युक्त करने के लिए smali बात)
  4. उपयोग dex2jar जिसके परिणामस्वरूप .jar फ़ाइल

तो मेरे सवाल है देखने के लिए एक .jar

  • उपयोग जद-जीयूआई में जिसके परिणामस्वरूप .dex फ़ाइल को रूपांतरित करने: क्या मुझसे कुछ गलत हो रही है? या प्रकोर्ड कोड को obfuscating पर पूरी तरह से बेकार है?

  • +0

    यह सिर्फ रिवर्स-इंजीनियर के लिए कठिन कहता है, लेकिन ऐसा करने के लिए यह असंभव नहीं है कि आपने जो किया है। मैं लोगों को मुख्य रूप से कोड आकार को कम करने के लिए इसका उपयोग करता हूं। –

    +0

    हाहा मुझे तब "आसान" की परिभाषा जानना अच्छा लगेगा। किसी भी ऐप को 4 कमांड में इंजीनियर किया जा सकता है! मैं ऐसा करने के लिए एक बंदर को प्रशिक्षित कर सकता था। –

    +0

    बस स्पष्ट करने के लिए, आप 'jd-gui' में क्या देख रहे हैं, और आप क्या देखने की उम्मीद करते हैं? क्या आप मूल कोड जैसे मोटे तौर पर देखते हैं, आपने इसे कैसे संकलित किया? क्या आप अपने तरीकों, आदि में मूल चर नाम देख रहे हैं? –

    उत्तर

    1

    यदि आप android.support का उपयोग कर रहे हैं। * संगतता पुस्तकालय यह किसी समस्या की जड़ हो सकती है। अपने ProGuard कॉन्फ़िग फ़ाइल में निम्नलिखित पंक्तियां जोड़ें: ProGuard मुद्दों का निदान करने के

    -dontwarn android.support.** 
    -keep class android.support.** { *; } 
    

    सबसे आसान तरीका है अपाचे चींटी के साथ एप्लिकेशन का निर्माण है। आप stderr में सभी चेतावनियां और त्रुटियां देखेंगे।

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

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