name: analyzing-android-malware-with-apktool
description: 使用 apktool 进行反编译、jadx 恢复 Java 源码、androguard 进行权限分析,对 Android APK 恶意软件样本执行静态分析,包括清单检查和可疑 API 调用检测。
domain: cybersecurity
subdomain: malware-analysis
tags: [Android, APK, apktool, jadx, androguard, mobile-malware, static-analysis, reverse-engineering]
version: "1.0"
author: mahipal
license: Apache-2.0
使用 Apktool 分析 Android 恶意软件
概述
以 APK 文件形式分发的 Android 恶意软件可通过静态分析提取权限、Activity、Service、广播接收器和可疑 API 调用,无需执行样本。本技能使用 androguard 进行编程化 APK 分析,识别危险权限组合、混淆代码模式、动态代码加载、基于反射的 API 调用以及网络通信指标。
前置条件
- Python 3.9+,安装
androguard
- apktool(用于资源反编译)
- jadx(用于 Java 源码恢复,可选)
- 隔离分析环境(虚拟机或沙箱)
- 待分析的 APK 样本文件
工作流程
- 使用 androguard 解析 APK,提取清单元数据
- 枚举所请求的权限,标记危险权限组合
- 从清单中列出 Activity、Service、Receiver 和 Provider
- 扫描可疑 API 调用(反射、加密、短信、电话)
- 检测动态代码加载模式(DexClassLoader、Runtime.exec)
- 从字符串中提取硬编码 URL、IP 和 C2 指标
- 生成包含 MITRE ATT&CK 移动端映射的风险评估报告
输出格式
- JSON 报告,包含权限分析、组件列表、可疑 API 调用、网络指标和风险评分
- 从 APK 中提取的字符串和潜在 IOC