atomicshop 2.16.10__py3-none-any.whl → 2.16.12__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of atomicshop might be problematic. Click here for more details.
- atomicshop/__init__.py +1 -1
- atomicshop/basics/enums.py +2 -2
- atomicshop/basics/list_of_classes.py +29 -0
- atomicshop/dns.py +2 -4
- atomicshop/file_io/docxs.py +4 -4
- atomicshop/file_io/file_io.py +12 -0
- atomicshop/filesystem.py +265 -198
- atomicshop/mitm/config_static.py +7 -8
- atomicshop/mitm/connection_thread_worker.py +59 -39
- atomicshop/mitm/engines/__parent/parser___parent.py +0 -1
- atomicshop/mitm/engines/__parent/recorder___parent.py +5 -6
- atomicshop/mitm/engines/__parent/responder___parent.py +0 -1
- atomicshop/mitm/import_config.py +6 -4
- atomicshop/mitm/initialize_engines.py +6 -6
- atomicshop/mitm/message.py +1 -0
- atomicshop/mitm/{initialize_mitm_server.py → mitm_main.py} +57 -32
- atomicshop/mitm/recs_files.py +17 -17
- atomicshop/mitm/statistic_analyzer.py +2 -2
- atomicshop/ssh_remote.py +9 -9
- atomicshop/wrappers/factw/install/pre_install_and_install_before_restart.py +1 -1
- atomicshop/wrappers/loggingw/reading.py +63 -100
- atomicshop/wrappers/pywin32w/wmis/helpers.py +5 -1
- atomicshop/wrappers/pywin32w/wmis/win32networkadapter.py +0 -32
- atomicshop/wrappers/socketw/dns_server.py +9 -10
- atomicshop/wrappers/socketw/exception_wrapper.py +5 -7
- atomicshop/wrappers/socketw/get_process.py +3 -3
- atomicshop/wrappers/socketw/receiver.py +3 -3
- atomicshop/wrappers/socketw/sender.py +1 -1
- atomicshop/wrappers/socketw/sni.py +1 -1
- atomicshop/wrappers/socketw/socket_server_tester.py +5 -5
- atomicshop/wrappers/winregw/__init__.py +0 -0
- atomicshop/wrappers/winregw/winreg_network.py +174 -0
- {atomicshop-2.16.10.dist-info → atomicshop-2.16.12.dist-info}/METADATA +1 -1
- {atomicshop-2.16.10.dist-info → atomicshop-2.16.12.dist-info}/RECORD +37 -34
- {atomicshop-2.16.10.dist-info → atomicshop-2.16.12.dist-info}/LICENSE.txt +0 -0
- {atomicshop-2.16.10.dist-info → atomicshop-2.16.12.dist-info}/WHEEL +0 -0
- {atomicshop-2.16.10.dist-info → atomicshop-2.16.12.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
import winreg
|
|
2
|
+
import socket
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
def get_network_interfaces_settings(
|
|
6
|
+
interface_guid: str = None
|
|
7
|
+
) -> dict:
|
|
8
|
+
"""
|
|
9
|
+
Get network interface settings from the Windows registry.
|
|
10
|
+
|
|
11
|
+
:param interface_guid: str, GUID of the network interface to retrieve settings for.
|
|
12
|
+
If None, settings for all interfaces will be retrieved.
|
|
13
|
+
:return: dict, network interface settings.
|
|
14
|
+
"""
|
|
15
|
+
registry_path = r"SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces"
|
|
16
|
+
network_info = {}
|
|
17
|
+
|
|
18
|
+
with winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, registry_path) as interfaces_key:
|
|
19
|
+
interface_count = winreg.QueryInfoKey(interfaces_key)[0]
|
|
20
|
+
|
|
21
|
+
for i in range(interface_count):
|
|
22
|
+
current_interface_guid = winreg.EnumKey(interfaces_key, i)
|
|
23
|
+
|
|
24
|
+
# If an interface GUID is provided, and it doesn't match the current one, skip it
|
|
25
|
+
if interface_guid and interface_guid != current_interface_guid:
|
|
26
|
+
continue
|
|
27
|
+
|
|
28
|
+
interface_path = f"{registry_path}\\{current_interface_guid}"
|
|
29
|
+
interface_data = {}
|
|
30
|
+
|
|
31
|
+
with winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, interface_path) as key:
|
|
32
|
+
value_count = winreg.QueryInfoKey(key)[1]
|
|
33
|
+
|
|
34
|
+
for j in range(value_count):
|
|
35
|
+
value_name, value_data, _ = winreg.EnumValue(key, j)
|
|
36
|
+
interface_data[value_name] = value_data
|
|
37
|
+
|
|
38
|
+
# Populate the dictionary for the current interface
|
|
39
|
+
network_info[current_interface_guid] = interface_data
|
|
40
|
+
|
|
41
|
+
return network_info
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
def get_network_connections_to_guids() -> dict:
|
|
45
|
+
"""
|
|
46
|
+
Get a dictionary mapping network connection names to their corresponding GUIDs.
|
|
47
|
+
|
|
48
|
+
:return: dict, GUIDs to connection names.
|
|
49
|
+
"""
|
|
50
|
+
adapters = {}
|
|
51
|
+
registry_path = r"SYSTEM\CurrentControlSet\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}"
|
|
52
|
+
|
|
53
|
+
with winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, registry_path) as network_key:
|
|
54
|
+
adapter_count = winreg.QueryInfoKey(network_key)[0]
|
|
55
|
+
|
|
56
|
+
for i in range(adapter_count):
|
|
57
|
+
adapter_guid = winreg.EnumKey(network_key, i)
|
|
58
|
+
adapter_path = f"{registry_path}\\{adapter_guid}\\Connection"
|
|
59
|
+
|
|
60
|
+
try:
|
|
61
|
+
with winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, adapter_path) as connection_key:
|
|
62
|
+
adapter_name, _ = winreg.QueryValueEx(connection_key, "Name")
|
|
63
|
+
adapters[adapter_guid] = adapter_name
|
|
64
|
+
except FileNotFoundError:
|
|
65
|
+
# Some GUIDs might not have a corresponding 'Connection' key, so we skip them
|
|
66
|
+
continue
|
|
67
|
+
|
|
68
|
+
return adapters
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
def get_enum_info_by_pnpinstanceid(
|
|
72
|
+
pnp_instance_id: str
|
|
73
|
+
) -> dict:
|
|
74
|
+
"""
|
|
75
|
+
Get all information from the Enum registry key for a device with a specific PnPInstanceId.
|
|
76
|
+
|
|
77
|
+
:param pnp_instance_id: str, PnPInstanceId of the device.
|
|
78
|
+
:return: dict, device information.
|
|
79
|
+
"""
|
|
80
|
+
enum_registry_path = r"SYSTEM\CurrentControlSet\Enum"
|
|
81
|
+
device_info = {}
|
|
82
|
+
|
|
83
|
+
# Construct the full path to the device in the Enum registry
|
|
84
|
+
hardware_path = f"{enum_registry_path}\\{pnp_instance_id}"
|
|
85
|
+
|
|
86
|
+
# Open the registry key corresponding to the device
|
|
87
|
+
with winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, hardware_path) as hardware_key:
|
|
88
|
+
num_values = winreg.QueryInfoKey(hardware_key)[1]
|
|
89
|
+
|
|
90
|
+
# Retrieve all values under this key
|
|
91
|
+
for i in range(num_values):
|
|
92
|
+
value_name, value_data, _ = winreg.EnumValue(hardware_key, i)
|
|
93
|
+
device_info[value_name] = value_data
|
|
94
|
+
|
|
95
|
+
return device_info
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
def get_network_connections_details(get_enum_info: bool = True) -> dict:
|
|
99
|
+
"""
|
|
100
|
+
Get network adapter details from the Windows registry.
|
|
101
|
+
|
|
102
|
+
:param get_enum_info: bool, if True, retrieve all information from the corresponding Enum key.
|
|
103
|
+
This is useful for getting additional information about the network adapter, like make, model, diver details.
|
|
104
|
+
:return: dict, network adapter details.
|
|
105
|
+
"""
|
|
106
|
+
adapter_details = {}
|
|
107
|
+
network_registry_path = r"SYSTEM\CurrentControlSet\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}"
|
|
108
|
+
|
|
109
|
+
with winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, network_registry_path) as network_key:
|
|
110
|
+
adapter_count = winreg.QueryInfoKey(network_key)[0]
|
|
111
|
+
|
|
112
|
+
for i in range(adapter_count):
|
|
113
|
+
adapter_guid = winreg.EnumKey(network_key, i)
|
|
114
|
+
adapter_path = f"{network_registry_path}\\{adapter_guid}\\Connection"
|
|
115
|
+
|
|
116
|
+
try:
|
|
117
|
+
with winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, adapter_path) as connection_key:
|
|
118
|
+
adapter_name, _ = winreg.QueryValueEx(connection_key, "Name")
|
|
119
|
+
pnp_instance_id, _ = winreg.QueryValueEx(connection_key, "PnPInstanceId")
|
|
120
|
+
|
|
121
|
+
# Get all information from the corresponding Enum key
|
|
122
|
+
if get_enum_info:
|
|
123
|
+
enum_info: dict = get_enum_info_by_pnpinstanceid(pnp_instance_id)
|
|
124
|
+
else:
|
|
125
|
+
enum_info: dict = {}
|
|
126
|
+
|
|
127
|
+
# Store the retrieved information
|
|
128
|
+
adapter_details[adapter_guid] = {
|
|
129
|
+
"Name": adapter_name,
|
|
130
|
+
"PnPInstanceId": pnp_instance_id,
|
|
131
|
+
"EnumInfo": enum_info
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
except FileNotFoundError:
|
|
135
|
+
continue
|
|
136
|
+
|
|
137
|
+
return adapter_details
|
|
138
|
+
|
|
139
|
+
|
|
140
|
+
def get_default_dns_gateway() -> tuple[bool, list[str]]:
|
|
141
|
+
"""
|
|
142
|
+
Get the default DNS gateway from the Windows registry.
|
|
143
|
+
|
|
144
|
+
:return: tuple(is dynamic boolean, list of DNS server IPv4s).
|
|
145
|
+
"""
|
|
146
|
+
|
|
147
|
+
# Get current default IPv4 address of the interface that is being used for internet.
|
|
148
|
+
default_ipv4_address: str = socket.gethostbyname(socket.gethostname())
|
|
149
|
+
|
|
150
|
+
# Get all network interface settings from the registry.
|
|
151
|
+
all_interfaces_configurations = get_network_interfaces_settings()
|
|
152
|
+
|
|
153
|
+
# Find the interface that has this IPv4 assigned.
|
|
154
|
+
function_result: tuple = tuple()
|
|
155
|
+
for interface_guid, interface_settings in all_interfaces_configurations.items():
|
|
156
|
+
current_interface_static_ipv4_address: list = interface_settings.get('IPAddress', None)
|
|
157
|
+
current_interface_dynamic_ipv4_address: str = interface_settings.get('DhcpIPAddress', None)
|
|
158
|
+
|
|
159
|
+
static_and_ip_match: bool = (
|
|
160
|
+
current_interface_static_ipv4_address and
|
|
161
|
+
current_interface_static_ipv4_address[0] == default_ipv4_address)
|
|
162
|
+
dynamic_and_ip_match: bool = (
|
|
163
|
+
current_interface_dynamic_ipv4_address and
|
|
164
|
+
current_interface_dynamic_ipv4_address == default_ipv4_address)
|
|
165
|
+
if static_and_ip_match or dynamic_and_ip_match:
|
|
166
|
+
if interface_settings['NameServer']:
|
|
167
|
+
function_result = (False, interface_settings['NameServer'].split(' '))
|
|
168
|
+
else:
|
|
169
|
+
function_result = (True, interface_settings['DhcpNameServer'].split(' '))
|
|
170
|
+
|
|
171
|
+
break
|
|
172
|
+
|
|
173
|
+
# noinspection PyTypeChecker
|
|
174
|
+
return function_result
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
atomicshop/__init__.py,sha256=
|
|
1
|
+
atomicshop/__init__.py,sha256=62uoYqbNQHiHzG_4RP9rz3BnzTcxCNm9aF_cLTSSAto,124
|
|
2
2
|
atomicshop/_basics_temp.py,sha256=6cu2dd6r2dLrd1BRNcVDKTHlsHs_26Gpw8QS6v32lQ0,3699
|
|
3
3
|
atomicshop/_create_pdf_demo.py,sha256=Yi-PGZuMg0RKvQmLqVeLIZYadqEZwUm-4A9JxBl_vYA,3713
|
|
4
4
|
atomicshop/_patch_import.py,sha256=ENp55sKVJ0e6-4lBvZnpz9PQCt3Otbur7F6aXDlyje4,6334
|
|
@@ -10,11 +10,11 @@ atomicshop/console_output.py,sha256=AOSJjrRryE97PAGtgDL03IBtWSi02aNol8noDnW3k6M,
|
|
|
10
10
|
atomicshop/console_user_response.py,sha256=31HIy9QGXa7f-GVR8MzJauQ79E_ZqAeagF3Ks4GGdDU,3234
|
|
11
11
|
atomicshop/datetimes.py,sha256=IQZ66lmta-ZqxYbyHzm_9eugbJFSilXK1e0kfMgoXGg,18371
|
|
12
12
|
atomicshop/diff_check.py,sha256=Q9RCqRa-jEgo7Fujx08_JTuZ6qcgttMI6aNYB6zN9Ik,27173
|
|
13
|
-
atomicshop/dns.py,sha256=
|
|
13
|
+
atomicshop/dns.py,sha256=J4yX6vCaRdL0McYWnlJ9arCDKW-yRui7Y5WyL5BoD6M,6391
|
|
14
14
|
atomicshop/domains.py,sha256=Rxu6JhhMqFZRcoFs69IoEd1PtYca0lMCG6F1AomP7z4,3197
|
|
15
15
|
atomicshop/emails.py,sha256=I0KyODQpIMEsNRi9YWSOL8EUPBiWyon3HRdIuSj3AEU,1410
|
|
16
16
|
atomicshop/file_types.py,sha256=-0jzQMRlmU1AP9DARjk-HJm1tVE22E6ngP2mRblyEjY,763
|
|
17
|
-
atomicshop/filesystem.py,sha256=
|
|
17
|
+
atomicshop/filesystem.py,sha256=5xkZFIKYoTTmRBkJo5p4R1G48Xbdjlyc7R514QqNXQs,58711
|
|
18
18
|
atomicshop/functions.py,sha256=pK8hoCE9z61PtWCxQJsda7YAphrLH1wxU5x-1QJP-sY,499
|
|
19
19
|
atomicshop/get_process_list.py,sha256=8cxb7gKe9sl4R6H2yMi8J6oe-RkonTvCdKjRFqi-Fs4,6075
|
|
20
20
|
atomicshop/get_process_name_cmd_dll.py,sha256=CtaSp3mgxxJKCCVW8BLx6BJNx4giCklU_T7USiCEwfc,5162
|
|
@@ -35,7 +35,7 @@ atomicshop/scheduling.py,sha256=MvF20M6uU0Kh_CQn2ERxMTLvvF-ToBrdMhXNrKxYFj8,4682
|
|
|
35
35
|
atomicshop/script_as_string_processor.py,sha256=uAIWwhHE-eP2FniuwBqEiM6VzyQX96uwdE3aA31rIm8,1883
|
|
36
36
|
atomicshop/sound.py,sha256=tHiQQbFBk7EYN3pAfGNcxfF9oNsoYnZgu9z9iq8hxQE,24352
|
|
37
37
|
atomicshop/speech_recognize.py,sha256=55-dIjgkpF93mvJnJuxSFuft5H5eRvGNlUj9BeIOZxk,5903
|
|
38
|
-
atomicshop/ssh_remote.py,sha256=
|
|
38
|
+
atomicshop/ssh_remote.py,sha256=HUP4FHaEHexI0EnoLI9i2AgVQNTpsMNPNC4ZCI22EAA,17029
|
|
39
39
|
atomicshop/sys_functions.py,sha256=MTBxRve5bh58SPvhX3gMiGqHlSBuI_rdNN1NnnBBWqI,906
|
|
40
40
|
atomicshop/system_resource_monitor.py,sha256=WvnnQrD5W9NRqOWI2YNcL-ut2UrvhrYToVlRR2c1vs8,13720
|
|
41
41
|
atomicshop/system_resources.py,sha256=0mhDZBEcMzToCOw5ArJhtqYjktOW6iJGdyRkJ01Cpwk,9272
|
|
@@ -88,12 +88,13 @@ atomicshop/basics/classes.py,sha256=EijW_g4EhdNBnKPMG3nT3HjFspTchtM7to6zm9Ad_Mk,
|
|
|
88
88
|
atomicshop/basics/dicts.py,sha256=DeYHIh940pMMBrFhpXt4dsigFVYzTrlqWymNo4Pq_Js,14049
|
|
89
89
|
atomicshop/basics/dicts_nested.py,sha256=StYxYnYPa0SEJr1lmEwAv5zfERWWqoULeyG8e0zRAwE,4107
|
|
90
90
|
atomicshop/basics/enumerations.py,sha256=41VVQYh_vnVapggxKg2IRU5e_EiMpZzX1n1mtxvoSzM,1364
|
|
91
|
-
atomicshop/basics/enums.py,sha256=
|
|
91
|
+
atomicshop/basics/enums.py,sha256=aAk1jFeQLvrC4NOpk9kgyX1-DCBr2ArPhZ8Ad7cMAVA,3537
|
|
92
92
|
atomicshop/basics/exceptions.py,sha256=-1Gu8bHA3hrf11mmeaPuVE73jWV3EOyRgh2vSpWfveg,504
|
|
93
93
|
atomicshop/basics/guids.py,sha256=iRx5n18ATZWhpo748BwEjuLWLsu9y3OwF5-Adp-Dtik,403
|
|
94
94
|
atomicshop/basics/hexs.py,sha256=i8CTG-J0TGGa25yFSbWEvpVyHFnof_qSWUrmXY-ylKM,1054
|
|
95
95
|
atomicshop/basics/if_else.py,sha256=MakivJChofZCpr0mOVjwCthzpiaBxXVB-zv7GwMOqVo,202
|
|
96
96
|
atomicshop/basics/isinstancing.py,sha256=fQ35xfqbguQz2BUn-3a4KVGskhTcIn8JjRtxV2rFcRQ,876
|
|
97
|
+
atomicshop/basics/list_of_classes.py,sha256=PJoE1VJdhhQ4gSFr88zW7IApXd4Ez7xLz-7vAM-7gug,978
|
|
97
98
|
atomicshop/basics/list_of_dicts.py,sha256=tj0LNPf1ljNI_qpoO-PiOT4Ulmk1M-UpTGyn9twVcw8,8039
|
|
98
99
|
atomicshop/basics/lists.py,sha256=I0C62vrDrNwCTNl0EjUZNa1Jsd8l0rTkp28GEx9QoEI,4258
|
|
99
100
|
atomicshop/basics/multiprocesses.py,sha256=nSskxJSlEdalPM_Uf8cc9kAYYlVwYM1GonBLAhCL2mM,18831
|
|
@@ -114,30 +115,30 @@ atomicshop/etws/traces/trace_dns.py,sha256=WvOZm7KNdP4r6ofkZhUGi9WjtYlkV3mUp_yxi
|
|
|
114
115
|
atomicshop/etws/traces/trace_sysmon_process_creation.py,sha256=OM-bkK38uYMwWLZKNOTDa0Xdk3sO6sqsxoMUIiPvm5g,4656
|
|
115
116
|
atomicshop/file_io/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
116
117
|
atomicshop/file_io/csvs.py,sha256=oZiaIEd1q50ypNdd9mlHWb-f7HAdGa_D6jLd3T_4sWU,8777
|
|
117
|
-
atomicshop/file_io/docxs.py,sha256=
|
|
118
|
-
atomicshop/file_io/file_io.py,sha256=
|
|
118
|
+
atomicshop/file_io/docxs.py,sha256=ffJhnmM_WyD8mCoq2dGdpfahdIrGTPy96QVlH5EWjeI,5754
|
|
119
|
+
atomicshop/file_io/file_io.py,sha256=fkOgoeS8Ow69rj6KfEDmnMeFT3FhJmOJ0X-C_7Udiik,7047
|
|
119
120
|
atomicshop/file_io/jsons.py,sha256=q9ZU8slBKnHLrtn3TnbK1qxrRpj5ZvCm6AlsFzoANjo,5303
|
|
120
121
|
atomicshop/file_io/tomls.py,sha256=ol8EvQPf9sryTmZUf1v55BYSUQ6ml7HVVBHpNKbsIlA,9768
|
|
121
122
|
atomicshop/file_io/xlsxs.py,sha256=v_dyg9GD4LqgWi6wA1QuWRZ8zG4ZwB6Dz52ytdcmmmI,2184
|
|
122
123
|
atomicshop/file_io/xmls.py,sha256=zh3SuK-dNaFq2NDNhx6ivcf4GYCfGM8M10PcEwDSpxk,2104
|
|
123
124
|
atomicshop/mitm/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
124
|
-
atomicshop/mitm/config_static.py,sha256=
|
|
125
|
+
atomicshop/mitm/config_static.py,sha256=bcZPp9g12cMNcmHm6chpI6ZrbW6b1Xrz4IVOzJahao4,7105
|
|
125
126
|
atomicshop/mitm/config_toml_editor.py,sha256=2p1CMcktWRR_NW-SmyDwylu63ad5e0-w1QPMa8ZLDBw,1635
|
|
126
|
-
atomicshop/mitm/connection_thread_worker.py,sha256=
|
|
127
|
-
atomicshop/mitm/import_config.py,sha256=
|
|
128
|
-
atomicshop/mitm/initialize_engines.py,sha256=
|
|
129
|
-
atomicshop/mitm/
|
|
130
|
-
atomicshop/mitm/
|
|
131
|
-
atomicshop/mitm/recs_files.py,sha256=
|
|
127
|
+
atomicshop/mitm/connection_thread_worker.py,sha256=1MBpRoLpzWJMvxqQKizo6IVQ4XYsbKGsjxianNQLUlE,20051
|
|
128
|
+
atomicshop/mitm/import_config.py,sha256=5peDr6cT0ZWK3J53yG-VEew77CKrvB88CphM10SQd3I,7868
|
|
129
|
+
atomicshop/mitm/initialize_engines.py,sha256=F_FESrvTghEln-P9wesvXnr3_sxczYJBN6QtmQ3d2WE,8249
|
|
130
|
+
atomicshop/mitm/message.py,sha256=d_sm3O_aoZf87dDQP44xOMNEG-uZBN1ZecQgMCacbZs,1814
|
|
131
|
+
atomicshop/mitm/mitm_main.py,sha256=UQ8vCHE83H5Q5Uffv3dIGCH8Buigq6FxSWgLm6_vRGc,20683
|
|
132
|
+
atomicshop/mitm/recs_files.py,sha256=btOuYQca4DuBOAKp9OY21HGjeEVOx9r_k-AnZOqs3Dk,3007
|
|
132
133
|
atomicshop/mitm/shared_functions.py,sha256=hplm98tz8pgJ4WHUVI9sf_oVqUM2KJ1Y2pD6EFSb8P0,1879
|
|
133
|
-
atomicshop/mitm/statistic_analyzer.py,sha256=
|
|
134
|
+
atomicshop/mitm/statistic_analyzer.py,sha256=AzL9rQhg0tLJj33gZfxdwWghmbXGLh_HyMBDpzuBmsQ,24709
|
|
134
135
|
atomicshop/mitm/engines/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
135
136
|
atomicshop/mitm/engines/create_module_template.py,sha256=tRjVSm1sD6FzML71Qbuwvita0qsusdFGm8NZLsZ-XMs,4853
|
|
136
137
|
atomicshop/mitm/engines/create_module_template_example.py,sha256=X5xhvbV6-g9jU_bQVhf_crZmaH50LRWz3bS-faQ18ds,489
|
|
137
138
|
atomicshop/mitm/engines/__parent/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
138
|
-
atomicshop/mitm/engines/__parent/parser___parent.py,sha256=
|
|
139
|
-
atomicshop/mitm/engines/__parent/recorder___parent.py,sha256=
|
|
140
|
-
atomicshop/mitm/engines/__parent/responder___parent.py,sha256=
|
|
139
|
+
atomicshop/mitm/engines/__parent/parser___parent.py,sha256=Q1hEhbOXa8oBm9uD1VG2hLRCzUzpMjGeeS2Npd0a4Hw,1336
|
|
140
|
+
atomicshop/mitm/engines/__parent/recorder___parent.py,sha256=G1TNVxUKFfRopUgENcLCQS0XGzNJmKYBep70wWHvPAQ,4650
|
|
141
|
+
atomicshop/mitm/engines/__parent/responder___parent.py,sha256=gufSZP2Pic6iF7eTzbIi0z5-TPIDeIgoRQAplUwtcNk,12185
|
|
141
142
|
atomicshop/mitm/engines/__reference_general/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
142
143
|
atomicshop/mitm/engines/__reference_general/parser___reference_general.py,sha256=QolWZKm8SiPxxSoyWY_UK7ODam7EUMAgVfOPFnXxODE,2987
|
|
143
144
|
atomicshop/mitm/engines/__reference_general/recorder___reference_general.py,sha256=KENDVf9OwXD9gwSh4B1XxACCe7iHYjrvnW1t6F64wdE,695
|
|
@@ -226,7 +227,7 @@ atomicshop/wrappers/factw/fact_extractor/docker_image.py,sha256=2FyYjnw8gxFNwISQ
|
|
|
226
227
|
atomicshop/wrappers/factw/fact_extractor/get_extractor.py,sha256=2mfOAftHIlCcGt1s7MWdq7DsDCuI6wX3MtvcEZ4SK-0,756
|
|
227
228
|
atomicshop/wrappers/factw/install/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
228
229
|
atomicshop/wrappers/factw/install/install_after_restart.py,sha256=-VXC3KDX2BzF0oi0ELCmfch55vLk-3t16KxlmYyUGD8,1560
|
|
229
|
-
atomicshop/wrappers/factw/install/pre_install_and_install_before_restart.py,sha256=
|
|
230
|
+
atomicshop/wrappers/factw/install/pre_install_and_install_before_restart.py,sha256=GFsO9MTH0czKoxkiPJtjalilUwsmFLBCcx9Znv37S4M,5945
|
|
230
231
|
atomicshop/wrappers/factw/postgresql/__init__.py,sha256=xMBn2d3Exo23IPP2F_9-SXmOlhFbwWDgS9KwozSTjA0,162
|
|
231
232
|
atomicshop/wrappers/factw/postgresql/analysis.py,sha256=2Rxzy2jyq3zEKIo53z8VkjuslKE_i5mq2ZpmJAvyd6U,716
|
|
232
233
|
atomicshop/wrappers/factw/postgresql/file_object.py,sha256=VRiCXnsd6yDbnsE-TEKYPC-gkAgFVkE6rygRrJLQShI,713
|
|
@@ -249,7 +250,7 @@ atomicshop/wrappers/loggingw/formatters.py,sha256=7XUJvlB0CK4DCkEp8NTL0S0dkyrZD0
|
|
|
249
250
|
atomicshop/wrappers/loggingw/handlers.py,sha256=yFYBeTkxnpmtlauoH3ZEFEHUYQYu9YL-ycd9sYTvOl4,16928
|
|
250
251
|
atomicshop/wrappers/loggingw/loggers.py,sha256=DHOOTAtqkwn1xgvLHSkOiBm6yFGNuQy1kvbhG-TDog8,2374
|
|
251
252
|
atomicshop/wrappers/loggingw/loggingw.py,sha256=lo4OZPXCbYZi3GqpaaJSs9SOGFfqD2EgHzzTK7f5IR4,11275
|
|
252
|
-
atomicshop/wrappers/loggingw/reading.py,sha256=
|
|
253
|
+
atomicshop/wrappers/loggingw/reading.py,sha256=tplnJlQ7RMxWv2s782tWGOo1C7WNemk2SRTZCCgD9J0,16474
|
|
253
254
|
atomicshop/wrappers/mongodbw/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
254
255
|
atomicshop/wrappers/mongodbw/infrastructure.py,sha256=tHqtt__yKGtj24CT5AIk0V0k9t1p_PjezFExXRmmmcA,1517
|
|
255
256
|
atomicshop/wrappers/mongodbw/install_mongodb.py,sha256=21Re0NpikgYOKelyPTkosoQQxzu67dy80Kj204TL5eo,6644
|
|
@@ -286,27 +287,29 @@ atomicshop/wrappers/pywin32w/win_event_log/subscribes/process_create.py,sha256=1
|
|
|
286
287
|
atomicshop/wrappers/pywin32w/win_event_log/subscribes/process_terminate.py,sha256=0k09fiAwKDJO404bjxUWSSSLOiNANl-VTJDD_YLq-I8,3763
|
|
287
288
|
atomicshop/wrappers/pywin32w/win_event_log/subscribes/schannel_logging.py,sha256=8nxIcNcbeEuvoBwhujgh7-oIpL9A6J-gg1NM8hOGAVA,3442
|
|
288
289
|
atomicshop/wrappers/pywin32w/wmis/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
289
|
-
atomicshop/wrappers/pywin32w/wmis/helpers.py,sha256=
|
|
290
|
-
atomicshop/wrappers/pywin32w/wmis/win32networkadapter.py,sha256=
|
|
290
|
+
atomicshop/wrappers/pywin32w/wmis/helpers.py,sha256=uMXa27UfBpqXInvnmk7CZlqwRI2pg_I_HXelxO9nLLg,5020
|
|
291
|
+
atomicshop/wrappers/pywin32w/wmis/win32networkadapter.py,sha256=9H9MdS__GDBMm8H-xINEPFrJ8j-ErIb1ZqzkulTwLTo,5443
|
|
291
292
|
atomicshop/wrappers/pywin32w/wmis/win32process.py,sha256=qMzXtJ5hBZ5ydAyqpDbSx0nO2RJQL95HdmV5SzNKMhk,6826
|
|
292
293
|
atomicshop/wrappers/socketw/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
293
294
|
atomicshop/wrappers/socketw/accepter.py,sha256=hZZKVYlF3LOHQJsSIEKXZUf6QXXWm-AtqXZevvaYigE,1732
|
|
294
295
|
atomicshop/wrappers/socketw/base.py,sha256=evoOIxg5Xff3THJnrVX00D5HobaOpDp6_e_gso7TJmA,2191
|
|
295
296
|
atomicshop/wrappers/socketw/certificator.py,sha256=3CpQKtcW68FSbH6LVSEZTqWBS6Yg_-3K0x4nFkId4UY,12236
|
|
296
297
|
atomicshop/wrappers/socketw/creator.py,sha256=3_OraDkw2DAWZfoSdY3svCGMOIxpjLEEY7NxWd7M5P4,9873
|
|
297
|
-
atomicshop/wrappers/socketw/dns_server.py,sha256=
|
|
298
|
-
atomicshop/wrappers/socketw/exception_wrapper.py,sha256=
|
|
299
|
-
atomicshop/wrappers/socketw/get_process.py,sha256=
|
|
300
|
-
atomicshop/wrappers/socketw/receiver.py,sha256=
|
|
301
|
-
atomicshop/wrappers/socketw/sender.py,sha256=
|
|
302
|
-
atomicshop/wrappers/socketw/sni.py,sha256=
|
|
298
|
+
atomicshop/wrappers/socketw/dns_server.py,sha256=VIpz6cluQ53nZ14QGhnXU9zJqlcOa5fEZsHeKJWr9ec,45127
|
|
299
|
+
atomicshop/wrappers/socketw/exception_wrapper.py,sha256=B-X5SHLSUIWToihH2MKnOB1F4A81_X0DpLLfnYKYbEc,7067
|
|
300
|
+
atomicshop/wrappers/socketw/get_process.py,sha256=_YMVxYhVlzjJpeOR36tphZ5QWeKYwk03Ilw0muCxDbg,5950
|
|
301
|
+
atomicshop/wrappers/socketw/receiver.py,sha256=G3hDTacm7nwwUNHEbKZpxO0c8rHcl0NeKpZy7Xc6zpA,9008
|
|
302
|
+
atomicshop/wrappers/socketw/sender.py,sha256=d7YQFlCBMFTYtkGxbS-8cm5rh5WWFeBVvrEivWHYstI,3666
|
|
303
|
+
atomicshop/wrappers/socketw/sni.py,sha256=fVwyh3h9IqfLMnf4__bMIzcF4c-Kk9mlbDWMRXKN-ow,17155
|
|
303
304
|
atomicshop/wrappers/socketw/socket_client.py,sha256=FNmTt94YvjZP0X4RPb7icO3xD_nBHQ_XynnObdWFiAU,19682
|
|
304
|
-
atomicshop/wrappers/socketw/socket_server_tester.py,sha256=
|
|
305
|
+
atomicshop/wrappers/socketw/socket_server_tester.py,sha256=wAwyst8YdVyVfZfERav1A9_OnMJAiVBy-4uY0RpNqkU,6339
|
|
305
306
|
atomicshop/wrappers/socketw/socket_wrapper.py,sha256=g7f_8RkW80EZeQWNTqGYnfrQkgAI56T3SwWybq7ZsXg,28521
|
|
306
307
|
atomicshop/wrappers/socketw/ssl_base.py,sha256=k4V3gwkbq10MvOH4btU4onLX2GNOsSfUAdcHmL1rpVE,2274
|
|
307
308
|
atomicshop/wrappers/socketw/statistics_csv.py,sha256=Jc0D12crkKRaqoCRQ-2Mz1zm6n4UUx9dXakf-N2TYWA,3065
|
|
308
|
-
atomicshop
|
|
309
|
-
atomicshop
|
|
310
|
-
atomicshop-2.16.
|
|
311
|
-
atomicshop-2.16.
|
|
312
|
-
atomicshop-2.16.
|
|
309
|
+
atomicshop/wrappers/winregw/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
310
|
+
atomicshop/wrappers/winregw/winreg_network.py,sha256=bQ8Jql8bVGBJ0dt3VQ56lga_1LBOMLI3Km_otvvbU6c,7138
|
|
311
|
+
atomicshop-2.16.12.dist-info/LICENSE.txt,sha256=lLU7EYycfYcK2NR_1gfnhnRC8b8ccOTElACYplgZN88,1094
|
|
312
|
+
atomicshop-2.16.12.dist-info/METADATA,sha256=POvocbg-JIQO-oVd8Z3RIvANnUqSiQmXx0Q4A9vTvI0,10503
|
|
313
|
+
atomicshop-2.16.12.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
|
|
314
|
+
atomicshop-2.16.12.dist-info/top_level.txt,sha256=EgKJB-7xcrAPeqTRF2laD_Np2gNGYkJkd4OyXqpJphA,11
|
|
315
|
+
atomicshop-2.16.12.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|