-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpyproject.toml
More file actions
117 lines (110 loc) · 5.44 KB
/
pyproject.toml
File metadata and controls
117 lines (110 loc) · 5.44 KB
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
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
[build-system]
requires = ["setuptools>=61.0", "wheel"]
build-backend = "setuptools.build_meta"
[project]
name = "patternanalyzer"
version = "0.1.0"
description = "A comprehensive, plugin-based framework for binary data analysis in Python."
readme = "README.md"
license = {text = "MIT"}
requires-python = ">=3.10"
authors = [
{name = "EdgeTypE", email = "edgetype@goygoyengine.com"}
]
keywords = ["binary-analysis", "security", "reverse-engineering", "cryptography", "forensics", "malware-analysis", "statistical-analysis"]
classifiers = [
"Development Status :: 3 - Alpha",
"Intended Audience :: Developers",
"Intended Audience :: Science/Research",
"License :: OSI Approved :: MIT License",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Topic :: Security",
"Topic :: Software Development :: Libraries :: Python Modules",
"Topic :: Utilities"
]
dependencies = [
"click>=8.0.0",
"numpy>=1.25.0",
"scipy>=1.10.0",
"python-magic>=0.4.27",
"pefile>=2024.2.1",
"oletools>=0.60.1",
"cryptography>=41.0.0",
"pycryptodome>=3.18.0"
]
[project.optional-dependencies]
test = [
"pytest>=7.0.0",
]
ml = [
"tensorflow>=2.12.0 ; platform_system != 'Windows' or python_version >= '3.10'",
"tensorflow-cpu>=2.12.0 ; platform_system == 'Windows' and python_version >= '3.10'",
"scikit-learn>=1.2.0",
"joblib>=1.2.0",
"pandas>=2.0.0",
]
ui = [
"streamlit>=1.30.0",
"textual",
]
[project.scripts]
patternanalyzer = "patternanalyzer.cli:cli"
[project.entry-points."patternanalyzer.plugins"]
approximate_entropy = "patternanalyzer.plugins.approximate_entropy:ApproximateEntropyTest"
autocorrelation = "patternanalyzer.plugins.autocorrelation:AutocorrelationTest"
binary_matrix_rank = "patternanalyzer.plugins.binary_matrix_rank:BinaryMatrixRankTest"
block_frequency = "patternanalyzer.plugins.block_frequency_test:BlockFrequencyTest"
cusum = "patternanalyzer.plugins.cusum:CumulativeSumsTest"
dotplot = "patternanalyzer.plugins.dotplot:DotplotTest"
fft_placeholder = "patternanalyzer.plugins.fft_placeholder:FFTPlaceholder"
fft_spectral = "patternanalyzer.plugins.fft_spectral:FFTSpectralTest"
linear_complexity = "patternanalyzer.plugins.linear_complexity:LinearComplexityTest"
longest_run = "patternanalyzer.plugins.longest_run:LongestRunOnesTest"
lz_complexity = "patternanalyzer.plugins.lz_complexity:LZComplexityTest"
maurers_universal = "patternanalyzer.plugins.maurers_universal:MaurersUniversalTest"
monobit = "patternanalyzer.plugins.monobit:MonobitTest"
nist_dft_spectral = "patternanalyzer.plugins.nist_dft_spectral:NISTDFTSpectralTest"
non_overlapping_template_matching = "patternanalyzer.plugins.non_overlapping_template_matching:NonOverlappingTemplateMatching"
overlapping_template_matching = "patternanalyzer.plugins.overlapping_template_matching:OverlappingTemplateMatching"
random_excursions_variant = "patternanalyzer.plugins.random_excursions_variant:RandomExcursionsVariantTest"
random_excursions = "patternanalyzer.plugins.random_excursions:RandomExcursionsTest"
runs = "patternanalyzer.plugins.runs_test:RunsTest"
serial = "patternanalyzer.plugins.serial_test:SerialTest"
vigenere = "patternanalyzer.plugins.vigenere:VigenerePlugin"
xor_const = "patternanalyzer.plugins.xor_const:XOPlugin"
parallel_quick_stat = "patternanalyzer.plugins.parallel_helpers:QuickStat"
parallel_blocking = "patternanalyzer.plugins.parallel_helpers:BlockingTest"
diehard_birthday_spacings = "patternanalyzer.plugins.diehard_birthday_spacings:BirthdaySpacingsTest"
diehard_overlapping_sums = "patternanalyzer.plugins.diehard_overlapping_sums:OverlappingSumsTest"
diehard_3d_spheres = "patternanalyzer.plugins.diehard_3d_spheres:ThreeDSpheresTest"
testu01_smallcrush = "patternanalyzer.plugins.testu01_smallcrush:SmallCrushAdapter"
dft_spectral_advanced = "patternanalyzer.plugins.dft_spectral_advanced:DFTSpectralAdvancedTest"
hurst_exponent = "patternanalyzer.plugins.hurst_exponent:HurstExponentTest"
conditional_entropy = "patternanalyzer.plugins.conditional_entropy:ConditionalEntropyTest"
mutual_information = "patternanalyzer.plugins.mutual_information:MutualInformationTest"
transfer_entropy = "patternanalyzer.plugins.transfer_entropy:TransferEntropyTest"
lstm_gru_anomaly = "patternanalyzer.plugins.lstm_gru_anomaly:LSTMGRUAnomalyPlugin"
autoencoder_anomaly = "patternanalyzer.plugins.autoencoder_anomaly:AutoencoderAnomalyPlugin"
classifier_labeler = "patternanalyzer.plugins.classifier_labeler:ClassifierLabelerPlugin"
magic_detector = "patternanalyzer.plugins.magic_detector:MagicDetector"
png_structure = "patternanalyzer.plugins.png_structure:PNGStructure"
zip_structure = "patternanalyzer.plugins.zip_structure:ZIPStructure"
pdf_structure = "patternanalyzer.plugins.pdf_structure:PDFStructure"
ecb_detector = "patternanalyzer.plugins.ecb_detector:ECBDetector"
frequency_pattern = "patternanalyzer.plugins.frequency_pattern:FrequencyPattern"
known_constants_search = "patternanalyzer.plugins.known_constants_search:KnownConstantsSearch"
[project.urls]
Homepage = "https://github.com/EdgeTypE/pattern-analyzer"
Repository = "https://github.com/EdgeTypE/pattern-analyzer.git"
"Bug Tracker" = "https://github.com/EdgeTypE/pattern-analyzer/issues"
[tool.setuptools.packages.find]
where = ["."]
[tool.pytest.ini_options]
testpaths = ["tests"]
python_files = ["test_*.py"]
python_classes = ["Test*"]
python_functions = ["test_*"]
addopts = "-v"