首页 > 其他分享 >Android-代码混淆及字符串加密

Android-代码混淆及字符串加密

时间:2024-08-14 18:06:18浏览次数:7  
标签:混淆 加密 文件 proguard 规则 Android android

代码混淆

使用ProGuard&R8

一些参考链接
Android 混淆,新引入的D8、R8改变了什么?
sdk 打包必备,proguard 混淆规则如何配置

开启混淆

app/build.gradle.android.buildTypes

release {
    minifyEnabled true //开启混淆
    proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' // 指定混淆规则文件
    signingConfig signingConfigs.release
}

其中
proguard-android-optimize.txtAndroidsdk\tools\proguard中的文件,有一些系统默认规则
proguard-rules.pro为自定义规则文件


一般开启后即可完成混淆,要注意:

  1. 调试版本混淆会不完整,要在发布版本中查看混淆结果
  2. 对于一些额外引入的sdk库,可能要在自定义规则中额外设置不对其混淆(根据报错信息来)
  3. 混淆结果查看:使用jadx-gui反编译apk查看

字符串加密

使用 StringFog
github链接

部署简单,有完整的README文件
但按照README文件中的部署方法报错,在issue中找到部署方法

issue #161

标签:混淆,加密,文件,proguard,规则,Android,android
From: https://www.cnblogs.com/f-cat/p/18359493

相关文章

  • 丢掉数据线,你还会调试Android设备吗?
    ADB(Android Debug Bridge)作为Android开发中非常重要的工具,开发者可以使用ADB设备在电脑上对Android设备进行安装调试应用。通常我们使用ADB调试时需要USB数据线进行连接,当Android设备USB接口出现问题或身边没有USB数据线时,使用WiFi调试Android设备便成为了一种实用的替代方案。......
  • Android中四大组件Acticity面试常问的五道题
    Activity1、A到BActivity过程中生命周期是怎么样的当从ActivityA启动ActivityB时,ActivityA的生命周期会经历以下过程:onPause():ActivityA会暂停,此时它仍然可见,但处于暂停状态,无法与用户交互。onStop():如果ActivityB完全覆盖了ActivityA,那么ActivityA会......
  • Android 10.0 SystemUI下拉状态栏QSTileView去掉着色效果显示彩色图标功能实现
    1.前言在10.0的系统rom定制化开发中,在关于SystemUI的下拉状态栏中QSTileView的背景颜色设置过程中,在由于系统原生有着色效果,导致现在某些彩色背景显示不是很清楚效果不好,所以需要去掉QSTileView的默认着色背景显示原生的彩色背景,接下来就来实现相关功能如图: 2.SystemUI......
  • Android 13 GMS 内置壁纸
    如图,原生系统上,设备上的壁纸显示系统内置壁纸。如果没有添加内置壁纸,就显示默认的壁纸。点击进去就是预览页面扩展下,默认壁纸在frameworks/base/core/res/res/drawable-sw720dp-nodpi/default_wallpaper.pngframeworks/base/core/res/res/drawable-nodpi/default_wall......
  • RK3399 Android8.1静默安装APK
    在RK3399Android8.1上面,实现APK静默安装功能,下面是我们的测试验试过程:1.在RK3399Android8.1源码目录下生成系统签名KEY:  进入build/target/product/security目录:cdbuild/target/product/security  创建build_system_jks2.sh文件,内容如下:#!/bin/bashecho"生......
  • 25.python模块(加密,os,re,json)
    一.加密讲解加密算法:md5\rsa\AES\des\base(一)base64加解密importbase64a=base64.b64encode(b"123456")print(a)#加密#b'MTIzNDU2'b=base64.b64decode(b'MTIzNDU2')print(b)#b'123456'http://encode.chahuo.com/在线加解密hashlib......
  • 如何使用Android WakeLock?
    在Android应用或者Framworks里面,要如何使用AndroidWakeLock来避免系统待机,或者系统息屏后加个锁进行网络等后台操作处理呢?我们可以在代码里面导入并创建相应对象,有如下内容:importandroid.os.PowerManager;importandroid.os.PowerManager.WakeLock;WakeLockmWakeLock;P......
  • Android Studio Gradle->Android Studio创建项目后,生成文件详解
    Gradle版本:gradle-8.0AndroidStudio版本:AndroidStudioGiraffe|2022.3.1Patch3.gradle文件夹作用:存储Gradle缓存和构建信息内容:包括Gradle构建缓存、已下载的依赖项等。这个文件夹可以安全地删除,Gradle会在下次构建时重新生成它.idea文件夹作用:存......
  • 一个基于 Java 接口参数加密框架,让接口参数加密变得简单、优雅!
    SecurityApiv1.0.1一个基于Java接口参数加密框架,让接口参数加密变得简单、优雅!文章目录一、SecurityApi介绍二、SecurityApi依赖三、使用1.RSA加密(非对称加密)1.1简单示例1.2生成RSA密钥1.3加签名说明「第一个场景」B要给A传递一条加密消息「第二个场景」B......
  • 数据加密存储:重要文件怎么加密?一文全搞懂!
    数据已成为企业和个人最宝贵的资产之一。然而,随着网络攻击和数据泄露事件的频发,如何保护数据安全成为了每个人都需要面对的重要问题。数据加密存储作为保障数据安全的重要手段之一,其重要性不言而喻。本文将详细介绍数据加密存储的基本概念、常见的加密方式以及如何对重要文......