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.

Files changed (37) hide show
  1. atomicshop/__init__.py +1 -1
  2. atomicshop/basics/enums.py +2 -2
  3. atomicshop/basics/list_of_classes.py +29 -0
  4. atomicshop/dns.py +2 -4
  5. atomicshop/file_io/docxs.py +4 -4
  6. atomicshop/file_io/file_io.py +12 -0
  7. atomicshop/filesystem.py +265 -198
  8. atomicshop/mitm/config_static.py +7 -8
  9. atomicshop/mitm/connection_thread_worker.py +59 -39
  10. atomicshop/mitm/engines/__parent/parser___parent.py +0 -1
  11. atomicshop/mitm/engines/__parent/recorder___parent.py +5 -6
  12. atomicshop/mitm/engines/__parent/responder___parent.py +0 -1
  13. atomicshop/mitm/import_config.py +6 -4
  14. atomicshop/mitm/initialize_engines.py +6 -6
  15. atomicshop/mitm/message.py +1 -0
  16. atomicshop/mitm/{initialize_mitm_server.py → mitm_main.py} +57 -32
  17. atomicshop/mitm/recs_files.py +17 -17
  18. atomicshop/mitm/statistic_analyzer.py +2 -2
  19. atomicshop/ssh_remote.py +9 -9
  20. atomicshop/wrappers/factw/install/pre_install_and_install_before_restart.py +1 -1
  21. atomicshop/wrappers/loggingw/reading.py +63 -100
  22. atomicshop/wrappers/pywin32w/wmis/helpers.py +5 -1
  23. atomicshop/wrappers/pywin32w/wmis/win32networkadapter.py +0 -32
  24. atomicshop/wrappers/socketw/dns_server.py +9 -10
  25. atomicshop/wrappers/socketw/exception_wrapper.py +5 -7
  26. atomicshop/wrappers/socketw/get_process.py +3 -3
  27. atomicshop/wrappers/socketw/receiver.py +3 -3
  28. atomicshop/wrappers/socketw/sender.py +1 -1
  29. atomicshop/wrappers/socketw/sni.py +1 -1
  30. atomicshop/wrappers/socketw/socket_server_tester.py +5 -5
  31. atomicshop/wrappers/winregw/__init__.py +0 -0
  32. atomicshop/wrappers/winregw/winreg_network.py +174 -0
  33. {atomicshop-2.16.10.dist-info → atomicshop-2.16.12.dist-info}/METADATA +1 -1
  34. {atomicshop-2.16.10.dist-info → atomicshop-2.16.12.dist-info}/RECORD +37 -34
  35. {atomicshop-2.16.10.dist-info → atomicshop-2.16.12.dist-info}/LICENSE.txt +0 -0
  36. {atomicshop-2.16.10.dist-info → atomicshop-2.16.12.dist-info}/WHEEL +0 -0
  37. {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,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: atomicshop
3
- Version: 2.16.10
3
+ Version: 2.16.12
4
4
  Summary: Atomic functions and classes to make developer life easier
5
5
  Author: Denis Kras
6
6
  License: MIT License
@@ -1,4 +1,4 @@
1
- atomicshop/__init__.py,sha256=UgRp7GQHNpZPeGG_7JeMEqk614zuaQR7CEQKP3aHIpM,124
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=5WrAczISjtR9y2rUbqQ8QQxqSGqR5j8dXenUAW0O5Tc,6460
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=rP70hSVhTbwuwwFEeuvgn0h5-1GrksErxQt7qlKAWWE,55159
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=Sas3nrQv8ardxR51t59xZZsYm8nvUcA7tMSqEDViRLk,17155
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=CeV8MfqWHihK7vvV6Mbzq7rD9JykeQfrJeFdLVzfHI4,3547
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=rZnv2VMOvct6KBSQn-bHhwbKOi8886jB5u387flq-0E,5755
118
- atomicshop/file_io/file_io.py,sha256=A4_0xwruhQ8jSPpCCTlIBmuLLVB0GHQgiSVznVi4cV0,6395
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=PZp9AAW2ihSUZCen1fhuwFW7Rucd9jA1Pw6pK6Q3DVM,6994
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=I5Oq6tSUIXAS6FYlflZzYDtC1rbIYdIKax_R1WsFjso,19093
127
- atomicshop/mitm/import_config.py,sha256=fvUESPMkpRvkL7HtMaUqQRPwPF0eHV5V6pwueg4DQkU,7881
128
- atomicshop/mitm/initialize_engines.py,sha256=YoSNksMdu4vHjr5xy77t9t5W74zyDZIdjIXrzd3eRXc,8204
129
- atomicshop/mitm/initialize_mitm_server.py,sha256=hwqVk6PMc2iDpl0bLwbUlPrxEmu7Ql75-WWCJxiKh1g,19320
130
- atomicshop/mitm/message.py,sha256=fHvYEyEx-FAXbIMrKMJ_ybBinezF6IFbPlwCqpRrF44,1768
131
- atomicshop/mitm/recs_files.py,sha256=Vu5Pve5-b4sONPTOtes-DkU-JeHG5Lxs2JdVZW-FYVM,2929
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=E0ba1PjsUEcmQUPPw2YH911lyWkbQb9OSAdgB3pihsY,24658
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=sBvPlFMOCTdS-qgW9uTKvvJCFT5nNW9n3UyhaFcjAfg,1365
139
- atomicshop/mitm/engines/__parent/recorder___parent.py,sha256=kIBfETIgRX40-MfoqrCao6dbbAubp2QC_j29B3EY7Do,4666
140
- atomicshop/mitm/engines/__parent/responder___parent.py,sha256=e2cdw3tuvNSXp4C2xKdrz-ytveFih1-OV_rpxhJ3zEM,12214
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=2bwj6gltlA2nQTsq9Yrx2XuddspKqhbtPW0_W8TBnbU,5935
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=ZVFc6jjxNBbxknK8m4ec5WUFHtDUiM7vnsyYnWUBjWU,19109
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=A2Eo1BrS8bNLRNc0V4_724w4dTZasDQFqrvfhf_HY_g,4790
290
- atomicshop/wrappers/pywin32w/wmis/win32networkadapter.py,sha256=LUtcfva5VHhzWFv7W2pE1u-A54sgTqy1jIOg09YfS3g,6828
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=ml8prNrLPFqsoXAEsV6LbGZliMerzI_beE5uM1hmmw4,45278
298
- atomicshop/wrappers/socketw/exception_wrapper.py,sha256=NQ_BH8xLFxi5MlL4bjKMBv8zIb3gy8wqml8UGhBPjzE,7033
299
- atomicshop/wrappers/socketw/get_process.py,sha256=6WJ7PbG2tcyJ5ylDQUnP82TlU0YMH94Ccbhfdj0W4t8,5992
300
- atomicshop/wrappers/socketw/receiver.py,sha256=m8hXKOa8dqEQGUdcbYjshH8-j0CsMGRkge2ifYKhaAw,9050
301
- atomicshop/wrappers/socketw/sender.py,sha256=hHpBLc0LCfOIUErq2mc0ATfp0tDDQ5XhcYT4hRAZARU,3680
302
- atomicshop/wrappers/socketw/sni.py,sha256=JUlPmM5e_Wzv2QcYxOrW_mwYZlft2JMPin6nSXFW9ug,17169
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=SdchUf9qrPk1Rrat0RzvMeN_2NioD7b7a97MkToCYgM,6332
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-2.16.10.dist-info/LICENSE.txt,sha256=lLU7EYycfYcK2NR_1gfnhnRC8b8ccOTElACYplgZN88,1094
309
- atomicshop-2.16.10.dist-info/METADATA,sha256=9CV_gguQyOeLDaXaDj8mdHaQRQytxupfMD07fdyYi1o,10503
310
- atomicshop-2.16.10.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
311
- atomicshop-2.16.10.dist-info/top_level.txt,sha256=EgKJB-7xcrAPeqTRF2laD_Np2gNGYkJkd4OyXqpJphA,11
312
- atomicshop-2.16.10.dist-info/RECORD,,
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,,