o
    jy=                  	   @   s(  d dl mZmZmZmZmZmZmZmZ d dl	m
Z
 d dl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 d dlmZmZ d d	lmZ ed
Z G dd deZ!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(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Z0G d*d+ d+eZ1G d,d- d-eZ2G d.d/ d/eZ3G d0d1 d1eZ4G d2d3 d3eZ5G d4d5 d5eZ6G d6d7 d7eZ7G d8d9 d9eZ8G d:d; d;eZ9G d<d= d=eZ:G d>d? d?eZ;G d@dA dAeZ<G dBdC dCeZ=G dDdE dEeZ>G dFdG dGeZ?G dHdI dIeZ@G dJdK dKeZAG dLdM dMeZBG dNdO dOeZCG dPdQ dQeZDG dRdS dSeZEG dTdU dUeZFG dVdW dWeZGG dXdY dYeZHG dZd[ d[eZIG d\d] d]eZJG d^d_ d_eZKG d`da daeZLG dbdc dceZMG ddde deeZNeGeHfeMeNfe?e@feKeLfeEeFfeCeDfeIeJfeAeBfdfZOeefdgdhZPe)jQd difdjdkZRe)jQd difdldmZSe)jQd difdndoZTe)jQfdpdqZUe)jQd difdrdsZVe)jQfdtduZWdvS )w    )ULONGLONGPRPC_SIDRPC_UNICODE_STRINGLPWSTRPRPC_UNICODE_STRINGNTSTATUSNULL)Enum)LSAPR_HANDLEPLSAPR_TRUST_INFORMATION_ARRAY)NDRCALL	NDRSTRUCTNDRENUM
NDRPOINTERNDRUniConformantArray)SID_NAME_USE)uuidtup_to_bin)DCERPCException)unpackpack)logger)z$12345778-1234-ABCD-EF00-0123456789ABz0.0c                   @   s   e Zd Zd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/lsat.pyr   $   s   zDCERPCSessionError.__init__)NNN)__name__
__module____qualname__r   r   r   r   r   r   #   s    r   i   c                   @   s"   e Zd ZdefdefdeffZdS )LSAPR_REFERENCED_DOMAIN_LISTEntriesDomains
MaxEntriesN)r    r!   r"   r   r   	structurer   r   r   r   r#   1   
    r#   c                   @      e Zd ZdeffZdS )PLSAPR_REFERENCED_DOMAIN_LISTDataN)r    r!   r"   r#   referentr   r   r   r   r*   8       r*   c                   @   "   e Zd ZdefdefdeffZdS )LSA_TRANSLATED_SIDUse
RelativeIdDomainIndexNr    r!   r"   r   r   r   r'   r   r   r   r   r/   >   r(   r/   c                   @      e Zd ZeZdS )LSA_TRANSLATED_SID_ARRAYN)r    r!   r"   r/   itemr   r   r   r   r5   F       r5   c                   @   r)   )PLSA_TRANSLATED_SID_ARRAYr+   N)r    r!   r"   r5   r,   r   r   r   r   r8   I   r-   r8   c                   @      e Zd ZdefdeffZdS )LSAPR_TRANSLATED_SIDSr$   SidsN)r    r!   r"   r   r8   r'   r   r   r   r   r:   N       r:   c                   @   s   e Zd ZG dd deZdS )LSAP_LOOKUP_LEVELc                   @   s(   e Zd ZdZdZdZdZdZdZdZ	dS )	zLSAP_LOOKUP_LEVEL.enumItems                     N)
r    r!   r"   LsapLookupWkstaLsapLookupPDCLsapLookupTDLLsapLookupGCLsapLookupXForestReferralLsapLookupXForestResolveLsapLookupRODCReferralToFullDCr   r   r   r   	enumItemsV   s    rL   N)r    r!   r"   r
   rL   r   r   r   r   r=   U   s    r=   c                   @   r)   )LSAPR_SID_INFORMATIONSidN)r    r!   r"   r   r'   r   r   r   r   rM   `   r-   rM   c                   @   r4   )LSAPR_SID_INFORMATION_ARRAYN)r    r!   r"   rM   r6   r   r   r   r   rO   f   r7   rO   c                   @   r)   )PLSAPR_SID_INFORMATION_ARRAYr+   N)r    r!   r"   rO   r,   r   r   r   r   rP   i   r-   rP   c                   @   r9   )LSAPR_SID_ENUM_BUFFERr$   SidInfoN)r    r!   r"   r   rP   r'   r   r   r   r   rQ   n   r<   rQ   c                   @   r.   )LSAPR_TRANSLATED_NAMEr0   Namer2   N)r    r!   r"   r   r   r   r'   r   r   r   r   rS   u   r(   rS   c                   @   r4   )LSAPR_TRANSLATED_NAME_ARRAYN)r    r!   r"   rS   r6   r   r   r   r   rU   }   r7   rU   c                   @   r)   )PLSAPR_TRANSLATED_NAME_ARRAYr+   N)r    r!   r"   rU   r,   r   r   r   r   rV      r-   rV   c                   @   r9   )LSAPR_TRANSLATED_NAMESr$   NamesN)r    r!   r"   r   rV   r'   r   r   r   r   rW      r<   rW   c                   @   (   e Zd ZdefdefdefdeffZdS )LSAPR_TRANSLATED_NAME_EXr0   rT   r2   FlagsN)r    r!   r"   r   r   r   r   r'   r   r   r   r   rZ          rZ   c                   @   r4   )LSAPR_TRANSLATED_NAME_EX_ARRAYN)r    r!   r"   rZ   r6   r   r   r   r   r]      r7   r]   c                   @   r)   )PLSAPR_TRANSLATED_NAME_EX_ARRAYr+   N)r    r!   r"   r]   r,   r   r   r   r   r^      r-   r^   c                   @   r9   )LSAPR_TRANSLATED_NAMES_EXr$   rX   N)r    r!   r"   r   r^   r'   r   r   r   r   r_      r<   r_   c                   @   s(   e Zd ZdefdefdefdeffZdS )LSAPR_TRANSLATED_SID_EXr0   r1   r2   r[   Nr3   r   r   r   r   r`      r\   r`   c                   @   r4   )LSAPR_TRANSLATED_SID_EX_ARRAYN)r    r!   r"   r`   r6   r   r   r   r   ra      r7   ra   c                   @   r)   )PLSAPR_TRANSLATED_SID_EX_ARRAYr+   N)r    r!   r"   ra   r,   r   r   r   r   rb      r-   rb   c                   @   r9   )LSAPR_TRANSLATED_SIDS_EXr$   r;   N)r    r!   r"   r   rb   r'   r   r   r   r   rc      r<   rc   c                   @   rY   )LSAPR_TRANSLATED_SID_EX2r0   rN   r2   r[   N)r    r!   r"   r   r   r   r   r'   r   r   r   r   rd      r\   rd   c                   @   r4   )LSAPR_TRANSLATED_SID_EX2_ARRAYN)r    r!   r"   rd   r6   r   r   r   r   re      r7   re   c                   @   r)   )PLSAPR_TRANSLATED_SID_EX2_ARRAYr+   N)r    r!   r"   re   r,   r   r   r   r   rf      r-   rf   c                   @   r9   )LSAPR_TRANSLATED_SIDS_EX2r$   r;   N)r    r!   r"   r   rf   r'   r   r   r   r   rg      r<   rg   c                   @   r4   )RPC_UNICODE_STRING_ARRAYN)r    r!   r"   r   r6   r   r   r   r   rh      r7   rh   c                   @   s&   e Zd ZdZdefdefdeffZdS )LsarGetUserName-   
SystemNameUserName
DomainNameN)r    r!   r"   opnumr   r   r'   r   r   r   r   ri      s    ri   c                   @   s"   e Zd ZdefdefdeffZdS )LsarGetUserNameResponserl   rm   	ErrorCodeN)r    r!   r"   r   r   r'   r   r   r   r   ro      r(   ro   c                   @   s>   e Zd ZdZdefdefdefdefdefdefdeffZd	S )
LsarLookupNames4M   CountrX   TranslatedSidsLookupLevelMappedCountLookupOptionsClientRevisionN)	r    r!   r"   rn   r   rh   rg   r=   r'   r   r   r   r   rq          rq   c                   @   rY   )LsarLookupNames4ResponseReferencedDomainsrt   rv   rp   Nr    r!   r"   r*   rg   r   r   r'   r   r   r   r   rz      r\   rz   c                	   @   D   e Zd ZdZdefdefdefdefdefdefdefd	effZ	d
S )LsarLookupNames3D   PolicyHandlers   rX   rt   ru   rv   rw   rx   N)
r    r!   r"   rn   r   r   rh   rg   r=   r'   r   r   r   r   r~          r~   c                   @   rY   )LsarLookupNames3Responser{   rt   rv   rp   Nr|   r   r   r   r   r     r\   r   c                	   @   r}   )LsarLookupNames2:   r   rs   rX   rt   ru   rv   rw   rx   N)
r    r!   r"   rn   r   r   rh   rc   r=   r'   r   r   r   r   r     r   r   c                   @   rY   )LsarLookupNames2Responser{   rt   rv   rp   N)r    r!   r"   r*   rc   r   r   r'   r   r   r   r   r   "  r\   r   c                   @   s8   e Zd ZdZdefdefdefdefdefdeffZ	dS )	LsarLookupNames   r   rs   rX   rt   ru   rv   N)
r    r!   r"   rn   r   r   rh   r:   r=   r'   r   r   r   r   r   +      r   c                   @   rY   )LsarLookupNamesResponser{   rt   rv   rp   N)r    r!   r"   r*   r:   r   r   r'   r   r   r   r   r   6  r\   r   c                   @   s8   e Zd ZdZdefdefdefdefdefdeffZdS )	LsarLookupSids3L   SidEnumBufferTranslatedNamesru   rv   rw   rx   N)	r    r!   r"   rn   rQ   r_   r=   r   r'   r   r   r   r   r   ?  r   r   c                   @   rY   )LsarLookupSids3Responser{   r   rv   rp   Nr    r!   r"   r*   r_   r   r   r'   r   r   r   r   r   J  r\   r   c                   @   s>   e Zd ZdZdefdefdefdefdefdefdeffZ	d	S )
LsarLookupSids29   r   r   r   ru   rv   rw   rx   N)
r    r!   r"   rn   r   rQ   r_   r=   r   r'   r   r   r   r   r   S  ry   r   c                   @   rY   )LsarLookupSids2Responser{   r   rv   rp   Nr   r   r   r   r   r   _  r\   r   c                   @   s2   e Zd ZdZdefdefdefdefdeffZ	dS )LsarLookupSids   r   r   r   ru   rv   N)
r    r!   r"   rn   r   rQ   rW   r=   r   r'   r   r   r   r   r   h  s    r   c                   @   rY   )LsarLookupSidsResponser{   r   rv   rp   N)r    r!   r"   r*   rW   r   r   r'   r   r   r   r   r   r  r\   r   )r   r   rj   r   r   r   r   rr   c                    s0   t  }t|d< ||d< ||d< | |I d H S )Nrk   rl   rm   )ri   r	   request)dceuserName
domainNamer   r   r   r   hLsarGetUserName  s   r   r>   c                    sn   t  }t||d< |D ]}t }||d< |d | qt|d d< ||d< ||d< ||d< | |I d H S )	Nrs   r+   rX   rt   r;   ru   rw   rx   )rq   lenr   appendr	   r   )r   nameslookupLevellookupOptionsclientRevisionr   nameitemnr   r   r   hLsarLookupNames4  s   r   c           	         v   t  }||d< t||d< |D ]}t }||d< |d | qt|d d< ||d< ||d< ||d	< | |I d H S 
Nr   rs   r+   rX   rt   r;   ru   rw   rx   )r~   r   r   r   r	   r   	r   policyHandler   r   r   r   r   r   r   r   r   r   hLsarLookupNames3     r   c           	         r   r   )r   r   r   r   r	   r   r   r   r   r   hLsarLookupNames2  r   r   c                    sf   t  }||d< t||d< |D ]}t }||d< |d | qt|d d< ||d< | |I d H S )Nr   rs   r+   rX   rt   r;   ru   )r   r   r   r   r	   r   )r   r   r   r   r   r   r   r   r   r   hLsarLookupNames  s   r   c           	         s   t  }||d< t||d d< |D ]}t }|d | |d d | qt|d d< ||d< ||d	< ||d
< | |I d H S )Nr   r   r$   rN   rR   r   rX   ru   rw   rx   )r   r   rM   fromCanonicalr   r	   r   )	r   r   sidsr   r   r   r   sidr   r   r   r   hLsarLookupSids2  s   r   c                    st   t  }||d< t||d d< |D ]}t }|d | |d d | qt|d d< ||d< | |I d H S )	Nr   r   r$   rN   rR   r   rX   ru   )r   r   rM   r   r   r	   r   )r   r   r   r   r   r   r   r   r   r   hLsarLookupSids  s   r   N)Xaiosmb.dcerpc.v5.dtypesr   r   r   r   r   r   r   r	   aiosmb.dcerpc.v5.enumr
   aiosmb.dcerpc.v5.lsadr   r   aiosmb.dcerpc.v5.ndrr   r   r   r   r   aiosmb.dcerpc.v5.samrr   aiosmb.dcerpc.v5.uuidr   aiosmb.dcerpc.v5.rpcrtr   structr   r   aiosmbr   LOGMSRPC_UUID_LSATr   POLICY_LOOKUP_NAMESr#   r*   r/   r5   r8   r:   r=   rM   rO   rP   rQ   rS   rU   rV   rW   rZ   r]   r^   r_   r`   ra   rb   rc   rd   re   rf   rg   rh   ri   ro   rq   rz   r~   r   r   r   r   r   r   r   r   r   r   r   OPNUMSr   rE   r   r   r   r   r   r   r   r   r   r   <module>   s   (									
