Android 简单的代码混淆
2014-11-11 13:51
295 查看
Android的代码混淆是开发者需要了解的相关知识,它能够防止android应用程序的反编译。因为android程序多数是java语言开发的,而java代码很容易被反编译,所以为了使android应用程序代码应用一定的安全性,进行android代码的混淆是非常有必要的。
在了解代码混淆之前,先了解android的反编译。进行android的反编译需要借助两个工具dex2jar和jd-gui。
1.代码的反编译
在两个工具准备好之后,将apk文件的直接解压。在解压后的文件中,将classes.dex复制到dex2jar的文件夹中。输入命令:dex2jar.bat classes.dex ,回车。在dex2jar文件夹中会生成classes_dex2jar压缩文件。用jd-gui打开该文件,即可看到android应用程序的源代码。
proguard.cfg
3.项目打包
右键工程,选择androidtools-export unsinged application package。对打包的apk进行反编译。
可以看到,代码都已经进行编译过了。未签名的apk包并不能够安装,还需要将apk进行签名。
在了解代码混淆之前,先了解android的反编译。进行android的反编译需要借助两个工具dex2jar和jd-gui。
1.代码的反编译
在两个工具准备好之后,将apk文件的直接解压。在解压后的文件中,将classes.dex复制到dex2jar的文件夹中。输入命令:dex2jar.bat classes.dex ,回车。在dex2jar文件夹中会生成classes_dex2jar压缩文件。用jd-gui打开该文件,即可看到android应用程序的源代码。
-ignorewarnings -libraryjars libs/android-support-v4.jar -libraryjars libs/gson-2.2.4.jar -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 com.android.vending.licensing.ILicensingService -keepclasseswithmembernames class * { native <methods>; } -keepclasseswithmembernames class * { public <init>(android.content.Context, android.util.AttributeSet); } -keepclasseswithmembernames class * { public <init>(android.content.Context, android.util.AttributeSet, int); } -keepclassmembers enum * { public static **[] values(); public static ** valueOf(java.lang.String); } -keep class * implements android.os.Parcelable { public static final android.os.Parcelable$Creator *; }
proguard.cfg
3.项目打包
右键工程,选择androidtools-export unsinged application package。对打包的apk进行反编译。
可以看到,代码都已经进行编译过了。未签名的apk包并不能够安装,还需要将apk进行签名。
相关文章推荐
- android 代码 混淆- 原来如此简单
- Android代码混淆,就这么简单
- android 代码 混淆- 原来如此简单
- android 代码 混淆- 原来如此简单
- android 代码 混淆- 原来如此简单
- android 代码 混淆- 原来如此简单
- android 代码 混淆- 原来如此简单
- 简单Android代码混淆(转)
- android 代码 混淆- 原来如此简单
- Android代码混淆的一个常用的简单例子
- Android代码混淆只需简单三步
- 简单方便的代码混淆(Android)
- Android 最简单的代码混淆
- android 代码 混淆- 原来如此简单
- android代码混淆- 原来如此简单
- Android常用代码混淆的简单解释
- Android 2.3 代码混淆proguard技术介绍
- android 代码混淆总结
- [Android]混淆Android代码
- 如何混淆Android项目代码(ProGuard),防止反编译