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即可生成混淆。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券