Android反编译与加密(代码混淆)

Posted 先知丨先觉

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android反编译与加密(代码混淆)相关的知识,希望对你有一定的参考价值。

#反编译
win系统好久不用了而且win系统下的反编译工具和教程一大堆,这里讲讲Mac下反编译工具。
目前,mac下有两款工具不错,分别是Jadx和androidDecompiler

这里介绍一下Jadx:
Jadx下载地址:https://pan.baidu.com/s/1jH3XUFc

1.下载Jadx
2.运行 bin/jadx-gui ,选择APK文件
3.可以看到Java源码,选择 File -> Save ALL 即可保存文件

#Android 加密
java字节码的特殊性导致Apk被反编译特别简单,上面我们也看到了。因此,为了能够编译好的java class进行保护,通常使用Proguard来对APK进行混淆处理,用无意义的字母来重命名类,字段,方法,属性。当然Proguard不仅仅可以要用来混淆代码,还可以删除无用的类、字段、方法、属性,以及删除没用的注释,最大限度优化字节码文件。
在Android Studio中,可以非常方便的使用ProGuard,在Gradle Scripts文件夹下,打开build.gradle(Moudle:app)文件,显示如下:

	buildTypes
		release
			minifyEnable flase
			proguardFiles getDefaultProguardFile('proguard-android.txt'),'proguard-rules.pro'
		
	

这里的minifyEnable是控制是否开启ProGuard,属性为true,即可打开ProGuard功能。proguardFiles属性用于配置混淆文件,它分为两个部分,一个是系统默认的混淆文件,它位于<SDK 目录>/tools/proguard/proguard-android.txt目录下,大部分情况使用这个就可以了;后面一部分是项目自定义的混淆文件,可以在项目app下找到这个文件。


这个文件里可以引入第三方依赖包的混淆规则,配好之后导出APK即可生成混淆。

扫码关注公众号“伟大程序猿的诞生“,更多干货新鲜文章等着你~

公众号回复“资料获取”,获取更多干货哦~

有问题添加本人微信号“fenghuokeji996” 或扫描博客导航栏本人二维码

以上是关于Android反编译与加密(代码混淆)的主要内容,如果未能解决你的问题,请参考以下文章

Android 反编译工具

Android apk如何加固防止被破解(防止逆向编译)

如何防止代码被反编译

Android APK加密原理与演示

java代码混淆

Android proguard代码混淆