{ "info": { "author": "Thomas D.", "author_email": "tdebize@mail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Information Technology", "License :: OSI Approved :: GNU Library or Lesser General Public License (LGPL)", "Topic :: Security" ], "description": "Androwarn\n=========\nYet another static code analyzer for malicious Android applications\n====================================================\n\nDescription\n-----------\nAndrowarn is a tool whose main aim is to detect and warn the user about potential malicious behaviours developped by an Android application.\n\nThe detection is performed with the static analysis of the application's Dalvik bytecode, represented as Smali, with the [`androguard`](https://github.com/androguard/androguard) library.\n\nThis analysis leads to the generation of a report, according to a technical detail level chosen from the user.\n\n\nFeatures\n--------\n* Structural and data flow analysis of the bytecode targeting different malicious behaviours categories\n + **Telephony identifiers exfiltration**: IMEI, IMSI, MCC, MNC, LAC, CID, operator's name...\n + **Device settings exfiltration**: software version, usage statistics, system settings, logs...\n + **Geolocation information leakage**: GPS/WiFi geolocation...\n + **Connection interfaces information exfiltration**: WiFi credentials, Bluetooth MAC adress...\n + **Telephony services abuse**: premium SMS sending, phone call composition...\n + **Audio/video flow interception**: call recording, video capture...\n + **Remote connection establishment**: socket open call, Bluetooth pairing, APN settings edit...\n + **PIM data leakage**: contacts, calendar, SMS, mails, clipboard...\n + **External memory operations**: file access on SD card...\n + **PIM data modification**: add/delete contacts, calendar events...\n + **Arbitrary code execution**: native code using JNI, UNIX command, privilege escalation...\n + **Denial of Service**: event notification deactivation, file deletion, process killing, virtual keyboard disable, terminal shutdown/reboot...\n\n\n* Report generation according to several detail levels\n - Essential (`-v 1`) for newbies\n - Advanced (`-v 2`)\n - Expert (`-v 3`)\n\n* Report generation according to several formats\n - Plaintext `txt`\n - Formatted `html` from a Bootstrap template\n - JSON\n\n\nUsage\n-----\n### Options\n```\nusage: androwarn [-h] -i INPUT [-o OUTPUT] [-v {1,2,3}] [-r {txt,html,json}]\n [-d]\n [-L {debug,info,warn,error,critical,DEBUG,INFO,WARN,ERROR,CRITICAL}]\n [-w]\n\nversion: 1.4\n\noptional arguments:\n -h, --help show this help message and exit\n -i INPUT, --input INPUT\n APK file to analyze\n -o OUTPUT, --output OUTPUT\n Output report file (default\n \"./_.\")\n -v {1,2,3}, --verbose {1,2,3}\n Verbosity level (ESSENTIAL 1, ADVANCED 2, EXPERT 3)\n (default 1)\n -r {txt,html,json}, --report {txt,html,json}\n Report type (default \"html\")\n -d, --display-report Display analysis results to stdout\n -L {debug,info,warn,error,critical,DEBUG,INFO,WARN,ERROR,CRITICAL}, --log-level {debug,info,warn,error,critical,DEBUG,INFO,WARN,ERROR,CRITICAL}\n Log level (default \"ERROR\")\n -w, --with-playstore-lookup\n Enable online lookups on Google Play\n```\n \n### Common usage\n```\n$ python androwarn.py -i my_application_to_be_analyzed.apk -r html -v 3\n```\n\nBy default, the report is generated in the current folder. \nAn HTML report is now contained in a standalone file, CSS/JS resources are inlined.\n\n\nSample application\n------------------\nA sample application has been built, concentrating several malicious behaviours.\n\nThe APK is available in the `_SampleApplication/bin/` folder and the HTML report is available in the `_SampleReports` folder.\n\n\nDependencies and installation\n-----------------------------\n* Python 3 or Python 2.7 + androguard + jinja2 + play_scraper + argparse\n* The **easiest way** to setup everything: `pip install androwarn` and then directly use `$ androwarn`\n* Or git clone that repository and `pip install -r requirements.txt`\n\n\nChangelog\n---------\n* version 1.6 - 2019/05/30: Python 3 support and few fixes\n* version 1.5 - 2019/01/05: few fixes\n* version 1.4 - 2019/01/04: code cleanup and use of the latest androguard version\n* version 1.3 - 2018/12/30: few fixes\n* version 1.2 - 2018/12/30: few fixes\n* version 1.1 - 2018/12/29: fixing few bugs, removing Chilkat dependencies and pip packaging\n* version 1.0 - from 2012 to 2013\n\n\nContributing\n-------------\nYou're welcome, any help is appreciated :)\n\n\nContact\n------\n* Thomas Debize < tdebize at mail d0t com >\n* Join #androwarn on Freenode\n\nCopyright and license\n---------------------\nAndrowarn is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\n\nAndrowarn is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. \n\nSee the GNU Lesser General Public License for more details.\n\nYou should have received a copy of the GNU Lesser General Public License along with Androwarn. \nIf not, see http://www.gnu.org/licenses/.\n\n\nGreetings\n-------------\n* [St\u00e9phane Coulondre](http://stephane.coulondre.info), for supervising my Final Year project\n* [Anthony Desnos](https://sites.google.com/site/anthonydesnos/home), for his amazing [Androguard](https://github.com/androguard/androguard) project and his help through my Final Year project", "description_content_type": "text/markdown; charset=UTF-8;", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/maaaaz/androwarn", "keywords": "androwarn android apk dalvik static malicious behaviours behaviors reverse disassemble", "license": "LGPL", "maintainer": "", "maintainer_email": "", "name": "androwarn", "package_url": "https://pypi.org/project/androwarn/", "platform": "", "project_url": "https://pypi.org/project/androwarn/", "project_urls": { "Homepage": "https://github.com/maaaaz/androwarn" }, "release_url": "https://pypi.org/project/androwarn/1.6.1/", "requires_dist": null, "requires_python": ">=2.7", "summary": "Yet another static code analyzer for malicious Android applications", "version": "1.6.1" }, "last_serial": 5337298, "releases": { "1.1": [ { "comment_text": "", "digests": { "md5": "cdf577f9b66e0a69592e2bc5363a7285", "sha256": "f2125fafc6a1e15138f964eabf394437a5921dbc7c136e9d23e37b89ad76a74d" }, "downloads": -1, "filename": "androwarn-1.1.tar.gz", "has_sig": false, "md5_digest": "cdf577f9b66e0a69592e2bc5363a7285", "packagetype": "sdist", "python_version": "source", "requires_python": "<3, >2.6", "size": 463654, "upload_time": "2018-12-30T16:33:22", "url": "https://files.pythonhosted.org/packages/b6/1c/39f69f42c01f3f65bf60b1af1ad21c609156e23215f58ae0cd4a9df3b60f/androwarn-1.1.tar.gz" } ], "1.2": [ { "comment_text": "", "digests": { "md5": "f823d6e47f224fc3a62280ba76cd874b", "sha256": "f3d7b03d60917e84b1fa67a1b2994b44672d0171a62483f9d17332bde9a63fae" }, "downloads": -1, "filename": "androwarn-1.2.tar.gz", "has_sig": false, "md5_digest": "f823d6e47f224fc3a62280ba76cd874b", "packagetype": "sdist", "python_version": "source", "requires_python": "<3, >2.6", "size": 463674, "upload_time": "2018-12-30T16:35:38", "url": "https://files.pythonhosted.org/packages/92/d7/7d617c8c3c5413404af7b4bd78e69b19d796de363d6f670d9db4a5e82dbd/androwarn-1.2.tar.gz" } ], "1.3": [ { "comment_text": "", "digests": { "md5": "bccfe21839535acb14ff30619c5ea1c3", "sha256": "228f718a9f42aa5bd77aecc5a30d418373628e7763993187327e1c616607570a" }, "downloads": -1, "filename": "androwarn-1.3.tar.gz", "has_sig": false, "md5_digest": "bccfe21839535acb14ff30619c5ea1c3", "packagetype": "sdist", "python_version": "source", "requires_python": "<3, >2.6", "size": 463766, "upload_time": "2018-12-30T17:13:36", "url": "https://files.pythonhosted.org/packages/b0/99/87b4b9900f11094227930724ffb023499f17eca7f94d3e177faa6762f265/androwarn-1.3.tar.gz" } ], "1.4": [ { "comment_text": "", "digests": { "md5": "d17523265726b510d58a60530294e9e6", "sha256": "c8dfe9bf6537c0495afa4b9ff562a803fa80d34308134cb4a06655cc1158bd00" }, "downloads": -1, "filename": "androwarn-1.4.tar.gz", "has_sig": false, "md5_digest": "d17523265726b510d58a60530294e9e6", "packagetype": "sdist", "python_version": "source", "requires_python": "<3, >2.6", "size": 339732, "upload_time": "2019-01-04T22:36:29", "url": "https://files.pythonhosted.org/packages/18/76/9fe57fd795a72024321775363de752b399087ee32de15a85b2a54ed2b5e5/androwarn-1.4.tar.gz" } ], "1.5": [ { "comment_text": "", "digests": { "md5": "6a044998944ee4fbe687b718cb4ea7de", "sha256": "462df5be6a00621bba17b9f71d45f154e1e6a974a5614701f5acdbdf7dc4b34e" }, "downloads": -1, "filename": "androwarn-1.5.tar.gz", "has_sig": false, "md5_digest": "6a044998944ee4fbe687b718cb4ea7de", "packagetype": "sdist", "python_version": "source", "requires_python": "<3, >2.6", "size": 340195, "upload_time": "2019-01-05T13:16:14", "url": "https://files.pythonhosted.org/packages/08/c3/70e32320134c6ca56ecc3fc512a684f1bc94e27d7984c753dc858d7e4bda/androwarn-1.5.tar.gz" } ], "1.6": [ { "comment_text": "", "digests": { "md5": "e42f46b5ac1750331d51bc59dc455ca3", "sha256": "08c10617e563603e69d8f0440693c46f35dac3bf65ed744c0e8141c889f79960" }, "downloads": -1, "filename": "androwarn-1.6.tar.gz", "has_sig": false, "md5_digest": "e42f46b5ac1750331d51bc59dc455ca3", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7", "size": 321523, "upload_time": "2019-05-30T12:53:38", "url": "https://files.pythonhosted.org/packages/03/4b/72292a0094b61351734b07e59eb22d5d88b3a44cac7e3f3b5e7a4bbb1909/androwarn-1.6.tar.gz" } ], "1.6.1": [ { "comment_text": "", "digests": { "md5": "c61287cac9c1a62c93debc03c3629056", "sha256": "db851627421f19842feb04a62b8b2beac1b44173c0c4b94f35546cdbce229fba" }, "downloads": -1, "filename": "androwarn-1.6.1.tar.gz", "has_sig": false, "md5_digest": "c61287cac9c1a62c93debc03c3629056", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7", "size": 321547, "upload_time": "2019-05-30T13:32:02", "url": "https://files.pythonhosted.org/packages/07/6e/ddff7a9ad2e6b51c8bb4fd18aa2cf1b87bd2f6ea1d370955dca1c83fd9af/androwarn-1.6.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "c61287cac9c1a62c93debc03c3629056", "sha256": "db851627421f19842feb04a62b8b2beac1b44173c0c4b94f35546cdbce229fba" }, "downloads": -1, "filename": "androwarn-1.6.1.tar.gz", "has_sig": false, "md5_digest": "c61287cac9c1a62c93debc03c3629056", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7", "size": 321547, "upload_time": "2019-05-30T13:32:02", "url": "https://files.pythonhosted.org/packages/07/6e/ddff7a9ad2e6b51c8bb4fd18aa2cf1b87bd2f6ea1d370955dca1c83fd9af/androwarn-1.6.1.tar.gz" } ] }