又一个针对恶意android应用程序的静态代码分析器

androwarn的Python项目详细描述


androwarn

又一个针对恶意android应用程序的静态代码分析器

说明

androwarn是一个工具,其主要目的是检测和警告用户android应用程序开发的潜在恶意行为。

使用^{}库对应用程序的dalvik字节码(用smali表示)进行静态分析来执行检测。

该分析根据从用户中选择的技术细节级别生成报告。

功能

  • 针对不同恶意行为类别的字节码的结构和数据流分析

    • 电话标识符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/

问候

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java搜索按钮不适用于我   java制作一个应用程序来打开您自己的文件扩展名   XMemcached中的java异步集   java无法在Android上使用HTML5 canvas touch   java是否可以用PHP为Restlet创建客户端?   java在主题中添加图标。AppCompat。光   java Safari错误,无法打开浏览器   java gson解析json值中commaseparatedvalue字符串中的项   java如何使用Quarkus在卡夫卡的同一主题中设置多个使用者   java组织。json。JSONException:在{main}()的第6个字符处的main后面应该是“:”   windowbuilder如何将Java文件导出到GATE developer   java这与安卓 studio ide问题有关,在更新我们的ide之后   java Android将活动加载到类中<?>对象   java如何在springdatajpa中使用DISTINCT、GROUP BY和ORDER BY?   使用jlink的java可复制构建