又一个针对恶意android应用程序的静态代码分析器
androwarn的Python项目详细描述
androwarn
又一个针对恶意android应用程序的静态代码分析器
说明
androwarn是一个工具,其主要目的是检测和警告用户android应用程序开发的潜在恶意行为。
使用^{
该分析根据从用户中选择的技术细节级别生成报告。
功能
针对不同恶意行为类别的字节码的结构和数据流分析
- 电话标识符exfilter:IMEI、IMSI、MCC、MNC、LAC、CID、操作员姓名…
- device settings exfiltering:软件版本、使用统计信息、系统设置、日志…
- 地理位置信息泄漏:GPS/WiFi地理位置…
- 连接接口信息exfilter:WiFi凭据、蓝牙MAC地址…
- 电话服务滥用:高级短信发送、电话呼叫组合…
- 音频/视频流拦截:通话记录、视频捕获…
- 远程连接建立:套接字打开呼叫、蓝牙配对、APN设置编辑…
- pim数据泄漏:联系人、日历、短信、邮件、剪贴板…
- 外部内存操作:SD卡上的文件访问…
- pim数据修改:添加/删除联系人、日历事件…
- 任意代码执行:使用jni的本机代码、unix命令、权限提升…
- 拒绝服务:事件通知停用、文件删除、进程终止、虚拟键盘禁用、终端关闭/重新启动…
根据多个详细级别生成报告
- 新手必备(
-v 1
) - 高级(
-v 2
) - 专家(
-v 3
)
- 新手必备(
根据多种格式生成报告
- 纯文本
txt
- 从引导模板格式化
html
- json
- 纯文本
用法
选项
usage: androwarn [-h] -i INPUT [-o OUTPUT] [-v {1,2,3}] [-r {txt,html,json}]
[-d]
[-L {debug,info,warn,error,critical,DEBUG,INFO,WARN,ERROR,CRITICAL}]
[-w]
version: 1.4
optional arguments:
-h, --help show this help message and exit
-i INPUT, --input INPUT
APK file to analyze
-o OUTPUT, --output OUTPUT
Output report file (default
"./<apk_package_name>_<timestamp>.<report_type>")
-v {1,2,3}, --verbose {1,2,3}
Verbosity level (ESSENTIAL 1, ADVANCED 2, EXPERT 3)
(default 1)
-r {txt,html,json}, --report {txt,html,json}
Report type (default "html")
-d, --display-report Display analysis results to stdout
-L {debug,info,warn,error,critical,DEBUG,INFO,WARN,ERROR,CRITICAL}, --log-level {debug,info,warn,error,critical,DEBUG,INFO,WARN,ERROR,CRITICAL}
Log level (default "ERROR")
-w, --with-playstore-lookup
Enable online lookups on Google Play
常见用法
$ python androwarn.py -i my_application_to_be_analyzed.apk -r html -v 3
默认情况下,报告是在当前文件夹中生成的。
html报告现在包含在一个独立的文件中,css/js资源是内联的。
示例应用程序
已经构建了一个示例应用程序,集中了几个恶意行为。
apk位于_SampleApplication/bin/
文件夹中,html报告位于_SampleReports
文件夹中。
依赖项和安装
- python 3或python 2.7+androguard+jinja2+play嫒scraper+argparse
- 最简单的方法是设置一切:
pip install androwarn
,然后直接使用$ androwarn
- 或者git克隆存储库并
pip install -r requirements.txt
更改日志
- 版本1.6-2019/05/30:python 3支持和少量修复程序
- 版本1.5-2019/01/05:很少修复
- 版本1.4-2019/01/04:代码清理和使用最新的Androguard版本
- 版本1.3-2018/12/30:很少修复
- 版本1.2-2018/12/30:很少修复
- 版本1.1 - 2018/12 / 29:修复几个错误,删除奇尔卡依赖和PIP包装< /LI>
- 版本1.0-从2012年到2013年
贡献
不客气,欢迎任何帮助:)
联系人
- thomas debize<;tdebize,邮箱:d0t com>;
- 在freenode上加入androwarn
版权和许可
androwarn是自由软件:您可以根据自由软件基金会(free software foundation)发布的gnu lesser通用公共许可证(general public license)的条款重新发布和/或修改它,无论是哪种版本3个许可证,或(由您选择)任何更高版本。
《Androwarn》被寄予希望是有用的,但没有任何保证;甚至没有对适销性或适合某一特定目的的默示保证。有关更多详细信息,请参阅GNU Lesser通用公共许可证。
您应该已经收到GNU Lesser通用公共许可证的副本以及AndrowWarn。
如果没有,请参阅http://www.gnu.org/licenses/。
问候
- Stéphane Coulondre,监督我最后一年的项目
- Anthony Desnos,感谢他出色的Androguard项目和他在我最后一年项目中的帮助