《Android高级进阶》学习笔记
第6篇 移动安全篇
第38章:Android混淆机制详解
Android中的混淆包括三种:Java代码的混淆、Native(C/C++)代码的混淆、资源文件的混淆。
1、Java代码的混淆
一般通过Proguard进行混淆,可以对Java字节码进行压缩、优化。
2、Native(C/C++)代码的混淆
常见且比较简单的方法是使用花指令,使得Native代码在被反汇编时出错,从而让破解者无法清晰正确的反汇编出代码的内容。
3、资源文件的混淆
目前有美团和微信两种。
第39章:Android反编译机制详解
一个APP的包中包含代码文件和资源文件,因此反编译也相应分为两部分。
1、Java代码的反编译
- 工具:dex2jar
- 输入:dex文件
- 输出:jar文件
2、资源文件的反编译
使用ApkTool这个工具,它可以反编译resources.arsc、9.png和XML等文件,也可以将修改过的反编译文件重新打包成APK文件。
第40章:客户端敏感信息隐藏技术研究
第41章:Android加固技术研究
Android应用加固是指在APK的外面加一层壳,并对APK里面的dex文件进行加密,它可以有效防止APP被反编译,是保证APP安全的最后一道防线。