o
    Žõ±jÌ+  ã                   @   s4  d dl mZ d dl mZ d dlmZmZmZmZmZ d dl	m
Z
mZmZ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 d dlmZ d dlmZ ed	ƒZG d
d„ deƒZd ZdZ dZ!dZ"dZ#dZ$eZ%dZ&dZ'dZ(dZ)dZ*d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ƒZ0G dd„ deƒZ1G dd„ deƒZ2G d d!„ d!eƒZ3G d"d#„ d#eƒZ4G d$d%„ d%eƒZ5G d&d'„ d'eƒZ6G d(d)„ d)eƒZ7G d*d+„ d+eƒZ8G d,d-„ d-eƒZ9G d.d/„ d/eƒZ:G d0d1„ d1eƒZ;G d2d3„ d3eƒZ<G d4d5„ d5eƒZ=G d6d7„ d7eƒZ>G d8d9„ d9eƒZ?G d:d;„ d;eƒZ@G d<d=„ d=eƒZAG d>d?„ d?eƒZBG d@dA„ dAeƒZCG dBdC„ dCeƒZDG dDdE„ dEeƒZEe2e3fe4e5fe6e7fe8e9fe:e;fe<e=fe>e?fe@eAfeBeCfeDeEfdFœ
ZFeddfdGdH„ZGeefdIdJ„ZHdKdL„ ZIeefdMdN„ZJdOe*e+B d e(fdPdQ„ZKdOefdRdS„ZLdOefdTdU„ZMdVdW„ ZNdXdY„ ZOdZS )[é    )Údivision)Úprint_function)ÚNDRCALLÚ	NDRSTRUCTÚNDRÚNDRPOINTERNULLÚNDRUniConformantArray)ÚULONGÚLPWSTRÚRPC_UNICODE_STRINGÚLPSTRÚNTSTATUSÚNULLÚPRPC_UNICODE_STRINGÚPULONGÚUSHORTÚPRPC_SIDÚLPBYTE)ÚPRPC_UNICODE_STRING_ARRAY)Ú	Structure)Úuuidtup_to_bin)ÚDCERPCException)z$82273FDC-E32A-18C3-3F78-827929DC23EAz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/even.pyr   "   s   zDCERPCSessionError.__init__)NNN)Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r   !   s    r   é   é   é   é   é   é   iÿÿ iÿÿ c                   @   s   e Zd ZdZdd„ ZdS )ÚIELF_HANDLE))ÚDataz20s=""c                 C   s   dS )Nr#   r   )r   r   r   r   ÚgetAlignmentH   s   zIELF_HANDLE.getAlignmentN)r    r!   r"   Ú	structurer+   r   r   r   r   r)   D   s    r)   c                   @   s   e Zd ZdZdS )ÚEVENTLOGRECORD))ÚLengthú<L=0)ÚReservedr/   )ÚRecordNumberr/   )ÚTimeGeneratedr/   )ÚTimeWrittenr/   )ÚEventIDr/   )Ú	EventTypeú<H=0)Ú
NumStringsr6   )ÚEventCategoryr6   )ÚReservedFlagsr6   )ÚClosingRecordNumberr/   )ÚStringOffsetr/   )ÚUserSidLengthr/   )ÚUserSidOffsetr/   )Ú
DataLengthr/   )Ú
DataOffsetr/   )Ú
SourceNameÚz)ÚComputernamerA   )ÚUserSidPaddingú:)Ú_UserSidz	_-UserSidzself["UserSidLength"])ÚUserSidrD   )ÚStringsrD   )Ú_Dataz_-Datazself["DataLength"])r*   rD   )ÚPaddingrD   )ÚLength2r/   N)r    r!   r"   r,   r   r   r   r   r-   L   s    r-   c                   @   ó   e Zd ZdeffZdS )ÚEVENTLOG_FULL_INFORMATIONÚdwFullN©r    r!   r"   r	   r,   r   r   r   r   rL   k   ó    ÿrL   c                   @   s   e Zd ZdefdeffZdS )ÚRPC_CLIENT_IDÚUniqueProcessÚUniqueThreadNrN   r   r   r   r   rP   q   ó    þrP   c                   @   s,   e Zd ZdddeffZdd„ Zd
dd	„ZdS )Ú
RPC_STRING)r.   r6   )ÚMaximumLengthr6   r*   c                 C   s<   |dkrt |tƒdu rt|ƒ| d< t|ƒ| d< t | ||¡S )Nr*   Fr.   rU   )Ú
isinstancer   Úlenr   Ú__setitem__)r   ÚkeyÚvaluer   r   r   rX      s   zRPC_STRING.__setitem__Nr   c                 C   s|   |d u r| j j}|dkrtd| dd� t| jd tƒr$tddd� d S | jd d dkr5tddd� d S | jd  d|¡S )	NÚ z%sú )Úendr*   z NULLÚ
ReferentIDr   )Ú	__class__r    ÚprintrV   Úfieldsr   Údump)r   ÚmsgÚindentr   r   r   rb   …   s   zRPC_STRING.dump)Nr   )r    r!   r"   r   r,   rX   rb   r   r   r   r   rT   x   s    ýrT   c                   @   ó    e Zd ZdZdefdeffZdS )ÚElfrClearELFWr   Ú	LogHandleÚBackupFileNameN)r    r!   r"   Úopnumr)   r   r,   r   r   r   r   rf   •   ó
    þrf   c                   @   rK   )ÚElfrClearELFWResponseÚ	ErrorCodeN©r    r!   r"   r   r,   r   r   r   r   rk   œ   rO   rk   c                   @   re   )ÚElfrBackupELFWr#   rg   rh   N)r    r!   r"   ri   r)   r   r,   r   r   r   r   rn   ¢   rj   rn   c                   @   rK   )ÚElfrBackupELFWResponserl   Nrm   r   r   r   r   ro   ©   rO   ro   c                   @   ó   e Zd ZdZdeffZdS )ÚElfrCloseELr$   rg   N©r    r!   r"   ri   r)   r,   r   r   r   r   rq   ¯   ó    ÿrq   c                   @   ó   e Zd ZdefdeffZdS )ÚElfrCloseELResponserg   rl   N©r    r!   r"   r)   r   r,   r   r   r   r   ru   µ   rS   ru   c                   @   rp   )ÚElfrNumberOfRecordsr%   rg   Nrr   r   r   r   r   rw   ¼   rs   rw   c                   @   rt   )ÚElfrNumberOfRecordsResponseÚNumberOfRecordsrl   N©r    r!   r"   r	   r   r,   r   r   r   r   rx   Â   rS   rx   c                   @   rp   )ÚElfrOldestRecordé   rg   Nrr   r   r   r   r   r{   É   rs   r{   c                   @   rt   )ÚElfrOldestRecordResponseÚOldestRecordNumberrl   Nrz   r   r   r   r   r}   Ï   rS   r}   c                   @   ó2   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 )ÚElfrOpenELWé   ÚUNCServerNameÚ
ModuleNameÚRegModuleNameÚMajorVersionÚMinorVersionN©r    r!   r"   ri   ÚEVENTLOG_HANDLE_Wr   r	   r,   r   r   r   r   r€   Ö   ó    ûr€   c                   @   rt   )ÚElfrOpenELWResponserg   rl   Nrv   r   r   r   r   rŠ   à   rS   rŠ   c                   @   r   )ÚElfrRegisterEventSourceWr&   r‚   rƒ   r„   r…   r†   Nr‡   r   r   r   r   r‹   ç   r‰   r‹   c                   @   rt   )Ú ElfrRegisterEventSourceWResponserg   rl   Nrv   r   r   r   r   rŒ   ñ   rS   rŒ   c                   @   s,   e Zd ZdZdefdefdefdeffZdS )ÚElfrOpenBELWé	   r‚   rh   r…   r†   Nr‡   r   r   r   r   r�   ø   ó    ür�   c                   @   rt   )ÚElfrOpenBELWResponserg   rl   Nrv   r   r   r   r   r�     rS   r�   c                   @   s,   e Zd ZdZdefdefdefdeffZdS )ÚElfrReadELWé
   rg   Ú	ReadFlagsÚRecordOffsetÚNumberOfBytesToReadN)r    r!   r"   ri   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 )ÚElfrReadELWResponseÚBufferÚNumberOfBytesReadÚMinNumberOfBytesNeededrl   N)r    r!   r"   r   r	   r   r,   r   r   r   r   r–     s    ür–   c                   @   sh   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d
efde	fde
fdefdefdeffZdS )ÚElfrReportEventWé   rg   ÚTimer5   r8   r4   r7   ÚDataSizeÚComputerNameÚUserSIDrG   r*   ÚFlagsr1   r3   N)r    r!   r"   ri   r)   r	   r   r   r   r   r   r   r,   r   r   r   r   rš     s"    òrš   c                   @   s"   e Zd ZdefdefdeffZdS )ÚElfrReportEventWResponser1   r3   rl   N)r    r!   r"   r   r   r,   r   r   r   r   r¡   -  s
    ýr¡   )
r   r#   r$   r%   r|   r�   r&   rŽ   r’   r›   c                 Ã   s8   �t ƒ }t|d< ||d< ||d< ||d< |  |¡I d H S )Nr‚   rh   r…   r†   )r�   r   Úrequest)ÚdceÚbackupFileNamer…   r†   r¢   r   r   r   ÚhElfrOpenBELWG  s   €r¥   c                 Ã   ó@   �t ƒ }t|d< ||d< ||d< d|d< d|d< |  |¡I d H S ©Nr‚   rƒ   r„   r#   r…   r†   )r€   r   r¢   ©r£   Ú
moduleNameÚregModuleNamer¢   r   r   r   ÚhElfrOpenELWO  ó   €r«   c                 Ã   ó$   �t ƒ }||d< |  |¡}|I d H S ©Nrg   )rq   r¢   ©r£   Ú	logHandler¢   Úrespr   r   r   ÚhElfrCloseELX  ó
   €

r²   c                 Ã   r¦   r§   )r‹   r   r¢   r¨   r   r   r   ÚhElfrRegisterEventSourceW^  r¬   r´   r[   c                 Ã   s8   �t ƒ }||d< ||d< ||d< ||d< |  |¡I d H S )Nrg   r“   r”   r•   )r‘   r¢   )r£   r°   Ú	readFlagsÚrecordOffsetÚnumberOfBytesToReadr¢   r   r   r   ÚhElfrReadELWg  s   €r¸   c                 Ã   ó(   �t ƒ }||d< ||d< |  |¡I d H S ©Nrg   rh   )rf   r¢   ©r£   r°   r¤   r¢   r   r   r   ÚhElfrClearELFWp  ó
   €r¼   c                 Ã   r¹   rº   )rn   r¢   r»   r   r   r   ÚhElfrBackupELFWv  r½   r¾   c                 Ã   r­   r®   )rw   r¢   r¯   r   r   r   ÚhElfrNumberOfRecords|  r³   r¿   c                 Ã   r­   r®   )r{   r¢   r¯   r   r   r   ÚhElfrOldestRecordNumber‚  r³   rÀ   N)PÚ
__future__r   r   Úaiosmb.dcerpc.v5.ndrr   r   r   r   r   Úaiosmb.dcerpc.v5.dtypesr	   r
   r   r   r   r   r   r   r   r   r   Úaiosmb.dcerpc.v5.lsadr   Úaiosmb.dcerpc.v5.structurer   Úaiosmb.dcerpc.v5.uuidr   Úaiosmb.dcerpc.v5.rpcrtr   ÚMSRPC_UUID_EVENr   ÚEVENTLOG_SUCCESSÚEVENTLOG_ERROR_TYPEÚEVENTLOG_WARNING_TYPEÚEVENTLOG_INFORMATION_TYPEÚEVENTLOG_AUDIT_SUCCESSÚEVENTLOG_AUDIT_FAILURErˆ   ÚMAX_STRINGSÚMAX_SINGLE_EVENTÚMAX_BATCH_BUFFÚEVENTLOG_SEQUENTIAL_READÚEVENTLOG_SEEK_READÚEVENTLOG_FORWARDS_READÚEVENTLOG_BACKWARDS_READr)   r-   rL   rP   rT   rf   rk   rn   ro   rq   ru   rw   rx   r{   r}   r€   rŠ   r‹   rŒ   r�   r�   r‘   r–   rš   r¡   ÚOPNUMSr¥   r«   r²   r´   r¸   r¼   r¾   r¿   rÀ   r   r   r   r   Ú<module>   sŽ   4

			ö		
ÿ	