本博客地址:https://security.blog.youkuaiyun.com/article/details/82926096
一、Android应用安全防护的基本策略
1.1、混淆策略
混淆机制有两个用途,第一个是为了安全保护应用,第二个是为了减小应用安装包大小,所以每个应用在发版之前必须要添加混淆这项功能。混淆机制一般有两种:代码混淆和资源混淆。
代码混淆查阅:左侧代码类名方法名不是正常的项目代码,而是以abcd命名,如此可以增加代码阅读难度,增加破解难度。
破解查看Java代码的两种方式:
1、直接解压classes.dex文件,使用dex2jar工具转化为jar文件,再使用jd-gui工具进行查看类结构。
2、使用apktool工具直接反编译apk,得到smali源代码,阅读smali源代码。
代码混淆不能保证绝对安全,因为程序入口是不能进行混淆的(机器预定的组件类是不能进行混淆,自定义名称才可以进行混淆),这些入口一般是Application或者是ManiActivity之处,找到入口代码然后进行跟踪。
1.2、资源混淆
资源混淆的核心优势是减小APK包大小,资源混淆