安全
#
反编译Android 基于 Java/Kotlin 开发的,所以容易被反编译。
java 编译过程: .java -> .class -> dex
。
反编译: dex -> .class -> .java
通常我们会用代码混淆,增加反编译后的代码阅读难度。
#
hook 技术在不改变二进制文件的情况下,动态的改变程序逻辑。
hook 工具: VirtualXposed, frida
#
VirtualXposed- 使用的时候需要 root。
- 插件丰富
- 基于 epic
#
HTTPS 抓包,中间人攻击HTTPS 中间人攻击的方式: charles 生成一个证书,并且手机上把这个证书设置成信任。
App 禁止抓包的方法:自己实现证书的校验,对证书的跟证书做校验。
VirtualXposed 可以通过hook App 的校验代码,使 App 可以被抓包。
#
frida- root 和 非 root 都可以使用。root 模式下使用 ptrace attach 到 app 进程。非 root 模式修改 app,插入代码加载 frida so
#
so 安全so 也可以混淆
#
so 方法直接调用so 包可以看到里面有哪些函数。使用 java 直接调用这个函数就能实现破解。
#
so hookinline hook
#
加固如何保证按钮- Dex 加固
- So 加固
- 防止调试
360免费加固,加固了 Dex。加固过程实际上是给 Dex 加层壳。App 运行过程中去解密,所以加固后的 app 启动会变慢。