• 使用ANT、Proguard混淆、发布与反编译Android应用



    FirstStep:下载ANT

    1、 下载后解压到D:\Program Files\apache-ant-1.9.1

    2、 新建ANT_HOME环境变量(D:\Program Files\apache-ant-1.9.1)

    3、 将ANT加入到path 路径(%ANT_HOME%\bin)

    第二步:拷入proguard.cfg到android项目,与标准版多了-dontwarnandroid.support.**   

    -keep class android.support.**{*;}两句,如果运行不出错,可用标准版

    -optimizationpasses 5

    -dontusemixedcaseclassnames

    -dontskipnonpubliclibraryclasses

    -dontpreverify

    -verbose

    -optimizations!code/simplification/arithmetic,!field/*,!class/merging/*

    -keep public class* extends android.app.Activity

    -keep public class* extends android.app.Application

    -keep public class* extends android.app.Service

    -keep public class* extends android.content.BroadcastReceiver

    -keep public class* extends android.content.ContentProvider

    -keep public class* extends android.app.backup.BackupAgentHelper

    -keep public class* extends android.preference.Preference

    -keep public classcom.android.vending.licensing.ILicensingService

     

    -keep classandroid.support.** {*;}

     

    -keepclasseswithmembernames class * {

        native <methods>;

    }

    -keepclasseswithmembers class * {

        public <init>(android.content.Context,android.util.AttributeSet);

    }

    -keepclasseswithmembers class * {

        public <init>(android.content.Context,android.util.AttributeSet, int);

    }

    -keepclassmembers class * extendsandroid.app.Activity {

       public void *(android.view.View);

    }

    -keepclassmembers enum* {

        public static **[] values();

        public static ** valueOf(java.lang.String);

    }

    -keep class *implements android.os.Parcelable {

      public static finalandroid.os.Parcelable$Creator *;

    }

     

     -dontwarnandroid.support.**

    第三步:项目操作

    1、 除主函数外建A、B两java类

    2、 进入workspace 输出android update project --name c -t 14 -p c更新项目,其中c为项目名,14为版本号 在项目中新增了build.xml、local.properties两文件

    第四步:申请keystore 请用管理员身份打开命令提示符

     

     

    第五步:将生成的android.keystore拷入项目key目录,新建ant.properties文件,输入proguard.config=proguard.cfg

     

    key.store=key/android.keystore

    key.alias=android.keystore

     

    key.store.password=xxxxxx

    key.alias.password=xxxxxx

     

     

    第六步:用命令提示符进入该项目下输入ant release (若最后出现Build succesfull及bin目录下生成有apk,则成功)

     

    第七步:下载反编译所需要的文件dex2jar、jd-gui,将之前生成的c-release.apk改名为c-release.zip,解压后取出其中的classes.dex,将之拷入dex2jar目录下,用命令提示符进入dex2jar目录并输入dex2jar.bat classes.dex,成功后将生成classes_dex2jar.jar,之后用jd-gui打开classes_dex2jar.jar即可看见其源文件(若混淆后的则悲剧了)

     

  • 相关阅读:
    Notepad++ 6.2.3 发布,开源文本编辑器
    Scrum项目如何获得管理层的支持和合作
    Concurrency Kit 0.2.13 发布,并发工具包
    Orubase:为Windows Phone、Android和iOS平台开发混合本地手机应用程序
    CyaSSL 2.4.6 发布,SSL 加密库
    谷歌移动应用强调设计元素:向极简风格转型
    Bitcoin 0.7.2 发布, 匿名数字货币
    Netty 3.5.11 发布
    LDAP Account Manager 4.0 发布
    Apache Commons Math 3.1 发布
  • 原文地址:https://www.cnblogs.com/dyllove98/p/3123032.html
Copyright © 2020-2023  润新知