, 通过反编译 , 反汇编 , 拿到 Smali 代码 , 研究其产品的算法 , 实现途径 ;
接口分析 : 接入一个没有源码的第三方库 , 无法进行调试 , 出现问题后 , 可以使用逆向的方法 ,...查找问题原因 , 解决相关问题 ; 找到问题后 , 修改汇编代码 , 然后重新打包 ;
数据采集 : 分析应用的数据 , 获取该应用的更新内容 , 运营信息 , 在 APP 中可以拿到一些非公开的数据..., 主要是分析静态文件二进制数据 ;
动态分析 : 将程序运行起来 , 运行中动态分析数据 ; 如 : 做一些函数拦截 , 拦截 Java 的字符串 String 的 构造函数 或 追加函数 , 按照时间顺序..., 记录函数的结果 , 然后找到关键信息的拼接过程 , 如 : 访问网络时 , 必然拼接 URL 地址 , 这些都是字符串 , 比较容易分析 ;
结合分析 ( 使用最多 ) : 先通过静态分析 , 确认一些信息..., 然后通过 动态分析 , 进一步进行调试 ;
静态分析 和 动态分析 , 对于简单防护的应用 , 是有效的 ;
如果应用做了很复杂的防护 , 需要使用结合分析 ;