安卓逆向常规顺序

来源：看雪论坛
1、通过 charles、wireshark 等抓包工具实现对 http 协议进行分析，并找到签名，看是否有明显的标准算法特征
2、通过 jadx-gui、gda、apktools 等工具实现对 dex 和 apk 的反编译实现 java 和 smali 代码阅览
3、找到通用脱壳点实现脱壳，编译和修改 android 源码，主动调用函数来还原被抽取的函数
4、通过 Xposed 和 frida 等工具实现对 native 和 java 层的动态插桩，窥探内存数据
5、通过 ida、hyper、ghida 等工具对 so 的静态分析和下内存断点和硬件断点实现动态调试、实现 so 的签名分析和 trace 分析
6、vmp 保护的找到入口函数的地址并动态调试找到目标跳转地址，然后通过静态分析工具到偏移地址分析源码
7、ollvm 混淆的字符串加密、控制流平坦化、指令替换和虚假控制流程可以通过 frida 打印内存地址的值和 ida trace 进行分析
8、根据签名特征和找到的常量来判断签名的算法
9、通过 spring 搭建签名服务器，并进行压力测试
10、通过前期大量接口调用来探测目标接口的风控策略，并作出部署和调用策略
11、部分需手机部署，按组换 ip 的可以在 openwrt 上实现软路由全自动换代理
12、对于单机单 ip 的可以修改开源代理 app 实现手机全自动换代理
13、对部分使用 protobuf 的协议，通过反编译和动态插桩找到协议类后，根据 tag 类型编写对应的. proto 文件生成对应类