Android 性能优化--APK加固(2)加密

文章目录

本文首发地址:https://h89.cn/archives/212.html

最新更新地址:https://gitee.com/chenjim/chenjimblog

通过 前文 介绍,我们知晓了如何使用代码混淆和资源混淆加固我们的APK,以及如何分析混淆后Crash日志问题。本文将进一步介绍APP加固的相关方法,比如字符串加密、资源加密、签名效验、DEX加密等。

字符串加密

反编译 ProguardDemo.apk 可以看到字符串chenjim,如下图,可能会泄露我们的重要信息

StringFog 提供了一个很好的方案:

编译时对所有字符串进行加密,运行时进行解密,可以自定义加解密算法。

图片加密

通过反编译后,我们能看到所有使用图片的资源文件,如何避免被盗用呢?

可以对图片进行解密,然后放到Assets目录,使用时先解密,再加载显示。

既然后都显示出来了,还是可以被截图等方式盗用。

因此图片加密使用的不多,有点画蛇添足,没有具体源码实现。

如何避免应用被重新签名分发

如果应用被逆向加入其他程序,很容易造成其他严重后果,我们可以在应用中加入签名的效验,如果不满足提示或者直接退出应用。
CSDN 博文 中给出了 JAVA 和 JNI 获取应用签名SHA1的方法。

APK 加壳的方案简析


DEX加密原理及实现

原计划是介绍DEX加密详细原理及实现,看到 韩曙亮 有相关博文进行介绍,本节先列举相关文章链接,后续单独写一篇内容总结。


参考文章
https://blog.csdn.net/weixin_43632667/article/details/104394222
https://developer.android.com/studio/build/shrink-code
APK 加固总结 By 韩曙亮


相关文章
Android 性能优化--APK加固(1)混淆
Android 性能优化--APK加固(2)加密

相关推荐
代码s贝多芬的音符30 分钟前
android mlkit 实现仰卧起坐和俯卧撑识别
android
jwn9991 小时前
Laravel9.x核心特性全解析
android
今天又在写代码2 小时前
数据智能分析平台部署服务器
android·服务器·adb
梦里花开知多少3 小时前
深入谈谈Launcher的启动流程
android·架构
jwn9993 小时前
Laravel11.x新特性全解析
android·开发语言·php·laravel
我就是马云飞3 小时前
停更5年后,我为什么重新开始写技术内容了
android·前端·程序员
stevenzqzq4 小时前
Kotlin 协程:withContext 与 async 核心区别与使用场景
android·开发语言·kotlin
唔664 小时前
原生 Android(Kotlin)仅串口「侵入式架构」完整案例三
android·架构·kotlin
唔664 小时前
原生 Android(Kotlin)仅串口「可插拔架构」完整案例一
android·架构·kotlin
Melrose4 小时前
移动端安全攻防
android·前端·安全