概述
在移动安全领域,Android恶意样本的快速分析与特征提取是安全分析师的核心任务。传统分析流程通常包括样本基本信息获取、静态分析、动态调试、行为观察及规则编写。然而,现有工具(如Androguard)在处理APK/DEX文件时存在内存消耗大、功能分散等问题,导致分析效率低下。
Androyara是一款基于Python 3.7+开发的轻量级Android恶意样本分析工具,旨在通过以下核心功能加速分析流程:
- APK/DEX静态信息提取(如AndroidManifest.xml解析、字符串搜索、类/方法/指令定位)。
- Yara规则支持(快速生成特征规则并批量扫描样本)。
- 在线沙箱查询(集成VirusTotal API,实时验证样本风险)。
- 高效资源占用(相比Androguard等工具,显著降低内存消耗)。
工具功能详解
1. 核心功能模块
apkinfo:提取APK基础信息(应用名称、主Activity、包名、指纹信息等)。
python3 androyara.py -m apkinfo sample.apk
输出示例:
AppName: Installer MainActivity: com.km.installer.InstallerActivity PackageName: com.km.installer MD5: b402eaacd1323f2dffb9b8b48e90cd00 SHA256: 83baabdcca7bb58ab624b00bd6bc4f089b086634ad569d82b6d9c204daada6b8
search_apk/search_dex:搜索APK/DEX中的字符串、方法或指令。
python3 androyara.py -m search_apk -s "https://" sample.apk # 提取URL相关字符串
manifest:解析二进制AndroidManifest.xml,提取权限声明、组件信息等。
yara_scan:基于自定义Yara规则扫描样本,快速定位恶意家族特征。
python3 androyara.py -m yara_scan -r rules.yar sample.apk
query:通过VirusTotal API 查询样本风险状态(需配置API密钥)。
实战案例:短信窃取木马分析
获取基本信息
在拿到样本后,先看一下apk的基本信息,如下:

输出的内容可以知道这个样本的基本信息
- appnameInstaller
- mainActivitycom.km.installer.InstallerActivity
- packageNamecom.km.installer
- application没有
- fingerprintmd5: b402eaacd1323f2dffb9b8b48e90cd00 sha256: 83baabdcca7bb58ab624b00bd6bc4f089b086634ad569d82b6d9c204daada6b8
有了这些基本信息后,接下来利用已知的信息查一下在线的沙箱是否存在。
查询在线沙箱 VT
这个功能需要填写 user/user.conf 的apikey,具体可以查
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
已在FreeBuf发表 0 篇文章
本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf
客服小蜜蜂(微信:freebee1024)



