atomicshop 2.21.1__py3-none-any.whl → 3.0.0__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/multiprocesses.py +228 -30
- atomicshop/dns.py +2 -0
- atomicshop/mitm/config_static.py +2 -1
- atomicshop/mitm/engines/create_module_template.py +2 -7
- atomicshop/mitm/import_config.py +30 -26
- atomicshop/mitm/initialize_engines.py +9 -24
- atomicshop/mitm/mitm_main.py +187 -59
- atomicshop/networks.py +448 -0
- atomicshop/wrappers/ctyping/setup_device.py +466 -0
- atomicshop/wrappers/dockerw/dockerw.py +17 -21
- atomicshop/wrappers/mongodbw/mongodbw.py +1 -0
- atomicshop/wrappers/psutilw/{networks.py → psutil_networks.py} +3 -1
- atomicshop/wrappers/pywin32w/wmis/msft_netipaddress.py +76 -0
- atomicshop/wrappers/pywin32w/wmis/win32_networkadapterconfiguration.py +262 -0
- atomicshop/wrappers/pywin32w/wmis/win32networkadapter.py +51 -82
- atomicshop/wrappers/pywin32w/wmis/wmi_helpers.py +235 -0
- atomicshop/wrappers/socketw/accepter.py +15 -1
- atomicshop/wrappers/socketw/creator.py +7 -1
- atomicshop/wrappers/socketw/dns_server.py +33 -39
- atomicshop/wrappers/socketw/exception_wrapper.py +20 -11
- atomicshop/wrappers/socketw/socket_wrapper.py +29 -78
- atomicshop/wrappers/winregw/winreg_network.py +20 -0
- {atomicshop-2.21.1.dist-info → atomicshop-3.0.0.dist-info}/METADATA +2 -1
- {atomicshop-2.21.1.dist-info → atomicshop-3.0.0.dist-info}/RECORD +28 -24
- atomicshop/wrappers/pywin32w/wmis/helpers.py +0 -131
- {atomicshop-2.21.1.dist-info → atomicshop-3.0.0.dist-info}/LICENSE.txt +0 -0
- {atomicshop-2.21.1.dist-info → atomicshop-3.0.0.dist-info}/WHEEL +0 -0
- {atomicshop-2.21.1.dist-info → atomicshop-3.0.0.dist-info}/top_level.txt +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
atomicshop/__init__.py,sha256=
|
|
1
|
+
atomicshop/__init__.py,sha256=9f0rOX9Jqmk2GA6tIFVRTSMlFWo9yFeOiKfDQ-jt_oE,122
|
|
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,7 +10,7 @@ atomicshop/console_output.py,sha256=AOSJjrRryE97PAGtgDL03IBtWSi02aNol8noDnW3k6M,
|
|
|
10
10
|
atomicshop/console_user_response.py,sha256=OHcjuzWAys6WmfRnMIU_nkJA634kKmJh6T8w1VtUTJM,2714
|
|
11
11
|
atomicshop/datetimes.py,sha256=IQZ66lmta-ZqxYbyHzm_9eugbJFSilXK1e0kfMgoXGg,18371
|
|
12
12
|
atomicshop/diff_check.py,sha256=vxTDccVbGZHEge6Ja9_ArLWwslOUgIoJAdYPylh4cZg,27176
|
|
13
|
-
atomicshop/dns.py,sha256=
|
|
13
|
+
atomicshop/dns.py,sha256=FVrXYk-r3zH6HbUyB3wvhhWM-J0RKmd_CCO50TXVq1A,6831
|
|
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
|
|
@@ -23,6 +23,7 @@ atomicshop/http_parse.py,sha256=1Tna9YbOM0rE3t6i_M-klBlwd1KNSA9skA_BqKGXDFc,1186
|
|
|
23
23
|
atomicshop/inspect_wrapper.py,sha256=sGRVQhrJovNygHTydqJj0hxES-aB2Eg9KbIk3G31apw,11429
|
|
24
24
|
atomicshop/ip_addresses.py,sha256=penRFeJ1-LDVTko4Q0EwK4JiN5cU-KzCBR2VXg9qbUY,1238
|
|
25
25
|
atomicshop/keyboard_press.py,sha256=1W5kRtOB75fulVx-uF2yarBhW0_IzdI1k73AnvXstk0,452
|
|
26
|
+
atomicshop/networks.py,sha256=XiQYQEPcBRX_HwNNHa1c8jN1OnRj6E8azcR24oFCkng,17922
|
|
26
27
|
atomicshop/on_exit.py,sha256=9XlOnzoAG8zlI8wBF4AB8hyrC6Q1b84gkhqpAhhdN9g,6977
|
|
27
28
|
atomicshop/pbtkmultifile_argparse.py,sha256=aEk8nhvoQVu-xyfZosK3ma17CwIgOjzO1erXXdjwtS4,4574
|
|
28
29
|
atomicshop/print_api.py,sha256=SJNQIMqSLlYaPtjHnALySAI-jQYuYHOCGgfP7oe96fU,10957
|
|
@@ -106,7 +107,7 @@ atomicshop/basics/isinstancing.py,sha256=fQ35xfqbguQz2BUn-3a4KVGskhTcIn8JjRtxV2r
|
|
|
106
107
|
atomicshop/basics/list_of_classes.py,sha256=PJoE1VJdhhQ4gSFr88zW7IApXd4Ez7xLz-7vAM-7gug,978
|
|
107
108
|
atomicshop/basics/list_of_dicts.py,sha256=tj0LNPf1ljNI_qpoO-PiOT4Ulmk1M-UpTGyn9twVcw8,8039
|
|
108
109
|
atomicshop/basics/lists.py,sha256=I0C62vrDrNwCTNl0EjUZNa1Jsd8l0rTkp28GEx9QoEI,4258
|
|
109
|
-
atomicshop/basics/multiprocesses.py,sha256=
|
|
110
|
+
atomicshop/basics/multiprocesses.py,sha256=D-xe4KNWy-CffhQkWcDcROl00KYzdTk-9itrxTotirs,31019
|
|
110
111
|
atomicshop/basics/numbers.py,sha256=ESX0z_7o_ok3sOmCKAUBoZinATklgMy2v-4RndqXlVM,1837
|
|
111
112
|
atomicshop/basics/package_module.py,sha256=fBd0uVgFce25ZCVtLq83iyowRlbwdWYFj_t4Ml7LU14,391
|
|
112
113
|
atomicshop/basics/randoms.py,sha256=DmYLtnIhDK29tAQrGP1Nt-A-v8WC7WIEB8Edi-nk3N4,282
|
|
@@ -133,18 +134,18 @@ atomicshop/file_io/tomls.py,sha256=vZ_Wng5alLf8z6HSEZj7PS0XKDA-Iies9ihVWOkTcKo,1
|
|
|
133
134
|
atomicshop/file_io/xlsxs.py,sha256=v_dyg9GD4LqgWi6wA1QuWRZ8zG4ZwB6Dz52ytdcmmmI,2184
|
|
134
135
|
atomicshop/file_io/xmls.py,sha256=zh3SuK-dNaFq2NDNhx6ivcf4GYCfGM8M10PcEwDSpxk,2104
|
|
135
136
|
atomicshop/mitm/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
136
|
-
atomicshop/mitm/config_static.py,sha256=
|
|
137
|
+
atomicshop/mitm/config_static.py,sha256=N3D06C_wUytwm80PQCL90ZGHLMHeQlCcI2XQQU2FZ1I,8145
|
|
137
138
|
atomicshop/mitm/config_toml_editor.py,sha256=2p1CMcktWRR_NW-SmyDwylu63ad5e0-w1QPMa8ZLDBw,1635
|
|
138
139
|
atomicshop/mitm/connection_thread_worker.py,sha256=IZtcdW9ZZrtgL-dawt_o56emGCrzWtbd8fUAwgKX9NU,27972
|
|
139
|
-
atomicshop/mitm/import_config.py,sha256=
|
|
140
|
-
atomicshop/mitm/initialize_engines.py,sha256=
|
|
140
|
+
atomicshop/mitm/import_config.py,sha256=tSqn1mKoHZPanbFOhccSiQomTtXAHS5M6-FMP02jx6o,17434
|
|
141
|
+
atomicshop/mitm/initialize_engines.py,sha256=bBlm7xAjWq8MZHo4MZKBHUVWqq6Drm2UN-VHfYnQ3Nk,6614
|
|
141
142
|
atomicshop/mitm/message.py,sha256=CDhhm4BTuZE7oNZCjvIZ4BuPOW4MuIzQLOg91hJaxDI,3065
|
|
142
|
-
atomicshop/mitm/mitm_main.py,sha256=
|
|
143
|
+
atomicshop/mitm/mitm_main.py,sha256=cfQLaPaUZgluatlZDRiToi14ekZbPT2KM4-AiivTs3w,30055
|
|
143
144
|
atomicshop/mitm/recs_files.py,sha256=ZAAD0twun-FtmbSniXe3XQhIlawvANNB_HxwbHj7kwI,3151
|
|
144
145
|
atomicshop/mitm/shared_functions.py,sha256=0lzeyINd44sVEfFbahJxQmz6KAMWbYrW5ou3UYfItvw,1777
|
|
145
146
|
atomicshop/mitm/statistic_analyzer.py,sha256=5_sAYGX2Xunzo_pS2W5WijNCwr_BlGJbbOO462y_wN4,27533
|
|
146
147
|
atomicshop/mitm/engines/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
147
|
-
atomicshop/mitm/engines/create_module_template.py,sha256=
|
|
148
|
+
atomicshop/mitm/engines/create_module_template.py,sha256=OSX6iM54_PFdo45AMO4f4eToYmLN3UTXZF7mVoQOBko,5104
|
|
148
149
|
atomicshop/mitm/engines/create_module_template_main_example.py,sha256=LeQ44Rp2Gi_KbIDY_4OMS0odkSK3zFZWra_oAka5eJY,243
|
|
149
150
|
atomicshop/mitm/engines/__parent/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
150
151
|
atomicshop/mitm/engines/__parent/parser___parent.py,sha256=HHaCXhScl3OlPjz6eUxsDpJaZyk6BNuDMc9xCkeo2Ws,661
|
|
@@ -209,6 +210,7 @@ atomicshop/wrappers/certauthw/certauthw.py,sha256=4WvhjANI7Kzqrr_nKmtA8Kf7B6rute
|
|
|
209
210
|
atomicshop/wrappers/ctyping/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
210
211
|
atomicshop/wrappers/ctyping/file_details_winapi.py,sha256=dmdnCMwx4GgVEctiUIyniVShAoXmv_bZu_o81C450PY,2810
|
|
211
212
|
atomicshop/wrappers/ctyping/process_winapi.py,sha256=QcXL-ETtlSSkoT8F7pYle97ubGWsjYp8cx8HxkVMgAc,2762
|
|
213
|
+
atomicshop/wrappers/ctyping/setup_device.py,sha256=y5w5Dw6sukrYwgDOTHGgAM63bhd5LMgXRHA1tEcmRB8,19573
|
|
212
214
|
atomicshop/wrappers/ctyping/win_console.py,sha256=uTtjkz9rY559AaV0dhyZYUSSEe9cn6Du2DgurdMtX-M,1158
|
|
213
215
|
atomicshop/wrappers/ctyping/etw_winapi/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
214
216
|
atomicshop/wrappers/ctyping/etw_winapi/const.py,sha256=W-NMYlJ8RrMxLRjKcatEHe6wJwNxNMGSmYbXRXrlz6o,11223
|
|
@@ -219,7 +221,7 @@ atomicshop/wrappers/ctyping/msi_windows_installer/cabs.py,sha256=htzwb2ROYI8yyc8
|
|
|
219
221
|
atomicshop/wrappers/ctyping/msi_windows_installer/extract_msi_main.py,sha256=AEkjnqEhfCbCUcYaulv3uba5hZjTB03xm-puAINsZGM,5488
|
|
220
222
|
atomicshop/wrappers/ctyping/msi_windows_installer/tables.py,sha256=tHsu0YfBgzuIk9L-PyqLgU_IzyVbCfy8L1EqelNnvWk,17674
|
|
221
223
|
atomicshop/wrappers/dockerw/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
222
|
-
atomicshop/wrappers/dockerw/dockerw.py,sha256=
|
|
224
|
+
atomicshop/wrappers/dockerw/dockerw.py,sha256=cVLUiMetBDlvFVNnX9wzVsUO1ylJxQfEwEw8FOEg37w,9659
|
|
223
225
|
atomicshop/wrappers/dockerw/install_docker.py,sha256=7NTMxCPBesr0QcqB0RZ5YU0I8FDPtNux_mYAX28wI0I,9982
|
|
224
226
|
atomicshop/wrappers/elasticsearchw/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
225
227
|
atomicshop/wrappers/elasticsearchw/config_basic.py,sha256=fDujtrjEjbWiYh_WQ3OcYp_8mXhXPYeKLy4wSPL5qM0,1177
|
|
@@ -271,7 +273,7 @@ atomicshop/wrappers/mongodbw/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NM
|
|
|
271
273
|
atomicshop/wrappers/mongodbw/install_mongodb_ubuntu.py,sha256=2eEOb35T259lhn5koynfTIm1hanxD02zN97ExGSBM2o,4021
|
|
272
274
|
atomicshop/wrappers/mongodbw/install_mongodb_win.py,sha256=64EUQYx7VuMC3ndO2x3nSErh5NZ_BsqMwGvPcybfC-Q,8499
|
|
273
275
|
atomicshop/wrappers/mongodbw/mongo_infra.py,sha256=IjEF0jPzQz866MpTm7rnksnyyWQeUT_B2h2DA9ryAio,2034
|
|
274
|
-
atomicshop/wrappers/mongodbw/mongodbw.py,sha256=
|
|
276
|
+
atomicshop/wrappers/mongodbw/mongodbw.py,sha256=_C-v0ZKM7SRThZOnpOtUKmy3fvcvdiGQNvLCo3Drgls,56053
|
|
275
277
|
atomicshop/wrappers/nodejsw/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
276
278
|
atomicshop/wrappers/nodejsw/install_nodejs_ubuntu.py,sha256=wjpJdfAaY92RYl_L9esDIWuBMGeYH35RHJ5BVgMof8Y,6260
|
|
277
279
|
atomicshop/wrappers/nodejsw/install_nodejs_windows.py,sha256=WvXIcEVnKcQYD-KNwhVP094s__1tt0Ir2Y87MABl8Nc,6283
|
|
@@ -290,8 +292,8 @@ atomicshop/wrappers/playwrightw/waits.py,sha256=PBFdz_PoM7Fo7O8hLqMrxNPzBEYgPoXw
|
|
|
290
292
|
atomicshop/wrappers/psutilw/cpus.py,sha256=w6LPBMINqS-T_X8vzdYkLS2Wzuve28Ydp_GafTCngrc,236
|
|
291
293
|
atomicshop/wrappers/psutilw/disks.py,sha256=3ZSVoommKH1TWo37j_83frB-NqXF4Nf5q5mBCX8G4jE,9221
|
|
292
294
|
atomicshop/wrappers/psutilw/memories.py,sha256=_S0aL8iaoIHebd1vOFrY_T9aROM5Jx2D5CvDh_4j0Vc,528
|
|
293
|
-
atomicshop/wrappers/psutilw/networks.py,sha256=dsCos1MaMdFYjyCyZAlM4N1NWAZh5gKOPNcIX3hQ7jA,2848
|
|
294
295
|
atomicshop/wrappers/psutilw/processes.py,sha256=ihYnxfMTVEXHWy92iewktoZGxazx3v5QCIn0bNLnfsU,2859
|
|
296
|
+
atomicshop/wrappers/psutilw/psutil_networks.py,sha256=79FplDAj45ofBCudlft77O3lfi0RDwJ3ijye0ZGRR44,2870
|
|
295
297
|
atomicshop/wrappers/psutilw/psutilw.py,sha256=q3EwgprqyrR4zLCjl4l5DHFOQoukEvQMIPjNB504oQ0,21262
|
|
296
298
|
atomicshop/wrappers/psycopgw/psycopgw.py,sha256=XJvVf0oAUjCHkrYfKeFuGCpfn0Oxj3u4SbKMKA1508E,7118
|
|
297
299
|
atomicshop/wrappers/pycharmw/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -308,30 +310,32 @@ atomicshop/wrappers/pywin32w/win_event_log/subscribes/process_create.py,sha256=I
|
|
|
308
310
|
atomicshop/wrappers/pywin32w/win_event_log/subscribes/process_terminate.py,sha256=OJFWywGGGkBHq1N0MKGtHSFFQMFQSDVU6FXCRIdssg8,3761
|
|
309
311
|
atomicshop/wrappers/pywin32w/win_event_log/subscribes/schannel_logging.py,sha256=8nxIcNcbeEuvoBwhujgh7-oIpL9A6J-gg1NM8hOGAVA,3442
|
|
310
312
|
atomicshop/wrappers/pywin32w/wmis/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
311
|
-
atomicshop/wrappers/pywin32w/wmis/
|
|
312
|
-
atomicshop/wrappers/pywin32w/wmis/
|
|
313
|
+
atomicshop/wrappers/pywin32w/wmis/msft_netipaddress.py,sha256=jCfLS81byOgBwtZWTRPzDWm2IUkcODy1REYjdN80fJo,3482
|
|
314
|
+
atomicshop/wrappers/pywin32w/wmis/win32_networkadapterconfiguration.py,sha256=Iz-p--cE2iP6wyD9ceSF3scMMvdXC5fF-VKP1v-iIDo,10813
|
|
315
|
+
atomicshop/wrappers/pywin32w/wmis/win32networkadapter.py,sha256=iao4OK6u097uRacw6vQuya1kOtJzLA1IM4cgo6UCWLM,3941
|
|
313
316
|
atomicshop/wrappers/pywin32w/wmis/win32process.py,sha256=qMzXtJ5hBZ5ydAyqpDbSx0nO2RJQL95HdmV5SzNKMhk,6826
|
|
317
|
+
atomicshop/wrappers/pywin32w/wmis/wmi_helpers.py,sha256=H8QIiHlm9ei8GSudKECFpEc1qny_1PNnVxZuIDK9xfU,8604
|
|
314
318
|
atomicshop/wrappers/socketw/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
315
|
-
atomicshop/wrappers/socketw/accepter.py,sha256=
|
|
319
|
+
atomicshop/wrappers/socketw/accepter.py,sha256=4I9ORugRDvwaqSzm_gWSjZnRwQGY8hDTlCdsYHwH_ZE,2377
|
|
316
320
|
atomicshop/wrappers/socketw/base.py,sha256=EcosGkD8VzgBY3GeIHDSG29ThQfXwg3-GQPmBTAqTdw,3048
|
|
317
321
|
atomicshop/wrappers/socketw/certificator.py,sha256=mtWPJ_ew3OSwt0-1W4jaoco1VIY4NRCrMv3mDUxb_Cc,12418
|
|
318
|
-
atomicshop/wrappers/socketw/creator.py,sha256=
|
|
319
|
-
atomicshop/wrappers/socketw/dns_server.py,sha256=
|
|
320
|
-
atomicshop/wrappers/socketw/exception_wrapper.py,sha256=
|
|
322
|
+
atomicshop/wrappers/socketw/creator.py,sha256=LGI4gcgJ47thx6f96rjwjPz3CsTAIv6VxWFY4EyUF2E,13667
|
|
323
|
+
atomicshop/wrappers/socketw/dns_server.py,sha256=2Y0yE1jIwv--wgNG8SnleqHttPjnKRksndVE_e0CSGM,53806
|
|
324
|
+
atomicshop/wrappers/socketw/exception_wrapper.py,sha256=qW_1CKyPgGlsIt7_jusKkMV4A4hih4bX324u0PLnoO8,7382
|
|
321
325
|
atomicshop/wrappers/socketw/get_process.py,sha256=aJC-_qFUv3NgWCSUzDI72E4z8_-VTZE9NVZ0CwUoNlM,5698
|
|
322
326
|
atomicshop/wrappers/socketw/receiver.py,sha256=9B3MvcDqr4C3x2fsnjG5SQognd1wRqsBgikxZa0wXG8,8243
|
|
323
327
|
atomicshop/wrappers/socketw/sender.py,sha256=aX_K8l_rHjd5AWb8bi5mt8-YTkMYVRDB6DnPqK_XDUE,4754
|
|
324
328
|
atomicshop/wrappers/socketw/sni.py,sha256=q-F-R1KtE94g8WGrR3QHgi-otXZJUPBprEwQqnY80_A,17639
|
|
325
329
|
atomicshop/wrappers/socketw/socket_client.py,sha256=AQKjm_GZLH2PO7gkFbwzIbXzUXxRFvBTc6onrgapFqs,22048
|
|
326
330
|
atomicshop/wrappers/socketw/socket_server_tester.py,sha256=Qobmh4XV8ZxLUaw-eW4ESKAbeSLecCKn2OWFzMhadk0,6420
|
|
327
|
-
atomicshop/wrappers/socketw/socket_wrapper.py,sha256=
|
|
331
|
+
atomicshop/wrappers/socketw/socket_wrapper.py,sha256=_EKATBlY4N-fYI9MX7Egaai1DDs9MSaRARcVu5cLJoY,40893
|
|
328
332
|
atomicshop/wrappers/socketw/ssl_base.py,sha256=kmiif84kMhBr5yjQW17p935sfjR5JKG0LxIwBA4iVvU,2275
|
|
329
333
|
atomicshop/wrappers/socketw/statistics_csv.py,sha256=WcNyaqEZ82S5-f3kzqi1nllNT2Nd2P_zg8HqCc7vW4s,4120
|
|
330
334
|
atomicshop/wrappers/winregw/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
331
335
|
atomicshop/wrappers/winregw/winreg_installed_software.py,sha256=Qzmyktvob1qp6Tjk2DjLfAqr_yXV0sgWzdMW_9kwNjY,2345
|
|
332
|
-
atomicshop/wrappers/winregw/winreg_network.py,sha256=
|
|
333
|
-
atomicshop-
|
|
334
|
-
atomicshop-
|
|
335
|
-
atomicshop-
|
|
336
|
-
atomicshop-
|
|
337
|
-
atomicshop-
|
|
336
|
+
atomicshop/wrappers/winregw/winreg_network.py,sha256=3Ts1sVqSUiCDsHRHwJCbiZ9EYvv2ELGxF0Y_pibGU4k,9596
|
|
337
|
+
atomicshop-3.0.0.dist-info/LICENSE.txt,sha256=lLU7EYycfYcK2NR_1gfnhnRC8b8ccOTElACYplgZN88,1094
|
|
338
|
+
atomicshop-3.0.0.dist-info/METADATA,sha256=BX3R74_ae6siK07Aq7t0R6MbfRd-tEZ0Yn7gUO2pNSo,10653
|
|
339
|
+
atomicshop-3.0.0.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
|
|
340
|
+
atomicshop-3.0.0.dist-info/top_level.txt,sha256=EgKJB-7xcrAPeqTRF2laD_Np2gNGYkJkd4OyXqpJphA,11
|
|
341
|
+
atomicshop-3.0.0.dist-info/RECORD,,
|
|
@@ -1,131 +0,0 @@
|
|
|
1
|
-
import win32com.client
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
class WmiMethodExecutionError(Exception):
|
|
5
|
-
pass
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
class WmiMethodParameterError(Exception):
|
|
9
|
-
pass
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
class EmptyValue:
|
|
13
|
-
pass
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
def get_method(
|
|
17
|
-
wmi_object: win32com.client.CDispatch,
|
|
18
|
-
method_name: str
|
|
19
|
-
):
|
|
20
|
-
"""
|
|
21
|
-
Get the WMI method.
|
|
22
|
-
|
|
23
|
-
:param wmi_object: WMI object.
|
|
24
|
-
:param method_name: str, name of the method.
|
|
25
|
-
:return: WMI method object.
|
|
26
|
-
"""
|
|
27
|
-
|
|
28
|
-
return wmi_object.Methods_(method_name)
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
def get_method_parameter_instance(
|
|
32
|
-
method: win32com.client.CDispatch
|
|
33
|
-
):
|
|
34
|
-
"""
|
|
35
|
-
Get the WMI method parameter.
|
|
36
|
-
|
|
37
|
-
:param method: WMI method object.
|
|
38
|
-
:return: WMI method parameter object.
|
|
39
|
-
"""
|
|
40
|
-
|
|
41
|
-
return method.inParameters.SpawnInstance_()
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
def call_method(
|
|
45
|
-
wmi_object: win32com.client.CDispatch,
|
|
46
|
-
method_name: str,
|
|
47
|
-
value: any = EmptyValue
|
|
48
|
-
):
|
|
49
|
-
"""
|
|
50
|
-
Call the WMI method.
|
|
51
|
-
|
|
52
|
-
:param wmi_object: WMI object.
|
|
53
|
-
:param method_name: str, name of the method.
|
|
54
|
-
:param value: any, value to pass to the method.
|
|
55
|
-
Methods can receive a None value if they don't require any parameters.
|
|
56
|
-
If the method doesn't require any parameters, leave it as 'EmptyValue' class.
|
|
57
|
-
:return: WMI method object.
|
|
58
|
-
"""
|
|
59
|
-
|
|
60
|
-
# Get the method instance out of the WMI object.
|
|
61
|
-
method = get_method(wmi_object, method_name)
|
|
62
|
-
|
|
63
|
-
# Check if the method requires any parameters.
|
|
64
|
-
if not method.InParameters and not isinstance(value, EmptyValue):
|
|
65
|
-
raise WmiMethodParameterError(f"Method '{method_name}' doesn't require any parameters.\nValue: {value}")
|
|
66
|
-
elif method.InParameters and isinstance(value, EmptyValue):
|
|
67
|
-
raise WmiMethodParameterError(f"Method '{method_name}' requires parameters.\nValue: {value}")
|
|
68
|
-
|
|
69
|
-
# If value was passed for the method to set.
|
|
70
|
-
if not isinstance(value, EmptyValue):
|
|
71
|
-
# Get the input parameters names that a method requires.
|
|
72
|
-
# The names are stored in a list of tuples where the first element is the name of the parameter and the second
|
|
73
|
-
# element is a boolean that indicates if the parameter is an array.
|
|
74
|
-
input_parameters_names = [
|
|
75
|
-
(input_parameter.Name, input_parameter.IsArray) for input_parameter in method.InParameters.Properties_]
|
|
76
|
-
|
|
77
|
-
# Check if the value and the input parameter is a list.
|
|
78
|
-
if not (isinstance(value, list) or value is None) and input_parameters_names[0][1]:
|
|
79
|
-
raise WmiMethodParameterError(f"Parameter '{input_parameters_names[0][0]}' must be a list.\nValue: {value}")
|
|
80
|
-
elif (isinstance(value, list) or value is None) and not input_parameters_names[0][1]:
|
|
81
|
-
raise WmiMethodParameterError(f"Parameter '{input_parameters_names[0][0]}' "
|
|
82
|
-
f"must be a single value.\nValue: {value}")
|
|
83
|
-
|
|
84
|
-
# Get generic parameter instance.
|
|
85
|
-
parameter_instance = get_method_parameter_instance(method)
|
|
86
|
-
# Set the attribute of the parameter name instance that we retrieved from above to the value.
|
|
87
|
-
# At this point only been using one parameter for a method, so maybe need to refactor this part if needed
|
|
88
|
-
# in the future for more than one parameter.
|
|
89
|
-
setattr(parameter_instance, input_parameters_names[0][0], value)
|
|
90
|
-
|
|
91
|
-
# Execute the method with the parameter instance.
|
|
92
|
-
result = wmi_object.ExecMethod_(method_name, parameter_instance)
|
|
93
|
-
else:
|
|
94
|
-
# Execute the method without any parameters.
|
|
95
|
-
result = wmi_object.ExecMethod_(method_name)
|
|
96
|
-
|
|
97
|
-
# Getting Result.
|
|
98
|
-
# Get the output parameters names that a method returns.
|
|
99
|
-
if method.OutParameters:
|
|
100
|
-
out_properties_names = [
|
|
101
|
-
(out_property.Name, out_property.IsArray) for out_property in method.OutParameters.Properties_]
|
|
102
|
-
else:
|
|
103
|
-
out_properties_names = []
|
|
104
|
-
|
|
105
|
-
# Get the results for each parameter the method returns.
|
|
106
|
-
results = []
|
|
107
|
-
for name, is_array in out_properties_names:
|
|
108
|
-
value = result.Properties_(name).Value
|
|
109
|
-
if is_array:
|
|
110
|
-
results.append(list(value or []))
|
|
111
|
-
else:
|
|
112
|
-
results.append(value)
|
|
113
|
-
|
|
114
|
-
# Check if the method executed successfully.
|
|
115
|
-
for result in results:
|
|
116
|
-
if result != 0:
|
|
117
|
-
if result == 91:
|
|
118
|
-
raise PermissionError(f"Failed to execute method '{method_name}' with error code: {result}, "
|
|
119
|
-
f"Try with Admin rights.")
|
|
120
|
-
else:
|
|
121
|
-
raise WmiMethodExecutionError(f"Failed to execute method '{method_name}' with error code: {result}")
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
"""
|
|
125
|
-
# Setting SeDebugPrivilege
|
|
126
|
-
import win32security, ntsecuritycon, win32con, win32api
|
|
127
|
-
privs = ((win32security.LookupPrivilegeValue('',ntsecuritycon.SE_DEBUG_NAME), win32con.SE_PRIVILEGE_ENABLED),)
|
|
128
|
-
hToken = win32security.OpenProcessToken(win32api.GetCurrentProcess(), win32security.TOKEN_ALL_ACCESS)
|
|
129
|
-
win32security.AdjustTokenPrivileges(hToken, False, privs)
|
|
130
|
-
win32api.CloseHandle(hToken)
|
|
131
|
-
"""
|
|
File without changes
|
|
File without changes
|
|
File without changes
|