使用ProGuard进行Android代码混淆(保姆级教程)

本文详细介绍了如何使用ProGuard进行Android应用的代码混淆,包括ProGuard的四大功能:压缩、优化、混淆和预检。通过开启ProGuard并配置build.gradle文件,可以实现代码的混淆,保护应用的安全性。混淆后,变量名被替换为无意义的字符,增加逆向工程的难度。在proguard-rules.pro文件中可以设置保留或忽略的类和规则。
摘要由CSDN通过智能技术生成

使用ProGuard进行Android代码混淆(保姆级教程)

一、ProGuard的功能

ProGuard是一个混淆代码的开源项目,主要是用来对java代码进行混淆,当然也就可以对java代码进行混淆,ProGuard主要有四个功能:压缩(Shrink),优化(Optimize),混淆(Obfuscate)和预检(Preveirfy)。

压缩: 就是将代码中没用的东西给删掉,比如你留下的没用的但是忘记删除的一些测试代码或者无用的类等。

优化: 对字节码进行优化删除无用的指令。

混淆: 使用cuyjno(这是我用脸在键盘上摩擦打出来的)等无意义的名称对类,字段和方法进行命名。

预检: 检查处理后代码能否正确执行。

ProGuard的这四个步骤都是可选的,我们可以通过配置脚本来决定执行其中的哪几个步骤。

二、开启ProGuard

如果要开启proguard,我们首先要把下面这个东西给添加到build.gradle中(这个是:app下的build.gradle,初学者可能会搞错),一般来说,Android studio会自动帮我们给添加好了,然后我们把这个minfyEnable改为true。就像下面这样。

buildTypes {
        release {
            minifyEnabled true
            shrinkResources true
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }

当我们创建Android项目时,Android studio已经帮我们生成了proguard-rules.pro的文件(在Gradle Scripts下面)

在这里插入图片描述

我们可以在这个文件里面写入一些规则,比如哪些类需要保留,哪些类不保留,然后我们打包apk

我们将apk打包好后放到逆向软件中,然后进行一个逆向

在这里插入图片描述

然后我们发现,原来的变量名全部变成了a,b,c这类没有任何意义的字符,这样别人就很难分析你的代码。

变量名全部变成了a,b,c这类没有任何意义的字符,这样别人就很难分析你的代码。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值