动态分析 Android 程序
- 分析经过加密混淆的 Android 程序时,光静态分析往往达不到理想效果,这时候就要用到动态分析
- 动态分析分为动态跟踪和动态调试
- 动态跟踪侧重于自动化分析,工具一般是自主研发或第三方提供的分析平台。在软件开发领域编写大型项目安全检测分析报告,以及在软件安全领域进行恶意代码与病毒的分析时,会广泛用到动态分析技术
- 动态调试需要分析人员参与进来,依靠调试器的能力完成分析工作。在进行动态调试时,除了调试器,还要分析人员自主确定分析点
- 开发软件时,一般可进行源码级调试,对设置断点的地方可通过阅读源码找到。逆向分析时,通常只能进行反汇编级别的调试,分析人员要通过阅读大量的反汇编代码来寻找突破口
- 无论是对调试能力的考验,还是对开发人员耐心的考验,逆向分析中的动态调试都比软件开发中的动态调试大得多
动态分析框架
DroidBox
- 对于低版本 Android 系统的一款强大的动态分析框架
- 主要用于对敏感 API 和系统网络流量进行监控,以及对程序进行简单的模糊测试(Fuzz Testing)
- 但目前已跟不上分析需求
MobSF
- 强大的跨平台开源分析框架
- 下载地址:GitHub
- MobSF 文档