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” 或扫描博客导航栏本人二维码

发布了97 篇原创文章 · 获赞 961 · 访问量 49万+

猜你喜欢

转载自blog.csdn.net/github_33304260/article/details/52932548