o
    j                     @   s.  d dl mZ d dl mZ d dlmZmZmZ d dlmZm	Z	m
Z
mZmZ d dlmZ d dlmZ d dlmZmZ d dlmZ ed	ZG d
d deZedZedZed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G dd deZ G dd deZ!d e e!fiZ"dddZ#dS )     )division)print_function)NDRCALL
NDRPOINTERNDRUniConformantArray)DWORDNTSTATUSGUIDRPC_SIDNULL)DCERPCException)system_errors)uuidtup_to_binstring_to_bin)	Structure)z$3dde7c30-165d-11d1-ab8f-00805f14db40z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/aiosmb/dcerpc/v5/bkrp.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'BKRP SessionError: code: 0x%x - %s - %sz+BKRP 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   z$7F752B10-178E-11D1-AB8F-00805F14DB40z$7FE94D50-178E-11D1-AB8F-00805F14DB40z$018FF48A-EABA-40C6-8F6D-72370240E967z$47270C64-2FC7-499B-AC5B-0E37CDCE899Ac                   @      e Zd ZdZdS )
BYTE_ARRAYcN)r   r    r!   itemr   r   r   r   r#   ;       r#   c                   @   s   e Zd ZdeffZdS )PBYTE_ARRAYDataN)r   r    r!   r#   referentr   r   r   r   r'   >   s    r'   c                   @   s   e Zd ZddddefdfZdS )Rc4EncryptedPayload)R3z32s="")MACz20s=""SID:)Secretr.   N)r   r    r!   r
   	structurer   r   r   r   r*   D   s    r*   c                   @   r"   )WRAPPED_SECRET))	SIGNATUREz<L=1)Payload_Length<L=0)Ciphertext_Lengthr4   )GUID_of_Wrapping_Keyz16s="")R2z68s="")_Rc4EncryptedPayloadz_-Rc4EncryptedPayloadzself["Payload_Length"])r*   r.   N)r   r    r!   r0   r   r   r   r   r1   M   r&   r1   c                   @   s,   e Zd ZdZdefdefdefdeffZdS )
BackuprKeyr   pguidActionAgentpDataIncbDataIndwParamN)r   r    r!   opnumr	   r#   r   r0   r   r   r   r   r9   \   s    r9   c                   @   s"   e Zd ZdefdefdeffZdS )BackuprKeyResponse	ppDataOut
pcbDataOut	ErrorCodeN)r   r    r!   r'   r   r   r0   r   r   r   r   r?   e   s
    r?   c                    sN   t  }||d< ||d< |tkrd|d< nt||d< ||d< | |I d H S )Nr:   r;   r   r<   r=   )r9   r   lenrequest)dcer:   r;   r=   rD   r   r   r   hBackuprKeyv   s   
rF   N)r   )$
__future__r   r   aiosmb.dcerpc.v5.ndrr   r   r   aiosmb.dcerpc.v5.dtypesr   r   r	   r
   r   aiosmb.dcerpc.v5.rpcrtr   aiosmb.dcerpc.v5r   aiosmb.dcerpc.v5.uuidr   r   aiosmb.dcerpc.v5.structurer   MSRPC_UUID_BKRPr   BACKUPKEY_BACKUP_GUIDBACKUPKEY_RESTORE_GUID_WIN2K"BACKUPKEY_RETRIEVE_BACKUP_KEY_GUIDBACKUPKEY_RESTORE_GUIDr#   r'   r*   r1   r9   r?   OPNUMSrF   r   r   r   r   <module>   s.   		