forked from androguard/androguard
-
Notifications
You must be signed in to change notification settings - Fork 0
/
setup.py
102 lines (90 loc) · 4.28 KB
/
setup.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
#!/usr/bin/env python3
import sys
from androguard import __version__
from setuptools import setup, find_packages
# We do not support Python <3.4
if sys.version_info < (3, 4):
print("Unfortunately, your python version is not supported!\n"
"Please upgrade at least to Python 3.4!", file=sys.stderr)
sys.exit(1)
# PyQT5 is only available for python >=3.5
if sys.version_info <= (3, 4):
print("PyQT5 is probably not available for your system, the GUI might not work!", file=sys.stderr)
install_requires = [
'networkx>=1.11',
'pygments',
'lxml',
'colorama',
'matplotlib',
'asn1crypto>=0.24.0',
'click',
'pydot>=1.4.1',
'ipython>=5.0.0',
]
# TODO add the permission mapping generation at a better place!
# from axplorer_to_androguard import generate_mappings
# generate_mappings()
setup(
name='androguard',
description='Androguard is a full python tool to play with Android files.',
long_description="""Androguard is a tool and python library to interact with Android Files.
Usually they come in the form of Android Packages (APK) or Dalvik Executeable (DEX) files.
Androguard has tools to read Android's binary format for XML files (AXML) and is also suited with a decompiler for DEX.
Androguard might not only be used as a tool for reverse engineering single applications, but features a lot of functions
for automated analysis. It provides a pure python framework to build your own analysis tools.
If you encounter bugs while using androguard, please feel free to report them in our bugtracker_.
.. _bugtracker: https://github.com/androguard/androguard/issues
""",
version=__version__,
license="Apache Licence, Version 2.0",
url="https://github.com/androguard/androguard",
download_url="https://github.com/androguard/androguard/releases",
packages=find_packages(),
package_data={
# add the json files, residing in the api_specific_resources package
"androguard.core.api_specific_resources": ["aosp_permissions/*.json",
"api_permission_mappings/*.json"],
"androguard.core.resources": ["public.xml"],
# Collect also the GUI files this way
"androguard.gui": ["annotation.ui", "search.ui", "androguard.ico"],
},
entry_points={
'console_scripts': [
# The "master" script, bundles all separate commands
'androguard = androguard.cli.entry_points:entry_point',
# Providing the same scripts as before
'androapkid = androguard.cli.entry_points:apkid',
'androarsc = androguard.cli.entry_points:arsc',
'androaxml = androguard.cli.entry_points:axml',
'androcg = androguard.cli.entry_points:cg',
'androdd = androguard.cli.entry_points:decompile',
'androdis = androguard.cli.entry_points:disassemble',
'androgui = androguard.cli.entry_points:gui',
'androlyze = androguard.cli.entry_points:analyze',
'androsign = androguard.cli.entry_points:sign',
]
},
install_requires=install_requires,
extras_require={
'GUI': ["pyperclip", "PyQt5"],
'magic': ['python-magic>=0.4.15'],
'docs': ['sphinx', "sphinxcontrib-programoutput>0.8", 'sphinx_rtd_theme'],
'tests': ['mock>=2.0', 'nose', 'codecov', 'coverage', 'nose-timer'],
},
setup_requires=['setuptools'],
python_requires='>=3.4',
classifiers=[
'License :: OSI Approved :: Apache Software License',
'Programming Language :: Python',
'Programming Language :: Python :: 3',
'Programming Language :: Python :: 3.4',
'Programming Language :: Python :: 3.5',
'Programming Language :: Python :: 3.6',
'Programming Language :: Python :: 3.7',
'Programming Language :: Python :: 3.8',
'Programming Language :: Python :: 3 :: Only',
'Topic :: Security',
'Topic :: Software Development',
'Topic :: Utilities',
],
)