android项目反编译和混淆

关于反编译
所用工具为:apktool 
用途:反编译xml和一些静态资源(如图片),业界内常通过此来获取UI资源。
操作步骤:1:下载apktool并安装(最好配置PATH环境变量)
 2:运行命令 apktool d xxx.apk  D:/temp/
运行完后会在D:/temp下产生反编译的内容
所用工具:dex2jar、jadgui
用途:反编译工程的源代码
操作步骤:1:下载dex2jar、jadgui
2:将要反编译的apk文件,改格式为zip或rar用压缩程序打开,取出里面的classes.dex
3:对取出的classes.dex运行 dex2jar classes.dex (注意路径)
运行后,在classes.dex同目录产生classes_dex2jar.jar
4:用jadgui.exe 打开所生成的classes_dex2jar.jar就可以看到源码了(混淆后的代码的包名、类名、字段名会是a、b、aa、bc之类的)
关于android项目混淆
所用工具:proguard(google自2.3开始支持)
操作步骤:1:将project.properties中proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt这句的注释打开
2:将proguard-project.txt文件内容改为:
-injars      bin/classes
-injars      libs
-outjars     bin/classes-processed.jar
-libraryjars D:/android-sdk_r12-windows/android-sdk-windows/platforms/android-7/android.jar


-dontpreverify
-repackageclasses ''
-allowaccessmodification
-optimizations !code/simplification/arithmetic
-keepattributes *Annotation*
-dontwarn android.support.**
-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 com.baidu.mapapi.*
-keep class com.baidu.mapapi.** {*; }
-keep class com.baidu.platform.** {*; }
-keep class com.baidu.location.** {*; }
-keep class com.baidu.vi.** {*; }


-keep public class * extends android.view.View {
    public <init>(android.content.Context);
    public <init>(android.content.Context, android.util.AttributeSet);
    public <init>(android.content.Context, android.util.AttributeSet, int);
    public void set*(...);
}


-keepclasseswithmembers class * {
    public <init>(android.content.Context, android.util.AttributeSet);
}


-keepclasseswithmembers class * {
    public <init>(android.content.Context, android.util.AttributeSet, int);
}


-keepclassmembers class * implements android.os.Parcelable {
    static android.os.Parcelable$Creator CREATOR;
}


-keepclassmembers class **.R$* {
    public static <fields>;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值