App安全
安全问题
反编译
apk加固
小结
app安全
- AndroidMenifest.xml文件加固
- 应用签名未校验风险:检测 App 程序启动时是否校验签名证书。
- 应用数据任意备份风险:设置:application中android:allowBackup=false
- Java 层动态调试风险:设置:application中android:debuggable=”false”
- 组件导出风险:设置:receiver或service、activity中android:exported=”false”
- 代码层面上强制进行权限检查
- 全局可读写的内部文件漏洞
- 使用MODE_PRIVATE模式创建内部存储文件
- 加密存储敏感数据
- 避免在文件中存储明文和敏感信息
- 防御SQL注入攻击
- 全局可读写的内部文件漏洞
- 通过检测安装程序、模拟器、调试标志位反逆向
- 用ProGuard 删除所有日志信息
- 用收费的GexGuard进行高级代码混淆
apk加固
- apk + 加壳dex合并形成新的dex;然后加壳apk 和新的dex 生成新的apk
- 加载新Apk时,找到解密之后的源Apk
- 创建AssetManager放置源apk的资源
- 通过动态加载机制将加壳程序的ClassLoader替换成他的子ClassLoaderPath
- 在Application的onCreate()中替换LoadApk以及ActivityThread中的Application