zoukankan      html  css  js  c++  java
  • 使用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即可看见其源文件(若混淆后的则悲剧了)

     

  • 相关阅读:
    瀑布流
    进度条
    图片延迟加载、scroll
    scroll 滚动广告
    json
    样式更改
    js 不同浏览器的宽度获取
    孤立点挖掘算法
    数据结构算法代码
    深入浅出JMS(一)--JMS基本概念
  • 原文地址:https://www.cnblogs.com/dyllove98/p/3123032.html
Copyright © 2011-2022 走看看