HEX
Server: LiteSpeed
System: Linux s1049.use1.mysecurecloudhost.com 4.18.0-477.27.2.lve.el8.x86_64 #1 SMP Wed Oct 11 12:32:56 UTC 2023 x86_64
User: xedaptot (3356)
PHP: 8.3.31
Disabled: NONE
Upload Files
File: //opt/saltstack/salt/lib/python3.10/site-packages/shellingham/__pycache__/nt.cpython-310.pyc
o

;j��@s�ddlZddlZddlZddlmZmZmZmZmZm	Z	m
Z
mZmZddl
mZed�jZdZdZdZdZejjZdd	d
�Zdd�ZGd
d�dej�Zegej_eej_eegej_eej_ee�ej_ee� e�gej!_eej!_ee�ej!_ee� e�gej"_eej"_ee�ej"_gej#_eej#_eeegej$_eej$_ee�ej$_eee	egej%_eej%_ee�ej%_ej&dd��Z'dd�Z(dd�Z)ddd�Z*dS)�N)	�BOOL�CHAR�DWORD�HANDLE�LONG�LPWSTR�MAX_PATH�PDWORD�ULONG)�SHELL_NAMES�����z�ic��fdd�}|S)Ncs|�krt���|S�N)�ctypes�WinError)�ret�func�args��	error_val��B/opt/saltstack/salt/lib/python3.10/site-packages/shellingham/nt.py�checksz_check_handle.<locals>.checkr)rrrrr�
_check_handlesrcr)Ncs&|rdSt��}|�krdSt�|��)NTF)rZGetLastErrorr)rrr�code��expectedrrr(s
z_check_expected.<locals>.checkr)rrrrr�_check_expected'sr c@sVeZdZdefdefdefde�e�fdefdefdefdefd	efd
ee	ff
Z
dS)�ProcessEntry32�dwSizeZcntUsage�
th32ProcessIDZth32DefaultHeapIDZth32ModuleIDZ
cntThreads�th32ParentProcessIDZpcPriClassBaseZdwFlags�	szExeFileN)�__name__�
__module__�__qualname__rr�POINTERr
rrr�_fields_rrrrr!3s
�r!c	os4�||i|��}z|VWt�|�dSt�|�wr)�kernel32�CloseHandle)�fr�kwargs�handlerrr�_handlegs
�r0ccs��tj}t|td��-}t�}t�|�|_t�||�}|r/|Vt�	||�}|sWd�dSWd�dS1s:wYdS)Nr)
r+�CreateToolhelp32Snapshotr0�TH32CS_SNAPPROCESSr!r�sizeofr"�Process32First�
Process32Next)r-Zsnap�entryrrrr�_iter_processesps���"�r7cCs>tt�}	t�d|j�}t�|d||�r|jS|jd9_q)NT�rr)rrr�create_unicode_buffer�valuer+�QueryFullProcessImageNameW)�proch�sizeZ	path_buffrrr�_get_full_path{s�r>�
c		Cs�dd�t�D�}|p
t��}td|d�D]S}z||\}}Wnty*YdSwt|t�r6|�dd�}|�d�d�	�}|t
vrF|}qt}tt
j|d|��}|t|�fWd�S1scwYqdS)NcSsi|]
}|j|j|jf�qSr)r#r$r%)�.0�procrrr�
<dictcomp>�s��zget_shell.<locals>.<dictcomp>r��mbcs�replace�.)r7�os�getpid�range�KeyError�
isinstance�bytes�decode�
rpartition�lowerr�!PROCESS_QUERY_LIMITED_INFORMATIONr0r+�OpenProcessr>)	�pidZ	max_depthZproc_map�_Zppid�
executable�name�keyr<rrr�	get_shell�s,��
	
&�rW)r)Nr?)+�
contextlibrrGZctypes.wintypesrrrrrrrr	r
Zshellingham._corerr:ZINVALID_HANDLE_VALUEZERROR_NO_MORE_FILESZERROR_INSUFFICIENT_BUFFERr2rPZwindllr+rr �	Structurer!r,�argtypes�restyper1�errcheckr)r4r5ZGetCurrentProcessIdrQr;�contextmanagerr0r7r>rWrrrr�<module>s`,

	
�����