o
    àý°jFˆ  ã                   @   sâ	  d dl mZmZ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 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"dZ#dZ$dZ%dZ&d Z'dZ(dZ)dZ*d Z+dZ,dZ-dZ.dZ/dZ0dZ1dZ2dZ3d
Z4dZ5dZ6dZ7dZ0dZ8dZ/dZ9G 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ƒZAG d*d+„ d+eƒZBG d,d-„ d-eƒZCG d.d/„ d/eƒZDG d0d1„ d1eƒZEG d2d3„ d3eƒZFG d4d5„ d5eƒZGG d6d7„ d7eƒZHG d8d9„ d9eƒZIG d:d;„ d;eƒZJG d<d=„ d=eƒZKG d>d?„ d?eƒZLG d@dA„ dAeƒZMG dBdC„ dCeƒZNG dDdE„ dEeƒZOG dFdG„ dGeƒZPG dHdI„ dIeƒZQG dJdK„ dKeƒZRG dLdM„ dMeƒZSG dNdO„ dOeƒZTG dPdQ„ dQeƒZUG dRdS„ dSeƒZVG dTdU„ dUeƒZWG dVdW„ dWeƒZXG dXdY„ dYeƒZYG dZd[„ d[eƒZZG 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ƒZaG djdk„ dkeƒZbG dldm„ dmeƒZcG dndo„ doeƒZdG dpdq„ dqeƒZeG drds„ dseƒZfG dtdu„ dueƒZgG dvdw„ dweƒZhG dxdy„ dyeƒZiG dzd{„ d{eƒZje
ZkG d|d}„ d}eƒZlG d~d„ deƒZmG d€d�„ d�eƒZnG d‚dƒ„ dƒeƒZoG d„d…„ d…eƒZpG d†d‡„ d‡eƒZqG dˆd‰„ d‰eƒZrG dŠd‹„ d‹eƒZsG dŒd�„ d�eƒZtG dŽd�„ d�eƒZuG d�d‘„ d‘eƒZvG d’d“„ d“eƒZwG d”d•„ d•eƒZxG d–d—„ d—eƒZyG d˜d™„ d™eƒZzG 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ƒ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ƒ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ƒ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©i d e‚eƒf“de„e…f“de†e‡f“deˆe‰f“døeŠe‹f“deŒe�f“dùeŽe�f“dúe�e‘f“dûe’e“f“düe”e•f“dýe–e—f“dþe˜e™f“dÿeše›f“�d eœe�f“�dežeŸf“�de e¡f“�de¢e£f“e¤e¥fe¦e§fe¨e©f�dœ¥Zª�d�d„ Z«�d�d„ Z¬�d.�d	�d
„Z­�d/�d�d„Z®�d�d„ Z¯�d�d„ Z°�d�d„ Z±�d�d„ Z²�d�d„ Z³�d�d„ Z´�d�d„ Zµ�d�d„ Z¶�d�d„ Z·�d�d „ Z¸�d!�d"„ Z¹�d#�d$„ Zº�d%�d&„ Z»�d/�d'�d(„Z¼�d)�d*„ Z½e-f�d+�d,„Z¾�d-S (0  é    )ÚNDRCALLÚ	NDRSTRUCTÚNDRENUMÚNDRUNIONÚNDRUniConformantArrayÚNDRUniFixedArrayÚ
NDRPOINTER)
ÚNULLÚWSTRÚULONGÚLPWSTRÚLONGÚLARGE_INTEGERÚWIDESTRÚRPC_UNICODE_STRINGÚLPULONGÚLPLONG)Úsystem_errors)Úuuidtup_to_bin)ÚEnum)ÚDCERPCException)z$6BFFD098-A112-3610-9833-46C3F87E345Az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/wkst.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'WKST SessionError: code: 0x%x - %s - %sz+WKST 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   é   é   ì   ÿÿ r    é   é   é   é   é    é@   é€   i   i   i   i   i   c                   @   ó   e Zd ZdeffZdS )ÚWKSSVC_IDENTIFY_HANDLEÚDataN©r&   r'   r(   r
   Ú	structurer   r   r   r   r4   o   ó    ÿr4   c                   @   r3   )ÚLPWKSSVC_IDENTIFY_HANDLEr5   N)r&   r'   r(   r4   Úreferentr   r   r   r   r9   t   r8   r9   c                   @   r3   )ÚWKSSVC_IMPERSONATE_HANDLEr5   Nr6   r   r   r   r   r;   z   r8   r;   c                   @   r3   )ÚLPWKSSVC_IMPERSONATE_HANDLEr5   N)r&   r'   r(   r;   r:   r   r   r   r   r<      r8   r<   c                   @   ó   e Zd ZG dd„ deƒZdS )ÚNETSETUP_JOIN_STATUSc                   @   ó   e Zd ZdZdZdZdZdS )zNETSETUP_JOIN_STATUS.enumItemsr   r    r,   r-   N)r&   r'   r(   ÚNetSetupUnknownStatusÚNetSetupUnjoinedÚNetSetupWorkgroupNameÚNetSetupDomainNamer   r   r   r   Ú	enumItems†   ó
    rD   N©r&   r'   r(   r   rD   r   r   r   r   r>   …   ó    r>   c                   @   r=   )ÚNETSETUP_NAME_TYPEc                   @   s$   e Zd ZdZdZdZdZdZdZdS )zNETSETUP_NAME_TYPE.enumItemsr   r    r,   r-   r.   r/   N)	r&   r'   r(   ÚNetSetupUnknownÚNetSetupMachineÚNetSetupWorkgroupÚNetSetupDomainÚNetSetupNonExistentDomainÚNetSetupDnsMachiner   r   r   r   rD   Ž   s    rD   NrF   r   r   r   r   rH   �   rG   rH   c                   @   r=   )ÚNET_COMPUTER_NAME_TYPEc                   @   r?   )z NET_COMPUTER_NAME_TYPE.enumItemsr   r    r,   r-   N)r&   r'   r(   ÚNetPrimaryComputerNameÚNetAlternateComputerNamesÚNetAllComputerNamesÚNetComputerNameTypeMaxr   r   r   r   rD   ˜   rE   rD   NrF   r   r   r   r   rO   —   rG   rO   c                   @   s.   e Zd ZdefdefdefdefdeffZdS )ÚWKSTA_INFO_100Úwki100_platform_idÚwki100_computernameÚwki100_langroupÚwki100_ver_majorÚwki100_ver_minorN©r&   r'   r(   r   r   r7   r   r   r   r   rT   Ÿ   ó    ûrT   c                   @   r3   )ÚLPWKSTA_INFO_100r5   N)r&   r'   r(   rT   r:   r   r   r   r   r\   ¨   r8   r\   c                   @   s4   e 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 )ÚWKSTA_INFO_101Úwki101_platform_idÚwki101_computernameÚwki101_langroupÚwki101_ver_majorÚwki101_ver_minorÚwki101_lanrootNrZ   r   r   r   r   r]   ®   s    úr]   c                   @   r3   )ÚLPWKSTA_INFO_101r5   N)r&   r'   r(   r]   r:   r   r   r   r   rd   ¸   r8   rd   c                   @   s:   e 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 )	ÚWKSTA_INFO_102Úwki102_platform_idÚwki102_computernameÚwki102_langroupÚwki102_ver_majorÚwki102_ver_minorÚwki102_lanrootÚwki102_logged_on_usersNrZ   r   r   r   r   re   ¾   ó    ùre   c                   @   r3   )ÚLPWKSTA_INFO_102r5   N)r&   r'   r(   re   r:   r   r   r   r   rn   É   r8   rn   c                   @   s*  e Zd Zg 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‘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‘def‘def‘def‘d ef‘d!ef‘d"ef‘d#ef‘R Zd$S )%ÚWKSTA_INFO_502Úwki502_char_waitÚwki502_collection_timeÚwki502_maximum_collection_countÚwki502_keep_connÚwki502_max_cmdsÚwki502_sess_timeoutÚwki502_siz_char_bufÚwki502_max_threadsÚwki502_lock_quotaÚwki502_lock_incrementÚwki502_lock_maximumÚwki502_pipe_incrementÚwki502_pipe_maximumÚwki502_cache_file_timeoutÚwki502_dormant_file_limitÚwki502_read_ahead_throughputÚwki502_num_mailslot_buffersÚwki502_num_srv_announce_buffersÚ"wki502_max_illegal_datagram_eventsÚ-wki502_illegal_datagram_event_reset_frequencyÚwki502_log_election_packetsÚ wki502_use_opportunistic_lockingÚwki502_use_unlock_behindÚwki502_use_close_behindÚwki502_buf_named_pipesÚwki502_use_lock_read_unlockÚwki502_utilize_nt_cachingÚwki502_use_raw_readÚwki502_use_raw_writeÚwki502_use_write_raw_dataÚwki502_use_encryptionÚwki502_buf_files_deny_writeÚwki502_buf_read_only_filesÚwki502_force_core_create_modeÚ wki502_use_512_byte_max_transferN)r&   r'   r(   r   r   r7   r   r   r   r   ro   Ï   s�    ÿþýüûúùø	÷
öõôóòñðïîíìëêéèçæåäãâá à!ß"Þ#
Ýro   c                   @   r3   )ÚLPWKSTA_INFO_502r5   N)r&   r'   r(   ro   r:   r   r   r   r   r“   ö   r8   r“   c                   @   r3   )ÚWKSTA_INFO_1013Úwki1013_keep_connN©r&   r'   r(   r   r7   r   r   r   r   r”   ü   r8   r”   c                   @   r3   )ÚLPWKSTA_INFO_1013r5   N)r&   r'   r(   r”   r:   r   r   r   r   r—     r8   r—   c                   @   r3   )ÚWKSTA_INFO_1018Úwki1018_sess_timeoutNr–   r   r   r   r   r˜     r8   r˜   c                   @   r3   )ÚLPWKSTA_INFO_1018r5   N)r&   r'   r(   r˜   r:   r   r   r   r   rš     r8   rš   c                   @   r3   )ÚWKSTA_INFO_1046Úwki1046_dormant_file_limitNr–   r   r   r   r   r›     r8   r›   c                   @   r3   )ÚLPWKSTA_INFO_1046r5   N)r&   r'   r(   r›   r:   r   r   r   r   r�     r8   r�   c                   @   sF   e Zd ZdeffZdefdefdefdefde	fde
fdefd	œZd
S )Ú
WKSTA_INFOÚtagÚWkstaInfo100ÚWkstaInfo101ÚWkstaInfo102ÚWkstaInfo502ÚWkstaInfo1013ÚWkstaInfo1018ÚWkstaInfo1046)éd   ée   éf   iö  iõ  iú  i  N)r&   r'   r(   r   Ú	commonHdrr\   rd   rn   r“   r—   rš   r�   Úunionr   r   r   r   rž     s    ÿ
ùrž   c                   @   r3   )ÚLPWKSTA_INFOr5   N)r&   r'   r(   rž   r:   r   r   r   r   r¬   +  r8   r¬   c                   @   s.   e Zd ZdefdefdefdefdeffZdS )ÚWKSTA_TRANSPORT_INFO_0Úwkti0_quality_of_serviceÚwkti0_number_of_vcsÚwkti0_transport_nameÚwkti0_transport_addressÚwkti0_wan_ishNrZ   r   r   r   r   r­   1  r[   r­   c                   @   r3   )ÚWKSTA_USER_INFO_0Úwkui0_usernameN©r&   r'   r(   r   r7   r   r   r   r   r³   ;  r8   r³   c                   @   s(   e Zd ZdefdefdefdeffZdS )ÚWKSTA_USER_INFO_1Úwkui1_usernameÚwkui1_logon_domainÚwkui1_oth_domainsÚwkui1_logon_serverNrµ   r   r   r   r   r¶   A  ó    ür¶   c                   @   sR  e Zd Zg 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‘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‘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‘R Zd)S )*ÚSTAT_WORKSTATION_0ÚStatisticsStartTimeÚBytesReceivedÚSmbsReceivedÚPagingReadBytesRequestedÚNonPagingReadBytesRequestedÚCacheReadBytesRequestedÚNetworkReadBytesRequestedÚBytesTransmittedÚSmbsTransmittedÚPagingWriteBytesRequestedÚNonPagingWriteBytesRequestedÚCacheWriteBytesRequestedÚNetworkWriteBytesRequestedÚInitiallyFailedOperationsÚFailedCompletionOperationsÚReadOperationsÚRandomReadOperationsÚReadSmbsÚLargeReadSmbsÚSmallReadSmbsÚWriteOperationsÚRandomWriteOperationsÚ	WriteSmbsÚLargeWriteSmbsÚSmallWriteSmbsÚRawReadsDeniedÚRawWritesDeniedÚNetworkErrorsÚSessionsÚFailedSessionsÚ
ReconnectsÚCoreConnectsÚLanman20ConnectsÚLanman21ConnectsÚLanmanNtConnectsÚServerDisconnectsÚHungSessionsÚUseCountÚFailedUseCountÚCurrentCommandsN)r&   r'   r(   r   r   r7   r   r   r   r   r¼   J  s¤    ÿþýüûúùø	÷
öõôóòñðïîíìëêéèçæåäãâá à!ß"Þ#Ý$Ü%Û&Ú'Ù(
Ør¼   c                   @   r3   )ÚLPSTAT_WORKSTATION_0r5   N)r&   r'   r(   r¼   r:   r   r   r   r   rå   v  r8   rå   c                   @   ó   e Zd ZeZdS )ÚWKSTA_USER_INFO_0_ARRAYN)r&   r'   r(   r³   Úitemr   r   r   r   rç   |  ó    rç   c                   @   r3   )ÚLPWKSTA_USER_INFO_0_ARRAYr5   N)r&   r'   r(   rç   r:   r   r   r   r   rê     r8   rê   c                   @   ó   e Zd ZdefdeffZdS )ÚWKSTA_USER_INFO_0_CONTAINERÚEntriesReadÚBufferN)r&   r'   r(   r   rê   r7   r   r   r   r   rì   „  ó    þrì   c                   @   r3   )ÚLPWKSTA_USER_INFO_0_CONTAINERr5   N)r&   r'   r(   rì   r:   r   r   r   r   rð   Š  r8   rð   c                   @   ræ   )ÚWKSTA_USER_INFO_1_ARRAYN)r&   r'   r(   r¶   rè   r   r   r   r   rñ   �  ré   rñ   c                   @   r3   )ÚLPWKSTA_USER_INFO_1_ARRAYr5   N)r&   r'   r(   rñ   r:   r   r   r   r   rò   “  r8   rò   c                   @   rë   )ÚWKSTA_USER_INFO_1_CONTAINERrí   rî   N)r&   r'   r(   r   rò   r7   r   r   r   r   ró   ˜  rï   ró   c                   @   r3   )ÚLPWKSTA_USER_INFO_1_CONTAINERr5   N)r&   r'   r(   ró   r:   r   r   r   r   rô   ž  r8   rô   c                   @   s(   e Zd ZdeffZdefdefdœZdS )ÚWKSTA_USER_ENUM_UNIONrŸ   ÚLevel0ÚLevel1)r   r    N)r&   r'   r(   r   rª   rð   rô   r«   r   r   r   r   rõ   ¤  s    ÿ
þrõ   c                   @   rë   )ÚWKSTA_USER_ENUM_STRUCTÚLevelÚWkstaUserInfoN)r&   r'   r(   r   rõ   r7   r   r   r   r   rø   ®  rï   rø   c                   @   ræ   )ÚWKSTA_TRANSPORT_INFO_0_ARRAYN)r&   r'   r(   r­   rè   r   r   r   r   rû   ¶  ré   rû   c                   @   r3   )ÚLPWKSTA_TRANSPORT_INFO_0_ARRAYr5   N)r&   r'   r(   rû   r:   r   r   r   r   rü   ¹  r8   rü   c                   @   rë   )Ú WKSTA_TRANSPORT_INFO_0_CONTAINERrí   rî   N)r&   r'   r(   r   rü   r7   r   r   r   r   rý   ¾  rï   rý   c                   @   r3   )Ú"LPWKSTA_TRANSPORT_INFO_0_CONTAINERr5   N)r&   r'   r(   rý   r:   r   r   r   r   rþ   Ä  r8   rþ   c                   @   s"   e Zd ZdeffZddefiZdS )ÚWKSTA_TRANSPORT_ENUM_UNIONrŸ   r   rö   N)r&   r'   r(   r   rª   rþ   r«   r   r   r   r   rÿ   Ê  s
    ÿÿrÿ   c                   @   rë   )ÚWKSTA_TRANSPORT_ENUM_STRUCTrù   ÚWkstaTransportInfoN)r&   r'   r(   r   rÿ   r7   r   r   r   r   r   Ó  rï   r   c                   @   ó   e Zd Zddd„ZdS )ÚWCHAR_ARRAYr   c                 C   ó   t S r   )ÚJOIN_MAX_PASSWORD_LENGTH©r   ÚdataÚoffsetr   r   r   Ú
getDataLenÛ  ó   zWCHAR_ARRAY.getDataLenN©r   ©r&   r'   r(   r	  r   r   r   r   r  Ú  ó    r  c                   @   r  )Ú
CHAR_ARRAYr   c                 C   r  r   )ÚJOIN_OBFUSCATOR_LENGTHr  r   r   r   r	  ß  r
  zCHAR_ARRAY.getDataLenNr  r  r   r   r   r   r  Þ  r  r  c                   @   rë   )ÚJOINPR_USER_PASSWORDÚ
Obfuscatorrî   N)r&   r'   r(   r  r  r7   r   r   r   r   r  â  rï   r  c                   @   s   e Zd ZdZdd„ ZdS )ÚJOINPR_ENCRYPTED_USER_PASSWORD))rî   z524s=b""c                 C   s   dS )Nr    r   )r   r   r   r   ÚgetAlignmentí  r
  z+JOINPR_ENCRYPTED_USER_PASSWORD.getAlignmentN)r&   r'   r(   r7   r  r   r   r   r   r  é  s    r  c                   @   r3   )ÚPJOINPR_ENCRYPTED_USER_PASSWORDr5   N)r&   r'   r(   r  r:   r   r   r   r   r  ð  r8   r  c                   @   r3   )ÚPUNICODE_STRINGr5   N)r&   r'   r(   ÚUNICODE_STRINGr:   r   r   r   r   r  ÷  r8   r  c                   @   ræ   )ÚUNICODE_STRING_ARRAYN)r&   r'   r(   r   rè   r   r   r   r   r  ý  ré   r  c                   @   r3   )ÚPUNICODE_STRING_ARRAYr5   N)r&   r'   r(   r  r:   r   r   r   r   r     r8   r  c                   @   rë   )ÚNET_COMPUTER_NAME_ARRAYrí   ÚComputerNamesN)r&   r'   r(   r   r  r7   r   r   r   r   r    rï   r  c                   @   r3   )ÚPNET_COMPUTER_NAME_ARRAYr5   N)r&   r'   r(   r  r:   r   r   r   r   r    r8   r  c                   @   s   e Zd ZdefdeffZdS )Ú
USE_INFO_0Ú	ui0_localÚ
ui0_remoteNrµ   r   r   r   r   r    rï   r  c                   @   r3   )ÚLPUSE_INFO_0r5   N)r&   r'   r(   r  r:   r   r   r   r   r    r8   r  c                   @   s:   e 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 )	Ú
USE_INFO_1Ú	ui1_localÚ
ui1_remoteÚui1_passwordÚ
ui1_statusÚui1_asg_typeÚui1_refcountÚui1_usecountN)r&   r'   r(   r   r   r7   r   r   r   r   r     rm   r   c                   @   r3   )ÚLPUSE_INFO_1r5   N)r&   r'   r(   r   r:   r   r   r   r   r(  (  r8   r(  c                   @   s"   e Zd ZdefdefdeffZdS )Ú
USE_INFO_2Úui2_useinfoÚui2_usernameÚui2_domainnameN)r&   r'   r(   r   r   r7   r   r   r   r   r)  .  ó
    ýr)  c                   @   r3   )ÚLPUSE_INFO_2r5   N)r&   r'   r(   r)  r:   r   r   r   r   r.  5  r8   r.  c                   @   rë   )Ú
USE_INFO_3Úui3_ui2Ú	ui3_flagsN)r&   r'   r(   r)  r   r7   r   r   r   r   r/  ;  rï   r/  c                   @   r3   )ÚLPUSE_INFO_3r5   N)r&   r'   r(   r/  r:   r   r   r   r   r2  A  r8   r2  c                   @   s4   e Zd ZdeffZdefdefdefdefdœZ	dS )ÚUSE_INFOrŸ   ÚUseInfo0ÚUseInfo1ÚUseInfo2ÚUseInfo3)r   r    r,   r-   N)
r&   r'   r(   r   rª   r  r(  r.  r2  r«   r   r   r   r   r3  G  s    ÿ
ür3  c                   @   rë   )ÚUSE_INFO_0_CONTAINERrí   rî   N)r&   r'   r(   r   r  r7   r   r   r   r   r8  T  rï   r8  c                   @   r3   )ÚLPUSE_INFO_0_CONTAINERr5   N)r&   r'   r(   r8  r:   r   r   r   r   r9  Z  r8   r9  c                   @   rë   )ÚUSE_INFO_1_CONTAINERrí   rî   N)r&   r'   r(   r   r(  r7   r   r   r   r   r:  `  rï   r:  c                   @   r3   )ÚLPUSE_INFO_1_CONTAINERr5   N)r&   r'   r(   r:  r:   r   r   r   r   r;  f  r8   r;  c                   @   rë   )ÚUSE_INFO_2_CONTAINERrí   rî   N)r&   r'   r(   r   r.  r7   r   r   r   r   r<  l  rï   r<  c                   @   r3   )ÚLPUSE_INFO_2_CONTAINERr5   N)r&   r'   r(   r<  r:   r   r   r   r   r=  r  r8   r=  c                   @   s.   e Zd ZdeffZdefdefdefdœZdS )ÚUSE_ENUM_UNIONrŸ   rö   r÷   ÚLevel2)r   r    r,   N)	r&   r'   r(   r   rª   r9  r;  r=  r«   r   r   r   r   r>  x  s    ÿ
ýr>  c                   @   rë   )ÚUSE_ENUM_STRUCTrù   ÚUseInfoN)r&   r'   r(   r   r>  r7   r   r   r   r   r@  ƒ  rï   r@  c                   @   ó    e Zd ZdZdefdeffZdS )ÚNetrWkstaGetInfor   Ú
ServerNamerù   N)r&   r'   r(   Úopnumr9   r   r7   r   r   r   r   rC  Ž  ó
    þrC  c                   @   rë   )ÚNetrWkstaGetInfoResponseÚ	WkstaInfoÚ	ErrorCodeN)r&   r'   r(   rž   r   r7   r   r   r   r   rG  •  rï   rG  c                   @   ó,   e Zd ZdZdefdefdefdeffZdS )ÚNetrWkstaSetInfor    rD  rù   rH  ÚErrorParameterN)	r&   r'   r(   rE  r9   r   rž   r   r7   r   r   r   r   rK  œ  ó    ürK  c                   @   rë   )ÚNetrWkstaSetInfoResponserL  rI  N©r&   r'   r(   r   r   r7   r   r   r   r   rN  ¥  rï   rN  c                   @   rJ  )ÚNetrWkstaUserEnumr,   rD  ÚUserInfoÚPreferredMaximumLengthÚResumeHandleN)	r&   r'   r(   rE  r9   rø   r   r   r7   r   r   r   r   rP  ¬  rM  rP  c                   @   ó(   e Zd ZdefdefdefdeffZdS )ÚNetrWkstaUserEnumResponserQ  ÚTotalEntriesrS  rI  N)r&   r'   r(   rø   r   r7   r   r   r   r   rU  µ  r»   rU  c                   @   rJ  )ÚNetrWkstaTransportEnumr/   rD  ÚTransportInforR  rS  N)	r&   r'   r(   rE  r9   r   r   r   r7   r   r   r   r   rW  ¾  rM  rW  c                   @   rT  )ÚNetrWkstaTransportEnumResponserX  rV  rS  rI  N)r&   r'   r(   r   r   r7   r   r   r   r   rY  Ç  r»   rY  c                   @   rJ  )ÚNetrWkstaTransportAddé   rD  rù   rX  rL  N)	r&   r'   r(   rE  r9   r   r­   r   r7   r   r   r   r   rZ  Ð  rM  rZ  c                   @   rë   )ÚNetrWkstaTransportAddResponserL  rI  NrO  r   r   r   r   r\  Ù  rï   r\  c                   @   rJ  )Ú
NetrUseAddr*   rD  rù   Ú
InfoStructrL  N)	r&   r'   r(   rE  r<   r   r3  r   r7   r   r   r   r   r]  à  rM  r]  c                   @   rë   )ÚNetrUseAddResponserL  rI  NrO  r   r   r   r   r_  é  rï   r_  c                   @   ó&   e Zd ZdZdefdefdeffZdS )ÚNetrUseGetInfoé	   rD  ÚUseNamerù   N©r&   r'   r(   rE  r<   r
   r   r7   r   r   r   r   ra  ð  ó    ýra  c                   @   rë   )ÚNetrUseGetInfoResponser^  rI  N)r&   r'   r(   r3  r   r7   r   r   r   r   rf  ø  rï   rf  c                   @   r`  )Ú
NetrUseDelé
   rD  rc  Ú
ForceLevelNrd  r   r   r   r   rg  ÿ  re  rg  c                   @   r3   )ÚNetrUseDelResponserI  Nr–   r   r   r   r   rj    r8   rj  c                   @   rJ  )ÚNetrUseEnumé   rD  r^  rR  rS  N)	r&   r'   r(   rE  r<   r@  r   r   r7   r   r   r   r   rk    rM  rk  c                   @   s(   e Zd ZdefdefdefdeffZdS )ÚNetrUseEnumResponser^  rV  rS  rI  N)r&   r'   r(   r@  r   r   r7   r   r   r   r   rm    r»   rm  c                   @   s,   e Zd ZdZdefdefdefdeffZdS )ÚNetrWorkstationStatisticsGeté   rD  ÚServiceNamerù   ÚOptionsN)r&   r'   r(   rE  r9   r   r   r7   r   r   r   r   rn    rM  rn  c                   @   rë   )Ú$NetrWorkstationStatisticsGetResponserî   rI  N)r&   r'   r(   rå   r   r7   r   r   r   r   rr  (  rï   rr  c                   @   rB  )ÚNetrGetJoinInformationé   rD  Ú
NameBufferN)r&   r'   r(   rE  r<   r   r7   r   r   r   r   rs  /  rF  rs  c                   @   ó"   e Zd ZdefdefdeffZdS )ÚNetrGetJoinInformationResponseru  Ú
BufferTyperI  N)r&   r'   r(   r   r>   r   r7   r   r   r   r   rw  6  r-  rw  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 )	ÚNetrJoinDomain2é   rD  ÚDomainNameParamÚMachineAccountOUÚAccountNameÚPasswordrq  N©	r&   r'   r(   rE  r   r
   r  r   r7   r   r   r   r   ry  >  s    úry  c                   @   r3   )ÚNetrJoinDomain2ResponserI  Nr–   r   r   r   r   r€  I  r8   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 )ÚNetrUnjoinDomain2é   rD  r}  r~  rq  N©r&   r'   r(   rE  r   r  r   r7   r   r   r   r   r�  O  rM  r�  c                   @   r3   )ÚNetrUnjoinDomain2ResponserI  Nr–   r   r   r   r   r„  X  r8   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 )ÚNetrRenameMachineInDomain2é   rD  ÚMachineNamer}  r~  rq  Nrƒ  r   r   r   r   r†  ^  ó    ûr†  c                   @   r3   )Ú"NetrRenameMachineInDomain2ResponserI  Nr–   r   r   r   r   rŠ  h  r8   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 )ÚNetrValidateName2é   rD  ÚNameToValidater}  r~  ÚNameTypeN)	r&   r'   r(   rE  r   r
   r  rH   r7   r   r   r   r   rŒ  n  r‰  rŒ  c                   @   r3   )ÚNetrValidateName2ResponserI  Nr–   r   r   r   r   r�  x  r8   r�  c                   @   r‹  )ÚNetrGetJoinableOUs2é   rD  r{  r}  r~  ÚOUCountNr  r   r   r   r   r‘  ~  r‰  r‘  c                   @   rv  )ÚNetrGetJoinableOUs2Responser“  ÚOUsrI  N)r&   r'   r(   r   r  r   r7   r   r   r   r   r”  ˆ  r-  r”  c                   @   r…  )ÚNetrAddAlternateComputerNameé   rD  ÚAlternateNameÚDomainAccountÚEncryptedPasswordÚReservedNrƒ  r   r   r   r   r–  �  r‰  r–  c                   @   r3   )Ú$NetrAddAlternateComputerNameResponserI  Nr–   r   r   r   r   rœ  š  r8   rœ  c                   @   r…  )ÚNetrRemoveAlternateComputerNameé   rD  r˜  r™  rš  r›  Nrƒ  r   r   r   r   r�     r‰  r�  c                   @   r3   )Ú'NetrRemoveAlternateComputerNameResponserI  Nr–   r   r   r   r   rŸ  ª  r8   rŸ  c                   @   r…  )ÚNetrSetPrimaryComputerNameé   rD  ÚPrimaryNamer™  rš  r›  Nrƒ  r   r   r   r   r   °  r‰  r   c                   @   r3   )Ú"NetrSetPrimaryComputerNameResponserI  Nr–   r   r   r   r   r£  º  r8   r£  c                   @   r`  )ÚNetrEnumerateComputerNamesé   rD  r�  r›  N)r&   r'   r(   rE  r<   rO   r   r7   r   r   r   r   r¤  À  re  r¤  c                   @   rë   )Ú"NetrEnumerateComputerNamesResponser  rI  N)r&   r'   r(   r  r   r7   r   r   r   r   r¦  È  rï   r¦  r[  rb  rh  rl  ro  rt  rz  r‚  r‡  r�  r’  r—  )rž  r¡  r¥  c                 C   s(   | t kr| S | dd … dkr| d S | S )Néÿÿÿÿú )r	   )Ústringr   r   r   ÚcheckNullStringì  s
   rª  c                 C   ó    t ƒ }d|d< ||d< |  |¡S )Nú
          rD  rù   )rC  Úrequest)ÚdceÚlevelr­  r   r   r   ÚhNetrWkstaGetInfoõ  ó   
r°  c                 C   s<   t ƒ }d|d< ||d d< ||d d d< ||d< |  |¡S )Nr¬  rD  rQ  rù   rú   rŸ   rR  )rP  r­  )r®  r¯  ÚpreferredMaximumLengthr­  r   r   r   ÚhNetrWkstaUserEnumû  s   
r³  c                 C   sD   t ƒ }d|d< ||d d< ||d d d< ||d< ||d< |  |¡S )	Nr¬  rD  rX  rù   r  rŸ   rS  rR  )rW  r­  ©r®  r¯  ÚresumeHandler²  r­  r   r   r   ÚhNetrWkstaTransportEnum  s   
r¶  c                 C   ó<   t ƒ }d|d< ||d< ||d d< ||d d| < |  |¡S )Nr¬  rD  rù   rH  rŸ   zWkstaInfo%d)rK  r­  )r®  r¯  ÚwkstInfor­  r   r   r   ÚhNetrWkstaSetInfo  ó   
r¹  c                 C   s0   t ƒ }d|d< ||d< ||d< ||d< |  |¡S )Nr¬  rD  rp  rù   rq  )rn  r­  )r®  ÚserviceNamer¯  Úoptionsr­  r   r   r   ÚhNetrWorkstationStatisticsGet  s   
r½  c                 C   r«  )Nr¬  rD  ru  )rs  r­  )r®  Ú
nameBufferr­  r   r   r   ÚhNetrGetJoinInformation  r±  r¿  c                 C   sb   t ƒ }d|d< t|ƒ|d< t|ƒ|d< t|ƒ|d< |tkr"t|d< n||d d< ||d< |  |¡S )	Nr¬  rD  r{  r|  r}  r~  rî   rq  )ry  rª  r	   r­  )r®  ÚdomainNameParamÚmachineAccountOUÚaccountNameÚpasswordr¼  r­  r   r   r   ÚhNetrJoinDomain2"  s   

rÄ  c                 C   sJ   t ƒ }d|d< t|ƒ|d< |tkrt|d< n||d d< ||d< |  |¡S )Nr¬  rD  r}  r~  rî   rq  )r�  rª  r	   r­  )r®  rÂ  rÃ  r¼  r­  r   r   r   ÚhNetrUnjoinDomain2/  s   

rÅ  c                 C   óV   t ƒ }d|d< t|ƒ|d< t|ƒ|d< |tkrt|d< n||d d< ||d< |  |¡S )Nr¬  rD  rˆ  r}  r~  rî   rq  )r†  rª  r	   r­  )r®  ÚmachineNamerÂ  rÃ  r¼  r­  r   r   r   ÚhNetrRenameMachineInDomain2:  ó   

rÈ  c                 C   rÆ  )Nr¬  rD  rŽ  r}  r~  rî   r�  )rŒ  rª  r	   r­  )r®  ÚnameToValidaterÂ  rÃ  ÚnameTyper­  r   r   r   ÚhNetrValidateName2F  rÉ  rÌ  c                 C   rÆ  )Nr¬  rD  r{  r}  r~  rî   r“  )r‘  rª  r	   r­  )r®  rÀ  rÂ  rÃ  r“  r­  r   r   r   ÚhNetrGetJoinableOUs2R  rÉ  rÍ  c                 C   óN   t ƒ }d|d< t|ƒ|d< t|ƒ|d< |tkrt|d< n||d d< |  |¡S ©Nr¬  rD  r˜  r™  rš  rî   )r–  rª  r	   r­  ©r®  ÚalternateNameÚdomainAccountÚencryptedPasswordr­  r   r   r   ÚhNetrAddAlternateComputerName^  ó   

rÔ  c                 C   rÎ  rÏ  )r�  rª  r	   r­  rÐ  r   r   r   Ú hNetrRemoveAlternateComputerNamei  rÕ  rÖ  c                 C   rÎ  )Nr¬  rD  r¢  r™  rš  rî   )r   rª  r	   r­  )r®  ÚprimaryNamerÒ  rÓ  r­  r   r   r   ÚhNetrSetPrimaryComputerNamet  rÕ  rØ  c                 C   r«  )Nr¬  rD  r�  )r¤  r­  )r®  rË  r­  r   r   r   ÚhNetrEnumerateComputerNames  r±  rÙ  c                 C   r·  )Nr¬  rD  rù   r^  rŸ   z	UseInfo%d)r]  r­  )r®  r¯  Ú
infoStructr­  r   r   r   ÚhNetrUseAdd…  rº  rÛ  c                 C   s\   t ƒ }d|d< ||d d< ||d d d< t|d d d|  d< ||d	< ||d
< |  |¡S )Nr¬  rD  r^  rù   rA  rŸ   zLevel%drî   rR  rS  )rk  r	   r­  r´  r   r   r   ÚhNetrUseEnum�  s   
rÜ  c                 C   ó,   t ƒ }d|d< t|ƒ|d< ||d< |  |¡S )Nr¬  rD  rc  rù   )ra  rª  r­  )r®  ÚuseNamer¯  r­  r   r   r   ÚhNetrUseGetInfo—  ó
   
rß  c                 C   rÝ  )Nr¬  rD  rc  ri  )rg  rª  r­  )r®  rÞ  Ú
forceLevelr­  r   r   r   ÚhNetrUseDelž  rà  râ  N)r+   )r   r+   )¿Úimpacket.dcerpc.v5.ndrr   r   r   r   r   r   r   Úimpacket.dcerpc.v5.dtypesr	   r
   r   r   r   r   r   r   r   r   Úimpacketr   Úimpacket.uuidr   Úimpacket.dcerpc.v5.enumr   Úimpacket.dcerpc.v5.rpcrtr   ÚMSRPC_UUID_WKSTr   r  r  ÚMAX_PREFERRED_LENGTHÚUSE_OKÚ
USE_PAUSEDÚUSE_SESSLOSTÚ
USE_NETERRÚUSE_CONNÚ
USE_RECONNÚUSE_WILDCARDÚUSE_DISKDEVÚUSE_SPOOLDEVÚUSE_CHARDEVÚUSE_IPCÚUSE_NOFORCEÚ	USE_FORCEÚUSE_LOTS_OF_FORCEÚNETSETUP_JOIN_DOMAINÚNETSETUP_ACCT_CREATEÚNETSETUP_ACCT_DELETEÚNETSETUP_DOMAIN_JOIN_IF_JOINEDÚNETSETUP_JOIN_UNSECUREÚNETSETUP_MACHINE_PWD_PASSEDÚNETSETUP_DEFER_SPN_SETÚNETSETUP_JOIN_DC_ACCOUNTÚNETSETUP_JOIN_WITH_NEW_NAMEÚNETSETUP_INSTALL_INVOCATIONÚ!NETSETUP_IGNORE_UNSUPPORTED_FLAGSÚNETSETUP_DNS_NAME_CHANGES_ONLYr4   r9   r;   r<   r>   rH   rO   rT   r\   r]   rd   re   rn   ro   r“   r”   r—   r˜   rš   r›   r�   rž   r¬   r­   r³   r¶   r¼   rå   rç   rê   rì   rð   rñ   rò   ró   rô   rõ   rø   rû   rü   rý   rþ   rÿ   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r   r(  r)  r.  r/  r2  r3  r8  r9  r:  r;  r<  r=  r>  r@  rC  rG  rK  rN  rP  rU  rW  rY  rZ  r\  r]  r_  ra  rf  rg  rj  rk  rm  rn  rr  rs  rw  ry  r€  r�  r„  r†  rŠ  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Ô  rÖ  rØ  rÙ  rÛ  rÜ  rß  râ  r   r   r   r   Ú<module>   s¤  $0
	
'
	,
												





	ÿþýüûùø	÷
öõôóò
ñ
ð
ï
î
ë		
