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

本文介绍了如何使用ANT构建、混淆Android应用,并详细阐述了Proguard的配置文件内容,包括对android.support库的处理。接着,文章详细描述了从创建项目、申请keystore到生成release APK的步骤。最后,讲解了如何通过dex2jar和jd-gui对APK进行反编译,查看混淆后的源代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


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即可看见其源文件(若混淆后的则悲剧了)

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值