forked from decalage2/ViperMonkey
-
Notifications
You must be signed in to change notification settings - Fork 0
/
setup.py
73 lines (59 loc) · 2.3 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
#!/usr/bin/env python
"""
Installs ViperMonkey using pip, setuptools or distutils
To install this package, run:
pip install -e .
Or:
python setup.py install
Installation using pip is recommended, to create scripts to run vmonkey
and vbashell from any directory.
"""
#--- CHANGELOG ----------------------------------------------------------------
# 2016-12-14 v0.04 PL: - replaced scripts by entry points (issue #17)
# 2018-08-17 v0.07 PL: - added required dependency unidecode
#--- TODO ---------------------------------------------------------------------
#--- IMPORTS ------------------------------------------------------------------
try:
from setuptools import setup
except ImportError:
from distutils.core import setup
# --- ENTRY POINTS ------------------------------------------------------------
# Entry points to create convenient scripts automatically
entry_points = {
'console_scripts': [
'vmonkey=vipermonkey.vmonkey:main',
'vbashell=vipermonkey.vbashell:main',
],
}
setup(
name="vipermonkey",
version="0.08", # 0.0x not compliant with PEP440, setuptools normalizes to 0.x
description=(
"ViperMonkey is a VBA Emulation engine written in Python, designed to "
"analyze and deobfuscate malicious VBA Macros contained in Microsoft "
"Office files (Word, Excel, PowerPoint, Publisher, etc)."),
long_description=open("README.md").read(),
install_requires=[
# TODO: oletools 0.54.2 requires cryptography, which is not compatible with PyPy (oletools issue #473)
# => on PyPy, pin to oletools 0.54.1:
'oletools==0.54.1; platform_python_implementation=="PyPy"',
# => Otherwise, use the latest oletools:
'oletools; platform_python_implementation!="PyPy"',
"olefile",
"prettytable",
"colorlog",
"colorama",
"pyparsing==2.3.0", # pyparsing 2.4.0 triggers a MemoryError on some samples (issue #58)
"unidecode",
"xlrd",
"regex",
],
packages=["vipermonkey", "vipermonkey.core"],
setup_requires=["pytest-runner"],
tests_require=["pytest"],
entry_points=entry_points,
author="Philippe Lagadec",
url="https://github.com/decalage2/ViperMonkey",
license="BSD",
download_url="https://github.com/decalage2/ViperMonkey",
)