Android 恶意软件动态分析指南
1. 动态代码分析概述
动态分析是指通过执行程序代码来揭示其属性的分析技术,这与静态分析形成对比,静态分析是在不执行程序的情况下分析其代码和结构以发现属性。运行应用程序本身不足以了解其具体行为,动态分析需要一系列工具来监控和与应用程序交互,包括调试器、拦截 API 调用的软件、转储内存或检查网络流量的工具等。这些工具共同运行时,可以构建出应用程序与设备交互的图景。部署和维护这些工具可能需要大量的时间和资金,但部署的工具越多,对应用程序的理解就越完整。
1.1 动态分析与静态分析的对比
| 分析类型 | 配置难度 | 分析速度 | 代码覆盖率 |
|---|---|---|---|
| 静态分析 | 只需将应用程序加载到 jadx 中 | 较慢,需遍历所有代码 | 可分析应用程序的所有代码 |
| 动态分析 | 需要设置可执行程序的设备,拦截和记录系统调用、网络流量等,执行并与应用程序交互 | 较快,可观察应用程序行为并引导执行方向 | 只能考虑已执行的代码,通常只能执行应用程序 5% - 10% 的代码 |
动态分析和静态分析是互补的。要全面了解应用程序的功能,需要同时使用这两种分析方法。
<
超级会员免费看
订阅专栏 解锁全文
1801

被折叠的 条评论
为什么被折叠?



