o
    j                     @   s  d dl mZmZmZmZmZ d dlmZ d dlm	Z	m
Z
mZ d dlmZ d dlmZ d dlmZ edZG dd	 d	eZG d
d deZG dd deZG dd deZe	ZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG d d! d!eZ G d"d# d#eZ!eefeefeefeefe e!fd$Z"d%d& Z#d2d(d)Z$d*d+ Z%d,d- Z&d3d/d0Z'd1S )4    )NDRCALL	NDRSTRUCT
NDRPOINTERNDRUniConformantArrayNDRUniConformantVaryingArray)
PRPC_IF_ID)ULONGDWORD_ARRAY	ULONGLONG)DCERPCException)uuidtup_to_bin)	nt_errors)z$afa8bd80-7d8a-11c9-bef4-08002b102989z1.0c                   @   s   e Zd ZdddZdd ZdS )DCERPCSessionErrorNc                 C   s   t | ||| d S N)r   __init__)selferror_string
error_codepacket r   /root/aizidognhua/tmp/workspace/projects/ec89d86c-575f-41c9-af57-ac45cbdbf775/venv/lib/python3.10/site-packages/impacket/dcerpc/v5/mgmt.pyr   $   s   zDCERPCSessionError.__init__c                 C   sF   | j }|tjv rtj| d }tj| d }d| j ||f S d| j  S )Nr      z'MGMT SessionError: code: 0x%x - %s - %sz+MGMT SessionError: unknown error code: 0x%x)r   r   ERROR_MESSAGES)r   keyerror_msg_shorterror_msg_verboser   r   r   __str__'   s   

zDCERPCSessionError.__str__)NNN)__name__
__module____qualname__r   r   r   r   r   r   r   #   s    
r   c                   @   s   e Zd ZeZdS )rpc_if_id_p_t_arrayN)r   r   r   r   itemr   r   r   r   r    4   s    r    c                   @   s,   e Zd ZdefdeffZdefdeffZdS )rpc_if_id_vector_tcountif_idN)r   r   r   r   r    	structurer
   structure64r   r   r   r   r"   7   s    r"   c                   @      e Zd ZdeffZdS )rpc_if_id_vector_p_tDataN)r   r   r   r"   referentr   r   r   r   r(   A       r(   c                   @      e Zd ZdZdZdS )
inq_if_idsr   r   Nr   r   r   opnumr%   r   r   r   r   r-   N       r-   c                   @      e Zd ZdefdeffZdS )inq_if_idsResponseif_id_vectorstatusN)r   r   r   r(   error_statusr%   r   r   r   r   r2   S       r2   c                   @   s   e Zd ZdZdeffZdS )	inq_statsr   r#   Nr   r   r   r/   r   r%   r   r   r   r   r7   Y   s    r7   c                   @   s"   e Zd ZdefdefdeffZdS )inq_statsResponser#   
statisticsr4   N)r   r   r   r   r	   r5   r%   r   r   r   r   r9   _   s
    r9   c                   @   r,   )is_server_listening   r   Nr.   r   r   r   r   r;   f   r0   r;   c                   @   r'   )is_server_listeningResponser4   Nr   r   r   r5   r%   r   r   r   r   r=   k   r+   r=   c                   @   r,   )stop_server_listening   r   Nr.   r   r   r   r   r?   p   r0   r?   c                   @   r'   )stop_server_listeningResponser4   Nr>   r   r   r   r   rA   u   r+   rA   c                   @   s    e Zd ZdZdefdeffZdS )inq_princ_name   authn_protoprinc_name_sizeNr8   r   r   r   r   rB   z   s
    rB   c                   @   r1   )inq_princ_nameResponse
princ_namer4   N)r   r   r   r   r5   r%   r   r   r   r   rF      r6   rF   )r   r   r<   r@   rC   c                 C      t  }| |S r   )r-   requestdcerI   r   r   r   hinq_if_ids      
rL   rC   c                 C   s   t  }||d< | |S )Nr#   )r7   rI   )rK   r#   rI   r   r   r   
hinq_stats   s   
rN   c                 C   s   t  }| j|ddS )NF
checkError)r;   rI   rJ   r   r   r   his_server_listening   s   rQ   c                 C   rH   r   )r?   rI   rJ   r   r   r   hstop_server_listening   rM   rR   r   c                 C   s$   t  }||d< ||d< | j|ddS )NrD   rE   FrO   )rB   rI   )rK   rD   rE   rI   r   r   r   hinq_princ_name   s   rS   N)rC   )r   r   )(impacket.dcerpc.v5.ndrr   r   r   r   r   impacket.dcerpc.v5.epmr   impacket.dcerpc.v5.dtypesr   r	   r
   impacket.dcerpc.v5.rpcrtr   impacket.uuidr   impacketr   MSRPC_UUID_MGMTr   r    r"   r(   r5   r-   r2   r7   r9   r;   r=   r?   rA   rB   rF   OPNUMSrL   rN   rQ   rR   rS   r   r   r   r   <module>   sB   

