o
    Žõ±jçK ã                   @   sø  d dl mZ d dlmZ d dlmZ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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$ d d	l%m&Z& d d
l'm(Z( d dl)m*Z* d dl+m,Z, d dl-m.Z/ d dl0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6 d dl0m1Z1m3Z3m2Z2 d dl7m8Z8 d dl9m:Z: d dl9m;Z; e"dƒZ<G dd„ de*ƒZ=dZ>dZ?dZ@dZAdZBdZCdZDdZEdZFdZGd ZHd!ZId"ZJd ZKd#ZLd$ZMd%ZNdZOd&ZPd'ZQd(ZRdZSdZTd)ZUd*ZVdZWdZXdZYdZZdZ[d Z\d+Z]d*Z^dZ_d&Z`dZadZbdZcd Zdd!Zed"Zfd,Zgd+Zhd-Zid.Zjd/Zkd0Zld1Zmd2Znd3Zod4ZpeZqeZrG d5d6„ d6eƒZseZtd d7l'muZu G d8d9„ d9eƒZvG d:d;„ d;eƒZwewZxexZyG d<d=„ d=eƒZzG 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	ƒZ�G dLdM„ dMeƒZ‚G dNdO„ dOe	ƒZƒG dPdI„ dIe
ƒZ€G dQdR„ dReƒZ„G dSdT„ dTe	ƒZ…G dUdV„ dVe,ƒZ†G dWdX„ dXe
ƒZ‡G dYdZ„ dZe	ƒZˆG d[d\„ d\eƒZ‰G d]d^„ d^e
ƒZŠG d_d`„ d`eƒZ‹G dadb„ dbe
ƒZŒG dcdd„ dde	ƒZ�G dedb„ dbeƒZŒG dfdg„ dgeƒZŽG dhdi„ die	ƒZ�G djdk„ dkeƒZ�G dldm„ dme	ƒZ‘G dndo„ doeƒZ’G dpdq„ dqeƒZ“G drds„ dseƒZ”G dtdu„ due	ƒZ•G dvdw„ dweƒZ–G dxdy„ dyeƒZ—G dzd{„ 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ƒ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·ewZ¸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Ûd �dl%mÜ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ç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 �d0�d1„ �d1eƒZõG �d2�d3„ �d3eƒZöG �d4�d5„ �d5eƒZ÷G �d6�d7„ �d7e
ƒZøG �d8�d9„ �d9eƒZùG �d:�d;„ �d;e	ƒZúG �d<�d=„ �d=eƒZûG �d>�d?„ �d?eƒZüG �d@�dA„ �dAeƒZýG �dB�dC„ �dCe
ƒZþG �dD�dE„ �dEe	ƒZÿG �dF�dG„ �dGeƒ�Z G �dH�dI„ �dIeƒ�ZG �dJ�dK„ �dKe	ƒ�ZG �dL�dM„ �dMeƒ�ZG �dN�dO„ �dOeƒ�ZG �dP�dQ„ �dQe	ƒ�ZG �dR�dS„ �dSeƒ�ZG �dT�dU„ �dUe	ƒ�ZG �dV�dW„ �dWeƒ�ZG �dX�dY„ �dYe	ƒ�Z	G �dZ�d[„ �d[eƒ�Z
G �d\�d]„ �d]e	ƒ�ZG �d^�d_„ �d_eƒ�ZG �d`�da„ �daeƒ�ZG �db�dc„ �dce	ƒ�ZG �dd�de„ �deeƒ�ZG �df�dg„ �dgeƒ�ZG �dh�di„ �dieƒ�ZG �dj�dk„ �dkeƒ�Zd�Zd�Zd �Zd+�Zd*�Zd �Zd�Z�dl�Z�dm�Zd4�Z�dn�Z�do�ZG �dp�dq„ �dqe,ƒ�ZG �dr�ds„ �dse,ƒ�Z G �dt�du„ �due,ƒ�Z!�dv�dw„ �Z"�dx�dy„ �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Ž�d�„�Z-�d�d��d‘„�Z.�d�d’�d“„�Z/�d€�d•�d–„�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 �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 �d¿�dÀ„ �dÀeƒ�ZEG �dÁ�dÂ„ �dÂeƒ�ZFG �dÃ�dÄ„ �dÄeƒ�ZGG �dÅ�dÆ„ �dÆeƒ�ZHG �dÇ�dÈ„ �dÈeƒ�ZIG �dÉ�dÊ„ �dÊeƒ�ZJG �dË�dÌ„ �dÌeƒ�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ƒ�ZaG �dù�dú„ �dúeƒ�ZbG �dû�dü„ �düeƒ�ZcG �dý�dþ„ �dþeƒ�ZdG �dÿ�d „ �d eƒ�ZeG �d�d„ �deƒ�ZfG �d�d„ �deƒ�ZgG �d�d„ �deƒ�ZhG �d�d„ �deƒ�ZiG �d	�d
„ �d
eƒ�ZjG �d�d„ �deƒ�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/�d0„ �d0eƒ�Z}G �d1�d2„ �d2eƒ�Z~G �d3�d4„ �d4eƒ�ZG �d5�d6„ �d6eƒ�Z€G �d7�d8„ �d8eƒ�Z�G �d9�d:„ �d:eƒ�Z‚G �d;�d<„ �d<eƒ�ZƒG �d=�d>„ �d>eƒ�Z„G �d?�d@„ �d@eƒ�Z…G �dA�dB„ �dBeƒ�Z†G �dC�dD„ �dDeƒ�Z‡G �dE�dF„ �dFeƒ�ZˆG �dG�dH„ �dHeƒ�Z‰G �dI�dJ„ �dJeƒ�ZŠi d �e‡�eˆf“d�e‰�eŠf“d�e]�e^f“d�e_�e`f“d �eG�eHf“d!�eM�eNf“d,�ea�ebf“d+�ee�eff“d/�e7�e8f“d0�e…�e†f“�dK�e9�e:f“�dL�eƒ�e„f“�dM�eK�eLf“d*�ec�edf“�dN�eg�ehf“�dO�e��e‚f“�dm�em�enf“i �dP�e5�e6f“�dQ�eW�eXf“d�e}�e~f“�dR�eu�evf“�dS�ew�exf“d�ey�ezf“�do�eI�eJf“�dT�e3�e4f“d�e;�e<f“�dU�eU�eVf“d�eO�ePf“�dV�eQ�eRf“d�e{�e|f“�dW�e?�e@f“d�e1�e2f“�dX�e�e€f“d�ek�elf“¥�eA�eBf�e=�e>f�eY�eZf�ei�ejf�eC�eDf�eS�eTf�eq�erf�eo�epf�e[�e\f�es�etf�dYœ
¥�Z‹�dZ�d[„ �ZŒ�d\�d]„ �Z��d^�d_„ �ZŽ�d`�da„ �Z��db�dc„ �Z��dd�de„ �Z‘�df�dg„ �Z’�dh�di„ �Z“�dj�dk„ �Z”�dl�dm„ �Z•�dn�do„ �Z–�dp�dq„ �Z—�dr�ds„ �Z˜�dt�du„ �Z™�dv�dw„ �Zš�d��dx�dy„�Z›�d��dz�d{„�Zœ�d|�d}„ �Z��dzS (‚  é    ©Úpack)Úb)ÚNDRCALLÚ	NDRSTRUCTÚNDRENUMÚNDRUNIONÚ
NDRPOINTERÚNDRUniConformantArrayÚNDRUniFixedArrayÚNDRUniConformantVaryingArray)ÚWSTRÚLPWSTRÚDWORDÚULONGÚUSHORTÚPGUIDÚNTSTATUSÚNULLÚLONGÚUCHARÚPRPC_SIDÚGUIDÚRPC_UNICODE_STRINGÚSECURITY_INFORMATIONÚLPULONG)Úsystem_errors)ÚNTStatus)Úuuidtup_to_bin)ÚEnum)ÚOLD_LARGE_INTEGER)ÚPLSA_FOREST_TRUST_INFORMATION)ÚDCERPCException)Ú	Structure)Úlogger)ÚAESÚDESÚRC4ÚMODE_CFBÚMODE_ECBÚexpand_DES_key)r%   r'   r&   )Úmd4)Úhmac)Úhashlib)z$12345678-1234-ABCD-EF00-01234567CFFBz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© r5   úˆ/root/aizidognhua/tmp/workspace/projects/ec89d86c-575f-41c9-af57-ac45cbdbf775/venv/lib/python3.10/site-packages/aiosmb/dcerpc/v5/nrpc.pyr0   .   s   zDCERPCSessionError.__init__c                 C   sŒ   | j }|tjv rtj| d }tj| d }d| j ||f S zt|ƒ W n
   d| j   Y S t|ƒj}dt|ƒt|ƒjf }d| j |f S )Nr   é   z'NRPC SessionError: code: 0x%x - %s - %sz+NRPC SessionError: unknown error code: 0x%xz%s : %sz"NRPC SessionError: code: 0x%x - %s)r3   r   ÚERROR_MESSAGESr   ÚnameÚhex)r1   ÚkeyÚerror_msg_shortÚerror_msg_verboser5   r5   r6   Ú__str__1   s   

zDCERPCSessionError.__str__)NNN)Ú__name__Ú
__module__Ú__qualname__r0   r>   r5   r5   r5   r6   r.   -   ó    
r.   é   é   é   é   é    é"   é$   r7   é   é   é   é   é   i   i @  é€   é@   é   é   i    é   é   é   é	   é
   é   é   iüÿ  iýÿ  éþÿ  iÿÿ  c                   @   ó   e Zd ZdZdd„ ZdS )ÚCYPHER_BLOCK))ÚDataz8s=b""c                 C   ó   dS ©Nr7   r5   ©r1   r5   r5   r6   ÚgetAlignment”   ó   zCYPHER_BLOCK.getAlignmentN)r?   r@   rA   Ú	structurera   r5   r5   r5   r6   r\   �   s    r\   )ÚSTRINGc                   @   ó   e Zd Zdd„ ZdS )ÚCYPHER_BLOCK_ARRAYc                 C   s   t tƒ ƒd S )NrJ   ©Úlenr\   ©r1   Údatar5   r5   r6   Ú
getDataLenž   s   zCYPHER_BLOCK_ARRAY.getDataLenN©r?   r@   rA   rk   r5   r5   r5   r6   rf   �   ó    rf   c                   @   ó   e Zd ZdeffZdS )ÚLM_OWF_PASSWORDr]   N)r?   r@   rA   rf   rc   r5   r5   r5   r6   ro   ¡   ó    ÿro   c                   @   r[   )ÚUCHAR_FIXED_ARRAYr7   c                 C   s
   t tƒ ƒS r/   rg   ri   r5   r5   r6   rk   ­   s   
úUCHAR_FIXED_ARRAY.getDataLenN)r?   r@   rA   Úalignrk   r5   r5   r5   r6   rq   «   s    rq   c                   @   s   e Zd ZdeffZdd„ ZdS )ÚNETLOGON_CREDENTIALr]   c                 C   r^   r_   r5   r`   r5   r5   r6   ra   ´   rb   z NETLOGON_CREDENTIAL.getAlignmentN)r?   r@   rA   rq   rc   ra   r5   r5   r5   r6   rt   °   s    ÿrt   c                   @   ó   e Zd ZdefdeffZdS )ÚNETLOGON_AUTHENTICATORÚ
CredentialÚ	TimestampN)r?   r@   rA   rt   r   rc   r5   r5   r5   r6   rv   ¸   ó    þrv   c                   @   rn   )ÚPNETLOGON_AUTHENTICATORr]   N)r?   r@   rA   rv   Úreferentr5   r5   r5   r6   rz   ¾   rp   rz   c                
   @   sF   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defd	eff	Zd
S )ÚDOMAIN_CONTROLLER_INFOWÚDomainControllerNameÚDomainControllerAddressÚDomainControllerAddressTypeÚ
DomainGuidÚ
DomainNameÚDnsForestNameÚFlagsÚ
DcSiteNameÚClientSiteNameN)r?   r@   rA   r   r   r   rc   r5   r5   r5   r6   r|   Ä   ó    ÷r|   c                   @   rn   )ÚPDOMAIN_CONTROLLER_INFOWr]   N)r?   r@   rA   r|   r{   r5   r5   r5   r6   r‡   Ñ   rp   r‡   c                   @   ó   e Zd ZeZdS ©ÚRPC_UNICODE_STRING_ARRAYN©r?   r@   rA   r   Úitemr5   r5   r5   r6   rŠ   ×   ó    rŠ   c                   @   rn   )ÚPRPC_UNICODE_STRING_ARRAYr]   N)r?   r@   rA   rŠ   r{   r5   r5   r5   r6   rŽ   Ú   rp   rŽ   c                   @   ru   )ÚNL_SITE_NAME_ARRAYÚ
EntryCountÚ	SiteNamesN©r?   r@   rA   r   rŽ   rc   r5   r5   r5   r6   r�   ß   ry   r�   c                   @   rn   )ÚPNL_SITE_NAME_ARRAYr]   N)r?   r@   rA   r�   r{   r5   r5   r5   r6   r“   å   rp   r“   c                   @   rˆ   r‰   r‹   r5   r5   r5   r6   rŠ   ë   r�   c                   @   s"   e Zd ZdefdefdeffZdS )ÚNL_SITE_NAME_EX_ARRAYr�   r‘   ÚSubnetNamesNr’   r5   r5   r5   r6   r”   î   ó
    ýr”   c                   @   rn   )ÚPNL_SITE_NAME_EX_ARRAYr]   N)r?   r@   rA   r”   r{   r5   r5   r5   r6   r—   õ   rp   r—   c                   @   ó   e Zd ZdZdS )ÚIPv4Address))ÚAddressFamilyú<H=0)ÚPortr›   )ÚAddressú<L=0)ÚPaddingrž   N)r?   r@   rA   rc   r5   r5   r5   r6   r™   ü   r�   r™   c                   @   r˜   )ÚUCHAR_ARRAYÚcN)r?   r@   rA   rŒ   r5   r5   r5   r6   r      r�   r    c                   @   rn   )ÚPUCHAR_ARRAYr]   N)r?   r@   rA   r    r{   r5   r5   r5   r6   r¢     rp   r¢   c                   @   ru   )ÚNL_SOCKET_ADDRESSÚ
lpSockaddrÚiSockaddrLengthN)r?   r@   rA   r¢   r   rc   r5   r5   r5   r6   r£     ry   r£   c                   @   rˆ   )ÚNL_SOCKET_ADDRESS_ARRAYN)r?   r@   rA   r£   rŒ   r5   r5   r5   r6   r¦     r�   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 )	ÚNL_DNS_NAME_INFOÚTypeÚDnsDomainInfoTypeÚPriorityÚWeightrœ   ÚRegisterÚStatusN)r?   r@   rA   r   r   r   rc   r5   r5   r5   r6   r§     ó    ùr§   c                   @   rˆ   )ÚNL_DNS_NAME_INFO_ARRAYN)r?   r@   rA   r§   rŒ   r5   r5   r5   r6   r¯   "  r�   r¯   c                   @   rn   )ÚPNL_DNS_NAME_INFO_ARRAYr]   N)r?   r@   rA   r¯   r{   r5   r5   r5   r6   r°   %  rp   r°   c                   @   ru   )r¯   r�   ÚDnsNamesInfoN)r?   r@   rA   r   r°   rc   r5   r5   r5   r6   r¯   *  ry   c                   @   ru   )ÚNETLOGON_LSA_POLICY_INFOÚLsaPolicySizeÚ	LsaPolicyN©r?   r@   rA   r   r¢   rc   r5   r5   r5   r6   r²   4  ry   r²   c                   @   rn   )ÚPNETLOGON_LSA_POLICY_INFOr]   N)r?   r@   rA   r²   r{   r5   r5   r5   r6   r¶   :  rp   r¶   c                   @   sj   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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 )ÚNETLOGON_WORKSTATION_INFOr´   ÚDnsHostNameÚSiteNameÚDummy1ÚDummy2ÚDummy3ÚDummy4Ú	OsVersionÚOsNameÚDummyString3ÚDummyString4ÚWorkstationFlagsÚ KerberosSupportedEncryptionTypesÚ
DummyLong3Ú
DummyLong4N)r?   r@   rA   r²   r   r   r   rc   r5   r5   r5   r6   r·   @  ó"    ñr·   c                   @   rn   )ÚPNETLOGON_WORKSTATION_INFOr]   N)r?   r@   rA   r·   r{   r5   r5   r5   r6   rÇ   S  rp   rÇ   c                   @   s   e Zd Zddd„Zdd„ ZdS )ÚNL_TRUST_PASSWORD_FIXED_ARRAYr   c                 C   r^   )Ni  r5   )r1   rj   Úoffsetr5   r5   r6   rk   Y  rb   z(NL_TRUST_PASSWORD_FIXED_ARRAY.getDataLenc                 C   r^   r_   r5   r`   r5   r5   r6   ra   \  rb   z*NL_TRUST_PASSWORD_FIXED_ARRAY.getAlignmentN)r   )r?   r@   rA   rk   ra   r5   r5   r5   r6   rÈ   X  rB   rÈ   c                   @   re   )ÚWCHAR_ARRAYc                 C   r^   )NrQ   r5   ri   r5   r5   r6   rk   a  rb   zWCHAR_ARRAY.getDataLenNrl   r5   r5   r5   r6   rÊ   `  rm   rÊ   c                   @   ru   )ÚNL_TRUST_PASSWORDÚBufferÚLengthN)r?   r@   rA   rÊ   r   rc   r5   r5   r5   r6   rË   d  ry   rË   c                   @   rn   )ÚPNL_TRUST_PASSWORDr]   N)r?   r@   rA   rË   r{   r5   r5   r5   r6   rÎ   j  rp   rÎ   c                   @   s"   e Zd ZdefdefdeffZdS )ÚNL_PASSWORD_VERSIONÚReservedFieldÚPasswordVersionNumberÚPasswordVersionPresentN©r?   r@   rA   r   rc   r5   r5   r5   r6   rÏ   q  r–   rÏ   c                   @   ó(   e Zd ZdeffZdefdefdœZdS )Ú NETLOGON_WORKSTATION_INFORMATIONÚtagÚWorkstationInfoÚLsaPolicyInfo©r7   rJ   N)r?   r@   rA   r   Ú	commonHdrrÇ   r¶   Úunionr5   r5   r5   r6   rÕ   y  ó    ÿ
þ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defd	efd
efdefdefdeffZdS )ÚNETLOGON_ONE_DOMAIN_INFOr�   ÚDnsDomainNamer‚   r€   Ú	DomainSidÚTrustExtensionÚDummyString2rÀ   rÁ   Ú
DummyLong1Ú
DummyLong2rÄ   rÅ   N)r?   r@   rA   r   r   r   r   rc   r5   r5   r5   r6   rÝ   „  ó    órÝ   c                   @   rˆ   )ÚNETLOGON_ONE_DOMAIN_INFO_ARRAYN)r?   r@   rA   rÝ   rŒ   r5   r5   r5   r6   rå   •  r�   rå   c                   @   rn   )ÚPNETLOGON_ONE_DOMAIN_INFO_ARRAYr]   N)r?   r@   rA   rå   r{   r5   r5   r5   r6   ræ   ˜  rp   ræ   c                   @   sX   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defd	efd
efdefdeffZdS )ÚNETLOGON_DOMAIN_INFOÚPrimaryDomainÚTrustedDomainCountÚTrustedDomainsr´   ÚDnsHostNameInDsrá   rÀ   rÁ   rÂ   ÚSupportedEncTypesrÄ   rÅ   N)	r?   r@   rA   rÝ   r   ræ   r²   r   rc   r5   r5   r5   r6   rç   ž  s    ôrç   c                   @   rn   )ÚPNETLOGON_DOMAIN_INFOr]   N)r?   r@   rA   rç   r{   r5   r5   r5   r6   rí   ®  rp   rí   c                   @   rÔ   )ÚNETLOGON_DOMAIN_INFORMATIONrÖ   Ú
DomainInforØ   rÙ   N)r?   r@   rA   r   rÚ   rí   r¶   rÛ   r5   r5   r5   r6   rî   ´  rÜ   rî   c                   @   ó   e Zd ZG dd„ deƒZdS )ÚNETLOGON_SECURE_CHANNEL_TYPEc                   @   s,   e Zd ZdZdZdZdZdZdZdZ	dZ
d	S )
z&NETLOGON_SECURE_CHANNEL_TYPE.enumItemsr   r7   rJ   rK   rL   rM   rN   rU   N)r?   r@   rA   ÚNullSecureChannelÚMsvApSecureChannelÚWorkstationSecureChannelÚTrustedDnsDomainSecureChannelÚTrustedDomainSecureChannelÚUasServerSecureChannelÚServerSecureChannelÚCdcServerSecureChannelr5   r5   r5   r6   Ú	enumItemsÀ  s    rú   N©r?   r@   rA   r   rú   r5   r5   r5   r6   rñ   ¿  ó    rñ   c                   @   ó"   e Zd ZdeffZddefiZdS )ÚNETLOGON_CAPABILITIESrÖ   r7   ÚServerCapabilitiesN©r?   r@   rA   r   rÚ   r   rÛ   r5   r5   r5   r6   rþ   Ë  ó
    ÿÿrþ   c                   @   re   )rq   c                 C   r^   )NrO   r5   ri   r5   r5   r6   rk   Ö  rb   rr   Nrl   r5   r5   r5   r6   rq   Õ  rm   c                   @   sR   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defd	efd
efdeffZdS )ÚNL_OSVERSIONINFO_V1ÚdwOSVersionInfoSizeÚdwMajorVersionÚdwMinorVersionÚdwBuildNumberÚdwPlatformIdÚszCSDVersionÚwServicePackMajorÚwServicePackMinorÚ
wSuiteMaskÚwProductTypeÚ	wReservedN)r?   r@   rA   r   rq   r   r   rc   r5   r5   r5   r6   r  Ù  s    õr  c                   @   rn   )ÚPNL_OSVERSIONINFO_V1r]   N)r?   r@   rA   r  r{   r5   r5   r5   r6   r  è  rp   r  c                   @   rn   )ÚPLPWSTRr]   N)r?   r@   rA   r   r{   r5   r5   r5   r6   r  î  rp   r  c                   @   s"   e Zd ZdefdefdeffZdS )Ú$NL_IN_CHAIN_SET_CLIENT_ATTRIBUTES_V1ÚClientDnsHostNameÚOsVersionInfor¿   N)r?   r@   rA   r  r  rc   r5   r5   r5   r6   r  ó  r–   r  c                   @   rý   )Ú!NL_IN_CHAIN_SET_CLIENT_ATTRIBUTESrÖ   r7   ÚV1N)r?   r@   rA   r   rÚ   r  rÛ   r5   r5   r5   r6   r  û  r  r  c                   @   ó"   e Zd ZdefdefdeffZdS )Ú%NL_OUT_CHAIN_SET_CLIENT_ATTRIBUTES_V1ÚHubNameÚOldDnsHostNamerì   N)r?   r@   rA   r  r   rc   r5   r5   r5   r6   r    r–   r  c                   @   rý   )Ú"NL_OUT_CHAIN_SET_CLIENT_ATTRIBUTESrÖ   r7   r  N)r?   r@   rA   r   rÚ   r  rÛ   r5   r5   r5   r6   r    r  r  c                   @   re   )ÚCHAR_FIXED_8_ARRAYc                 C   r^   )NrT   r5   ri   r5   r5   r6   rk     rb   zCHAR_FIXED_8_ARRAY.getDataLenNrl   r5   r5   r5   r6   r    rm   r  c                   @   rn   )ÚLM_CHALLENGEr]   N)r?   r@   rA   r  rc   r5   r5   r5   r6   r    rp   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 )ÚNETLOGON_LOGON_IDENTITY_INFOÚLogonDomainNameÚParameterControlÚReservedÚUserNameÚWorkstationN)r?   r@   rA   r   r   r    rc   r5   r5   r5   r6   r  !  ó    ûr  c                   @   rn   )ÚPNETLOGON_LOGON_IDENTITY_INFOr]   N)r?   r@   rA   r  r{   r5   r5   r5   r6   r#  *  rp   r#  c                   @   ó(   e Zd ZdefdefdefdeffZdS )ÚNETLOGON_GENERIC_INFOÚIdentityÚPackageNameÚ
DataLengthÚ	LogonDataN)r?   r@   rA   r  r   r   r¢   rc   r5   r5   r5   r6   r%  0  ó    ür%  c                   @   rn   )ÚPNETLOGON_GENERIC_INFOr]   N)r?   r@   rA   r%  r{   r5   r5   r5   r6   r+  8  rp   r+  c                   @   ó"   e Zd ZdefdefdeffZdS )ÚNETLOGON_INTERACTIVE_INFOr&  ÚLmOwfPasswordÚNtOwfPasswordN©r?   r@   rA   r  ro   ÚNT_OWF_PASSWORDrc   r5   r5   r5   r6   r-  >  r–   r-  c                   @   rn   )ÚPNETLOGON_INTERACTIVE_INFOr]   N)r?   r@   rA   r-  r{   r5   r5   r5   r6   r2  E  rp   r2  c                   @   r,  )ÚNETLOGON_SERVICE_INFOr&  r.  r/  Nr0  r5   r5   r5   r6   r3  K  r–   r3  c                   @   rn   )ÚPNETLOGON_SERVICE_INFOr]   N)r?   r@   rA   r3  r{   r5   r5   r5   r6   r4  R  rp   r4  c                   @   s(   e Zd ZdefdefdefdeffZdS )ÚNETLOGON_NETWORK_INFOr&  ÚLmChallengeÚNtChallengeResponseÚLmChallengeResponseN)r?   r@   rA   r  r  rd   rc   r5   r5   r5   r6   r5  X  r*  r5  c                   @   rn   )ÚPNETLOGON_NETWORK_INFOr]   N)r?   r@   rA   r5  r{   r5   r5   r5   r6   r9  `  rp   r9  c                   @   rð   )ÚNETLOGON_LOGON_INFO_CLASSc                   @   s(   e Zd ZdZdZdZdZdZdZdZ	dS )	z#NETLOGON_LOGON_INFO_CLASS.enumItemsr7   rJ   rK   rL   rM   rN   rU   N)
r?   r@   rA   ÚNetlogonInteractiveInformationÚNetlogonNetworkInformationÚNetlogonServiceInformationÚNetlogonGenericInformationÚ(NetlogonInteractiveTransitiveInformationÚ$NetlogonNetworkTransitiveInformationÚ$NetlogonServiceTransitiveInformationr5   r5   r5   r6   rú   g  s    rú   Nrû   r5   r5   r5   r6   r:  f  rü   r:  c                   @   sV   e Zd Zejdefejdefejdefej	defej
defejdefejdefiZdS )	ÚNETLOGON_LEVELÚLogonInteractiveÚLogonInteractiveTransitiveÚLogonServiceÚLogonServiceTransitiveÚLogonNetworkÚLogonNetworkTransitiveÚLogonGenericN)r?   r@   rA   r:  r;  r2  r?  r=  r4  rA  r<  r9  r@  r>  r+  rÛ   r5   r5   r5   r6   rB  q  s    






ùrB  c                   @   ru   )ÚNETLOGON_SID_AND_ATTRIBUTESÚSidÚ
AttributesN)r?   r@   rA   r   r   rc   r5   r5   r5   r6   rJ  }  ry   rJ  c                   @   ru   )Ú!NETLOGON_VALIDATION_GENERIC_INFO2r(  ÚValidationDataNrµ   r5   r5   r5   r6   rM  „  ry   rM  c                   @   rn   )Ú"PNETLOGON_VALIDATION_GENERIC_INFO2r]   N)r?   r@   rA   rM  r{   r5   r5   r5   r6   rO  Š  rp   rO  c                   @   ó   e Zd ZdefdeffZdS )ÚGROUP_MEMBERSHIPÚ
RelativeIdrL  NrÓ   r5   r5   r5   r6   rQ  “  ry   rQ  c                   @   rˆ   )ÚGROUP_MEMBERSHIP_ARRAYN)r?   r@   rA   rQ  rŒ   r5   r5   r5   r6   rS  ™  r�   rS  c                   @   rn   )ÚPGROUP_MEMBERSHIP_ARRAYr]   N)r?   r@   rA   rS  r{   r5   r5   r5   r6   rT  œ  rp   rT  c                   @   re   )Ú
LONG_ARRAYc                 C   r^   )Né(   r5   ri   r5   r5   r6   rk   £  rb   zLONG_ARRAY.getDataLenNrl   r5   r5   r5   r6   rU  ¢  rm   rU  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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fZdS )ÚNETLOGON_VALIDATION_SAM_INFOÚ	LogonTimeÚ
LogoffTimeÚKickOffTimeÚPasswordLastSetÚPasswordCanChangeÚPasswordMustChangeÚEffectiveNameÚFullNameÚLogonScriptÚProfilePathÚHomeDirectoryÚHomeDirectoryDriveÚ
LogonCountÚBadPasswordCountÚUserIdÚPrimaryGroupIdÚ
GroupCountÚGroupIdsÚ	UserFlagsÚUserSessionKeyÚLogonServerr  ÚLogonDomainIdÚExpansionRoomN)r?   r@   rA   r    r   r   r   rT  ÚUSER_SESSION_KEYr   rU  rc   r5   r5   r5   r6   rW  ¦  s4    èrW  c                   @   rn   )ÚPNETLOGON_VALIDATION_SAM_INFOr]   N)r?   r@   rA   rW  r{   r5   r5   r5   r6   rp  Â  rp   rp  c                   @   rˆ   )Ú!NETLOGON_SID_AND_ATTRIBUTES_ARRAYN)r?   r@   rA   rJ  rŒ   r5   r5   r5   r6   rq  È  r�   rq  c                   @   rn   )Ú"PNETLOGON_SID_AND_ATTRIBUTES_ARRAYr]   N)r?   r@   rA   rq  r{   r5   r5   r5   r6   rr  Ë  rp   rr  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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fZdS )ÚNETLOGON_VALIDATION_SAM_INFO2rX  rY  rZ  r[  r\  r]  r^  r_  r`  ra  rb  rc  rd  re  rf  rg  rh  ri  rj  rk  rl  r  rm  rn  ÚSidCountÚ	ExtraSidsN)r?   r@   rA   r    r   r   r   rT  ro  r   rU  rr  rc   r5   r5   r5   r6   rs  Ð  s8    ærs  c                   @   rn   )ÚPNETLOGON_VALIDATION_SAM_INFO2r]   N)r?   r@   rA   rs  r{   r5   r5   r5   r6   rv  î  rp   rv  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‘d)ef‘d*ef‘d+ef‘d,ef‘R Zd-S ).ÚNETLOGON_VALIDATION_SAM_INFO4rX  rY  rZ  r[  r\  r]  r^  r_  r`  ra  rb  rc  rd  re  rf  rg  rh  ri  rj  rk  rl  r  rm  ÚLMKeyÚUserAccountControlÚSubAuthStatusÚLastSuccessfulILogonÚLastFailedILogonÚFailedILogonCountÚ	Reserved4rt  ru  ÚDnsLogonDomainNameÚUpnÚExpansionString1ÚExpansionString2ÚExpansionString3ÚExpansionString4ÚExpansionString5ÚExpansionString6ÚExpansionString7ÚExpansionString8ÚExpansionString9ÚExpansionString10N)r?   r@   rA   r    r   r   r   rT  ro  r   r  rr  rc   r5   r5   r5   r6   rw  ô  s´    ÿþýüûúùø	÷
öõôóòñðïîíìëêéçæåäãâá!ß"Þ#Ý$Ü%Û&Ú'Ù(Ø)×*Ö+Õ,Ô-Ó.
Òrw  c                   @   rn   )ÚPNETLOGON_VALIDATION_SAM_INFO4r]   N)r?   r@   rA   rw  r{   r5   r5   r5   r6   r‹  &  rp   r‹  c                   @   rð   )ÚNETLOGON_VALIDATION_INFO_CLASSc                   @   s$   e Zd ZdZdZdZdZdZdZdS )z(NETLOGON_VALIDATION_INFO_CLASS.enumItemsr7   rJ   rK   rL   rM   rN   N)	r?   r@   rA   ÚNetlogonValidationUasInfoÚNetlogonValidationSamInfoÚNetlogonValidationSamInfo2ÚNetlogonValidationGenericInfoÚNetlogonValidationGenericInfo2ÚNetlogonValidationSamInfo4r5   r5   r5   r6   rú   -  s    rú   Nrû   r5   r5   r5   r6   rŒ  ,  rü   rŒ  c                	   @   s8   e Zd Zejdefejdefejde	fej
defiZdS )ÚNETLOGON_VALIDATIONÚValidationSamÚValidationSam2ÚValidationGeneric2ÚValidationSam4N)r?   r@   rA   rŒ  rŽ  rp  r�  rv  r‘  rO  r’  r‹  rÛ   r5   r5   r5   r6   r“  6  s    



ü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 )ÚNLPR_QUOTA_LIMITSÚPagedPoolLimitÚNonPagedPoolLimitÚMinimumWorkingSetSizeÚMaximumWorkingSetSizeÚPagefileLimitr  N)r?   r@   rA   r   r    rc   r5   r5   r5   r6   r˜  ?  s    úr˜  c                   @   rˆ   )ÚULONG_ARRAYN)r?   r@   rA   r   rŒ   r5   r5   r5   r6   rž  J  r�   rž  c                   @   rn   )ÚPULONG_ARRAYr]   N)r?   r@   rA   rž  r{   r5   r5   r5   r6   rŸ  M  rp   rŸ  c                   @   sv   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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 )ÚNETLOGON_DELTA_ACCOUNTSÚPrivilegeEntriesÚPrivilegeControlÚPrivilegeAttributesÚPrivilegeNamesÚQuotaLimitsÚSystemAccessFlagsÚSecurityInformationÚSecuritySizeÚSecurityDescriptorÚDummyString1rá   rÀ   rÁ   râ   rã   rÄ   rÅ   N)r?   r@   rA   r   rŸ  rŽ   r˜  r   r¢   r   rc   r5   r5   r5   r6   r   R  s&    ïr   c                   @   rn   )ÚPNETLOGON_DELTA_ACCOUNTSr]   N)r?   r@   rA   r   r{   r5   r5   r5   r6   r«  g  rp   r«  c                   @   rn   )ÚNLPR_SID_INFORMATIONÚ
SidPointerN)r?   r@   rA   r   rc   r5   r5   r5   r6   r¬  m  rp   r¬  c                   @   rˆ   )ÚNLPR_SID_INFORMATION_ARRAYN)r?   r@   rA   r¬  rŒ   r5   r5   r5   r6   r®  s  r�   r®  c                   @   rn   )ÚPNLPR_SID_INFORMATION_ARRAYr]   N)r?   r@   rA   r®  r{   r5   r5   r5   r6   r¯  v  rp   r¯  c                   @   ru   )ÚNLPR_SID_ARRAYÚCountÚSidsN)r?   r@   rA   r   r¯  r{   r5   r5   r5   r6   r°  {  ry   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 )ÚNETLOGON_DELTA_ALIAS_MEMBERÚMembersrâ   rã   rÄ   rÅ   N)r?   r@   rA   r°  r   rc   r5   r5   r5   r6   r³  ‚  r"  r³  c                   @   rn   )ÚPNETLOGON_DELTA_ALIAS_MEMBERr]   N)r?   r@   rA   r³  r{   r5   r5   r5   r6   rµ  ‹  rp   rµ  c                
   @   óF   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defd	eff	Zd
S )ÚNETLOGON_DELTA_DELETE_GROUPÚAccountNamerª  rá   rÀ   rÁ   râ   rã   rÄ   rÅ   N©r?   r@   rA   r   r   r   rc   r5   r5   r5   r6   r·  ‘  r†   r·  c                   @   rn   )ÚPNETLOGON_DELTA_DELETE_GROUPr]   N)r?   r@   rA   r·  r{   r5   r5   r5   r6   rº  ž  rp   rº  c                
   @   r¶  )ÚNETLOGON_DELTA_DELETE_USERr¸  rª  rá   rÀ   rÁ   râ   rã   rÄ   rÅ   Nr¹  r5   r5   r5   r6   r»  ¤  r†   r»  c                   @   rn   )ÚPNETLOGON_DELTA_DELETE_USERr]   N)r?   r@   rA   r»  r{   r5   r5   r5   r6   r¼  ±  rp   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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 )ÚNETLOGON_DELTA_DOMAINr�   ÚOemInformationÚForceLogoffÚMinPasswordLengthÚPasswordHistoryLengthÚMaxPasswordAgeÚMinPasswordAgeÚDomainModifiedCountÚDomainCreationTimer§  r¨  r©  ÚDomainLockoutInformationrá   rÀ   rÁ   ÚPasswordPropertiesrã   rÄ   rÅ   N)
r?   r@   rA   r   r    r   r   r   r¢   rc   r5   r5   r5   r6   r½  ·  s,    ìr½  c                   @   rn   )ÚPNETLOGON_DELTA_DOMAINr]   N)r?   r@   rA   r½  r{   r5   r5   r5   r6   rÈ  Ï  rp   rÈ  c                   @   sj   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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 )ÚNETLOGON_DELTA_GROUPÚNamerR  rL  ÚAdminCommentr§  r¨  r©  rª  rá   rÀ   rÁ   râ   rã   rÄ   rÅ   N)r?   r@   rA   r   r   r   r   rc   r5   r5   r5   r6   rÉ  Õ  rÆ   rÉ  c                   @   rn   )ÚPNETLOGON_DELTA_GROUPr]   N)r?   r@   rA   rÉ  r{   r5   r5   r5   r6   rÌ  è  rp   rÌ  c                   @   óL   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defd	efd
eff
ZdS )ÚNETLOGON_RENAME_GROUPÚOldNameÚNewNamerª  rá   rÀ   rÁ   râ   rã   rÄ   rÅ   N©r?   r@   rA   r   r   rc   r5   r5   r5   r6   rÎ  î  ó    örÎ  c                   @   rn   )ÚPNETLOGON_DELTA_RENAME_GROUPr]   N)r?   r@   rA   rÎ  r{   r5   r5   r5   r6   rÓ  ü  rp   rÓ  )ÚSAMPR_LOGON_HOURSc                   @   r,  )ÚNLPR_USER_PRIVATE_INFOÚSensitiveDatar(  r]   N)r?   r@   rA   r   r   r¢   rc   r5   r5   r5   r6   rÕ    r–   rÕ  c                   @   sB  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‘R Zd'S )(ÚNETLOGON_DELTA_USERr   r_  rf  rg  rb  rc  Ú
ScriptPathrË  ÚWorkStationsÚ	LastLogonÚ
LastLogoffÚ
LogonHoursre  rd  r[  ÚAccountExpiresry  ÚEncryptedNtOwfPasswordÚEncryptedLmOwfPasswordÚNtPasswordPresentÚLmPasswordPresentÚPasswordExpiredÚUserCommentÚ
ParametersÚCountryCodeÚCodePageÚPrivateDatar§  r¨  r©  ra  rá   rÀ   rÁ   râ   rã   rÄ   rÅ   N)r?   r@   rA   r   r   r    ÚNLPR_LOGON_HOURSr   r¢   r   rÕ  r   rc   r5   r5   r5   r6   r×    sœ    ÿþýüûúùø	÷
öõôóòñðïîíìëêéèçæåäãâá à!ß"Þ#Ý$Ü%Û&
Úr×  c                   @   rn   )ÚPNETLOGON_DELTA_USERr]   N)r?   r@   rA   r×  r{   r5   r5   r5   r6   ré  8  rp   ré  c                   @   rÍ  )ÚNETLOGON_RENAME_USERrÏ  rÐ  rª  rá   rÀ   rÁ   râ   rã   rÄ   rÅ   NrÑ  r5   r5   r5   r6   rê  >  rÒ  rê  c                   @   rn   )ÚPNETLOGON_DELTA_RENAME_USERr]   N)r?   r@   rA   rê  r{   r5   r5   r5   r6   rë  L  rp   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 )	ÚNETLOGON_DELTA_GROUP_MEMBERr´  rL  ÚMemberCountrâ   rã   rÄ   rÅ   N)r?   r@   rA   rŸ  r   rc   r5   r5   r5   r6   rì  R  r®   rì  c                   @   rn   )ÚPNETLOGON_DELTA_GROUP_MEMBERr]   N)r?   r@   rA   rì  r{   r5   r5   r5   r6   rî  ]  rp   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defd	efd
efdefdefdeffZdS )ÚNETLOGON_DELTA_ALIASrÊ  rR  r§  r¨  r©  ÚCommentrá   rÀ   rÁ   râ   rã   rÄ   rÅ   N)r?   r@   rA   r   r   r   r¢   rc   r5   r5   r5   r6   rï  c  rä   rï  c                   @   rn   )ÚPNETLOGON_DELTA_ALIASr]   N)r?   r@   rA   rï  r{   r5   r5   r5   r6   rñ  t  rp   rñ  c                   @   rÍ  )ÚNETLOGON_RENAME_ALIASrÏ  rÐ  rª  rá   rÀ   rÁ   râ   rã   rÄ   rÅ   NrÑ  r5   r5   r5   r6   rò  z  rÒ  rò  c                   @   rn   )ÚPNETLOGON_DELTA_RENAME_ALIASr]   N)r?   r@   rA   rò  r{   r5   r5   r5   r6   ró  ˆ  rp   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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 )ÚNETLOGON_DELTA_POLICYÚMaximumLogSizeÚAuditRetentionPeriodÚAuditingModeÚMaximumAuditEventCountÚEventAuditingOptionsÚPrimaryDomainNameÚPrimaryDomainSidr¥  Ú
ModifiedIdÚDatabaseCreationTimer§  r¨  r©  rª  rá   rÀ   rÁ   râ   rã   rÄ   rÅ   N)r?   r@   rA   r   r    r   rŸ  r   r   r˜  r   r¢   rc   r5   r5   r5   r6   rô  Ž  s.    ërô  c                   @   rn   )ÚPNETLOGON_DELTA_POLICYr]   N)r?   r@   rA   rô  r{   r5   r5   r5   r6   rþ  §  rp   rþ  c                   @   sd   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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 )ÚNETLOGON_DELTA_TRUSTED_DOMAINSr�   ÚNumControllerEntriesÚControllerNamesr§  r¨  r©  rª  rá   rÀ   rÁ   râ   rã   rÄ   rÅ   N)	r?   r@   rA   r   r   rŽ   r   r¢   rc   r5   r5   r5   r6   rÿ  ­  s     òrÿ  c                   @   rn   )ÚPNETLOGON_DELTA_TRUSTED_DOMAINSr]   N)r?   r@   rA   rÿ  r{   r5   r5   r5   r6   r  ¿  rp   r  c                   @   rˆ   )ÚUCHAR_ARRAY2N)r?   r@   rA   r   rŒ   r5   r5   r5   r6   r  Å  r�   r  c                   @   rn   )ÚPUCHAR_ARRAY2r]   N)r?   r@   rA   r  r{   r5   r5   r5   r6   r  È  rp   r  c                   @   r  )ÚNLPR_CR_CIPHER_VALUErÍ   ÚMaximumLengthrÌ   N)r?   r@   rA   r   r  rc   r5   r5   r5   r6   r  Í  r–   r  c                   @   sj   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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 )ÚNETLOGON_DELTA_SECRETÚCurrentValueÚCurrentValueSetTimeÚOldValueÚOldValueSetTimer§  r¨  r©  rª  rá   rÀ   rÁ   râ   rã   rÄ   rÅ   N)
r?   r@   rA   r  r    r   r   r¢   r   rc   r5   r5   r5   r6   r  Õ  rÆ   r  c                   @   rn   )ÚPNETLOGON_DELTA_SECRETr]   N)r?   r@   rA   r  r{   r5   r5   r5   r6   r  è  rp   r  c                   @   rn   )ÚNLPR_MODIFIED_COUNTÚModifiedCountN)r?   r@   rA   r    rc   r5   r5   r5   r6   r  î  rp   r  c                   @   rn   )ÚPNLPR_MODIFIED_COUNTr]   N)r?   r@   rA   r  r{   r5   r5   r5   r6   r  ó  rp   r  c                   @   rð   )ÚNETLOGON_DELTA_TYPEc                   @   sd   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ZdZdZdZdS )zNETLOGON_DELTA_TYPE.enumItemsr7   rJ   rK   rL   rM   rN   rU   rT   rV   rW   rX   rY   é   é   é   rS   é   é   é   é   é   rC   N)r?   r@   rA   ÚAddOrChangeDomainÚAddOrChangeGroupÚDeleteGroupÚRenameGroupÚAddOrChangeUserÚ
DeleteUserÚ
RenameUserÚChangeGroupMembershipÚAddOrChangeAliasÚDeleteAliasÚRenameAliasÚChangeAliasMembershipÚAddOrChangeLsaPolicyÚAddOrChangeLsaTDomainÚDeleteLsaTDomainÚAddOrChangeLsaAccountÚDeleteLsaAccountÚAddOrChangeLsaSecretÚDeleteLsaSecretÚDeleteGroupByNameÚDeleteUserByNameÚSerialNumberSkipr5   r5   r5   r6   rú   ú  s.    rú   Nrû   r5   r5   r5   r6   r  ù  rü   r  c                   @   sÐ   e Zd Zi ejdef“ejdef“ejde	f“ej
def“ejdef“ejdef“ejdef“ejdef“ejd	ef“ejd
ef“ejdef“ejdef“ejdef“ejdef“ej de!f“ej"de#f“Z$dS )ÚNETLOGON_DELTA_UNIONÚDeltaDomainÚ
DeltaGroupÚDeltaRenameGroupÚ	DeltaUserÚDeltaRenameUserÚDeltaGroupMemberÚ
DeltaAliasÚDeltaRenameAliasÚDeltaAliasMemberÚDeltaPolicyÚDeltaTDomainsÚDeltaAccountsÚDeltaSecretÚDeltaDeleteGroupÚDeltaDeleteUserÚDeltaSerialNumberSkipN)%r?   r@   rA   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Û   r5   r5   r5   r6   r/    sD    
ÿ
þ
ý
ü
û
ú
ù
ø
	÷

ö
õ
ô
ó
ò
ñ
ðr/  c                
   @   s  e Zd Zi ejdef“ejdef“ejdef“ejdef“ej	def“ej
def“ejdef“ejdef“ejdef“ejdef“ejdef“ejdef“ejdef“ejdef“ejdef“ejdef“ejdef“ejdefejdefejdefejdefi¥ZdS )ÚNETLOGON_DELTA_ID_UNIONÚRidrK  rÊ  N)r?   r@   rA   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Û   r5   r5   r5   r6   r@  (  sR    
ÿ
þ
ý
ü
û
ú
ù
ø
	÷

ö
õ
ô
ó
ò
ñ
ð
ï




ër@  c                   @   r,  )ÚNETLOGON_DELTA_ENUMÚ	DeltaTypeÚDeltaIDÚ
DeltaUnionN)r?   r@   rA   r  r@  r/  rc   r5   r5   r5   r6   rB  B  r–   rB  c                   @   rˆ   )ÚNETLOGON_DELTA_ENUM_ARRAY_ARRAYN)r?   r@   rA   rB  rŒ   r5   r5   r5   r6   rF  J  r�   rF  c                   @   rn   )Ú PNETLOGON_DELTA_ENUM_ARRAY_ARRAYr]   N)r?   r@   rA   rF  r{   r5   r5   r5   r6   rG  M  rp   rG  c                   @   ru   )ÚPNETLOGON_DELTA_ENUM_ARRAYÚCountReturnedÚDeltasN)r?   r@   rA   r   rG  rc   r5   r5   r5   r6   rH  R  ry   rH  c                   @   rð   )Ú
SYNC_STATEc                   @   s0   e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
S )zSYNC_STATE.enumItemsr   r7   rJ   rK   rL   rM   rN   rU   rT   N)r?   r@   rA   ÚNormalStateÚDomainStateÚ
GroupStateÚUasBuiltInGroupStateÚ	UserStateÚGroupMemberStateÚ
AliasStateÚAliasMemberStateÚSamDoneStater5   r5   r5   r6   rú   Z  s    rú   Nrû   r5   r5   r5   r6   rK  Y  rü   rK  c                   @   ru   )ÚDOMAIN_NAME_BUFFERÚDomainNameByteCountÚDomainNamesNrµ   r5   r5   r5   r6   rU  f  ry   rU  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deffZd	S )
ÚDS_DOMAIN_TRUSTSWÚNetbiosDomainNamerÞ   rƒ   ÚParentIndexÚ	TrustTypeÚTrustAttributesrß   r€   N)r?   r@   rA   r   r   r   r   rc   r5   r5   r5   r6   rX  m  s    ørX  c                   @   rˆ   )ÚDS_DOMAIN_TRUSTSW_ARRAYN)r?   r@   rA   rX  rŒ   r5   r5   r5   r6   r]  z  r�   r]  c                   @   rn   )ÚPDS_DOMAIN_TRUSTSW_ARRAYr]   N)r?   r@   rA   r]  r{   r5   r5   r5   r6   r^  }  rp   r^  c                   @   ru   )ÚNETLOGON_TRUSTED_DOMAIN_ARRAYÚDomainCountÚDomainsN)r?   r@   rA   r   r^  rc   r5   r5   r5   r6   r_  ‚  ry   r_  c                   @   s(   e Zd ZdefdefdefdeffZdS )ÚNL_GENERIC_RPC_DATAÚUlongEntryCountÚ	UlongDataÚUnicodeStringEntryCountÚUnicodeStringDataN)r?   r@   rA   r   rŸ  rŽ   rc   r5   r5   r5   r6   rb  ‰  r*  rb  c                   @   rn   )ÚPNL_GENERIC_RPC_DATAr]   N)r?   r@   rA   rb  r{   r5   r5   r5   r6   rg  ‘  rp   rg  c                   @   s@   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œZdS )Ú!NETLOGON_CONTROL_DATA_INFORMATIONrÖ   ÚTrustedDomainNameÚ	DebugFlagr   )rM   rN   rV   rW   rZ   rT   N)r?   r@   rA   r   rÚ   r   rÛ   r5   r5   r5   r6   rh  —  s    ÿ
úrh  c                   @   ru   )ÚNETLOGON_INFO_1Únetlog1_flagsÚnetlog1_pdc_connection_statusN)r?   r@   rA   r   ÚNET_API_STATUSrc   r5   r5   r5   r6   rk  ¦  ry   rk  c                   @   rn   )ÚPNETLOGON_INFO_1r]   N)r?   r@   rA   rk  r{   r5   r5   r5   r6   ro  ¬  rp   ro  c                   @   s(   e Zd ZdefdefdefdeffZdS )ÚNETLOGON_INFO_2Únetlog2_flagsÚnetlog2_pdc_connection_statusÚnetlog2_trusted_dc_nameÚnetlog2_tc_connection_statusN)r?   r@   rA   r   rn  r   rc   r5   r5   r5   r6   rp  ²  r*  rp  c                   @   rn   )ÚPNETLOGON_INFO_2r]   N)r?   r@   rA   rp  r{   r5   r5   r5   r6   ru  º  rp   ru  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 )	ÚNETLOGON_INFO_3Únetlog3_flagsÚnetlog3_logon_attemptsÚnetlog3_reserved1Únetlog3_reserved2Únetlog3_reserved3Únetlog3_reserved4Únetlog3_reserved5N)r?   r@   rA   r   rc   r5   r5   r5   r6   rv  À  r®   rv  c                   @   rn   )ÚPNETLOGON_INFO_3r]   N)r?   r@   rA   rv  r{   r5   r5   r5   r6   r~  Ë  rp   r~  c                   @   rP  )ÚNETLOGON_INFO_4Únetlog4_trusted_dc_nameÚnetlog4_trusted_domain_nameN)r?   r@   rA   r   rc   r5   r5   r5   r6   r  Ñ  ry   r  c                   @   rn   )ÚPNETLOGON_INFO_4r]   N)r?   r@   rA   r  r{   r5   r5   r5   r6   r‚  ×  rp   r‚  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 )Ú"NETLOGON_CONTROL_QUERY_INFORMATIONrÖ   ÚNetlogonInfo1ÚNetlogonInfo2ÚNetlogonInfo3ÚNetlogonInfo4)r7   rJ   rK   rL   N)
r?   r@   rA   r   rÚ   ro  ru  r~  r‚  rÛ   r5   r5   r5   r6   rƒ  Ý  s    ÿ
ürƒ  c                   @   sp   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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 )ÚNETLOGON_VALIDATION_UAS_INFOÚusrlog1_eff_nameÚusrlog1_privÚusrlog1_auth_flagsÚusrlog1_num_logonsÚusrlog1_bad_pw_countÚusrlog1_last_logonÚusrlog1_last_logoffÚusrlog1_logoff_timeÚusrlog1_kickoff_timeÚusrlog1_password_ageÚusrlog1_pw_can_changeÚusrlog1_pw_must_changeÚusrlog1_computerÚusrlog1_domainÚusrlog1_script_pathÚusrlog1_reserved1N)r?   r@   rA   r   r   rc   r5   r5   r5   r6   rˆ  ê  s$    ðrˆ  c                   @   rn   )ÚPNETLOGON_VALIDATION_UAS_INFOr]   N)r?   r@   rA   rˆ  r{   r5   r5   r5   r6   r™  þ  rp   r™  c                   @   ru   )ÚNETLOGON_LOGOFF_UAS_INFOÚDurationrd  N)r?   r@   rA   r   r   rc   r5   r5   r5   r6   rš    ry   rš  c                   @   s&   e Zd ZddefdeffZdd„ ZdS )Ú
UAS_INFO_0)ÚComputerNamez16s=""ÚTimeCreatedÚSerialNumberc                 C   r^   )NrL   r5   r`   r5   r5   r6   ra     rb   zUAS_INFO_0.getAlignmentN)r?   r@   rA   r   rc   ra   r5   r5   r5   r6   rœ    s    ýrœ  c                   @   rý   )ÚNETLOGON_DUMMY1rÖ   r7   ÚDummyNr   r5   r5   r5   r6   r     r  r   c                   @   re   )ÚCHAR_FIXED_16_ARRAYc                 C   r^   )NrS   r5   ri   r5   r5   r6   rk      rb   zCHAR_FIXED_16_ARRAY.getDataLenNrl   r5   r5   r5   r6   r¢    rm   r¢  éw   r  éz   é   c                   @   ó   e Zd ZdZddd„ZdS )ÚNL_AUTH_MESSAGE))ÚMessageTyperž   )rƒ   rž   )rÌ   ú:Nr   c                 C   ó&   t  | ||¡ |d u rd| d< d S d S )Nó       rÌ   ©r#   r0   ©r1   rj   Ú	alignmentr5   r5   r6   r0   >  ó   ÿzNL_AUTH_MESSAGE.__init__©Nr   ©r?   r@   rA   rc   r0   r5   r5   r5   r6   r§  8  s    r§  c                   @   r¦  )ÚNL_AUTH_SIGNATURE)©ÚSignatureAlgorithmr›   ©ÚSealAlgorithmr›   ©ÚPadz	<H=0xffff©rƒ   r›   ©ÚSequenceNumberú8s="")ÚChecksumr¼  ©Ú_Confounderz_-ConfounderÚ8©Ú
Confounderr©  Nr   c                 C   rª  ©NÚ rÂ  r¬  r­  r5   r5   r6   r0   N  r¯  zNL_AUTH_SIGNATURE.__init__r°  r±  r5   r5   r5   r6   r²  C  ó    
r²  c                   @   r¦  )ÚNL_AUTH_SHA2_SIGNATURE)r³  rµ  r·  r¹  rº  )r½  z32s=""r¾  rÁ  Nr   c                 C   rª  rÃ  r¬  r­  r5   r5   r6   r0   ^  r¯  zNL_AUTH_SHA2_SIGNATURE.__init__r°  r±  r5   r5   r5   r6   rÆ  S  rÅ  rÆ  c           	      C   sP   |d d… }t |ƒ}|dd… }t |ƒ}t|tƒ}t|tƒ}| | ¡}| |¡S )NrU   r  )r*   r&   r)   Úencrypt)	Ú	inputDataÚSkÚk1Úk3Úk2Úk4ÚCrypt1ÚCrypt2Ú
cipherTextr5   r5   r6   ÚComputeNetlogonCredentiald  s   



rÑ  c                 C   s   t dƒ‚)NzTODO: needs more work...)Ú	ExceptionÚprintrh   r%   Ú
cipherMODEÚCFBrÇ  )rÈ  rÉ  ÚIVrÎ  r5   r5   r6   ÚComputeNetlogonCredentialAESo  s   r×  Nc                 C   sf   |d u rt | tƒr|  d¡} t| ƒ ¡ }n|}tj|tjd�}| 	|¡ | 	|¡ | ¡ }|d d… S )Núutf-16le©r;   Ú	digestmodrS   )
Ú
isinstanceÚstrÚencoder+   Údigestr,   Únewr-   Úsha256Úupdate)ÚsharedSecretÚclientChallengeÚserverChallengeÚsharedSecretHashÚM4SSÚhmÚ
sessionKeyr5   r5   r6   ÚComputeSessionKeyAESx  s   



ré  c                 C   s€   |d u rt | tƒr|  d¡} t| ƒ ¡ }n|}t d¡}| d¡ | |¡ | |¡ | ¡ }tj|tj	d�}| |¡ | ¡ S )NrØ  Úmd5r«  ©rÚ  )
rÛ  rÜ  rÝ  r+   rÞ  r-   rß  rá  r,   rê  )râ  rã  rä  rå  ræ  rê  ÚfinalMD5rç  r5   r5   r6   ÚComputeSessionKeyStrongKey‰  s   






rí  c                 C   s8   | d@ }| d? d@ }|dO }t d|ƒ}|t d|ƒ7 }|S )Nl   ÿÿ rG   l        z>Lr   )ÚsequenceNumÚsequenceLowÚsequenceHighÚresr5   r5   r6   ÚderiveSequenceNumberœ  s   
rò  c                 C   sR   t j|tjd�}| |  ¡ d d… ¡ | |¡ | t|ƒ¡ | ¡ d d… d S )NrÙ  rT   z                        )r,   rß  r-   rà  rá  ÚgetDataÚbytesrÞ  )ÚauthSignatureÚmessageÚ
confounderrè  rç  r5   r5   r6   ÚComputeNetlogonSignatureAES¥  s
   
rø  c                 C   st   t  d¡}| d¡ | |  ¡ d d… ¡ | |¡ | t|ƒ¡ | ¡ }tj|t jd�}| |¡ | ¡ d d… S )Nrê  r«  rT   rë  )r-   rß  rá  ró  rô  rÞ  r,   rê  )rõ  rö  r÷  rè  rê  rì  rç  r5   r5   r6   ÚComputeNetlogonSignatureMD5®  s   



rù  c                 C   sR   t j|tjd�}| d¡ t j| ¡ tjd�}| |¡ | ¡ }t|ƒ}| | ¡S )Nrë  r«  )r,   rß  r-   rê  rá  rÞ  r'   rÇ  )rî  ÚcheckSumrè  rç  Úhm2ÚencryptionKeyÚcipherr5   r5   r6   ÚencryptSequenceNumberRC4»  s   


rþ  c                 C   s   t | ||ƒS r/   )rþ  )rî  rú  rè  r5   r5   r6   ÚdecryptSequenceNumberRC4Ç  s   rÿ  c                 C   ó2   |d d… |d d…  }t |t|dd�}| | ¡S ©NrT   r7   ©rÖ  Úsegment_size)r%   r(   rÇ  ©rî  rú  rè  rÖ  ÚCipherr5   r5   r6   ÚencryptSequenceNumberAESÌ  ó   
r  c                 C   r   r  )r%   r(   Údecryptr  r5   r5   r6   ÚdecryptSequenceNumberAESÒ  r  r	  Fc                 C   s´   |du r/t ƒ }t|d< |dkrt|d< nt|d< t|| ||ƒ|d< tt|ƒ|d |ƒ|d< |S t ƒ }t|d< |dkr?t|d< nt|d< t	|| ||ƒ|d< t
t|ƒ|d |ƒ|d< |S )NFr´  rÄ  r¶  r½  r»  )r²  ÚNL_SIGNATURE_HMAC_MD5ÚNL_SEAL_NOT_ENCRYPTEDÚNL_SEAL_RC4rù  rþ  rò  ÚNL_SIGNATURE_HMAC_SHA256ÚNL_SEAL_AES128rø  r  )rj   r÷  rî  r;   ÚaesÚ	signaturer5   r5   r6   ÚSIGNØ  s"   

r  c                 C   s  t | ||||ƒ}t|ƒ}t|ƒ}tt|ƒƒD ]
}|| dA ||< qt|ƒ}|du rctj|tj	d�}| 
d¡ tj| ¡ tj	d�}	|	 
|¡ |	 ¡ }
t|
ƒ}| |¡}t|
ƒ}| | ¡}||d< ||fS || }t|t|dd�}| |¡}| | ¡}||d< ||fS )Néð   Frë  r«  rÂ  r7   r  )r  rò  Ú	bytearrayÚrangerh   rô  r,   rß  r-   rê  rá  rÞ  r'   rÇ  r%   r(   )rj   r÷  rî  r;   r  r  ÚXorKeyÚirç  rû  rü  rý  ÚcfounderÚ	encryptedrÖ  r5   r5   r6   ÚSEALî  s0   





r  c                 C   s  t |ƒ}t|ƒ}tt|ƒƒD ]
}|| dA ||< qt|ƒ}|du rct|d |d |ƒ}tj|tj	d�}| 
d¡ tj| ¡ tj	d�}| 
|¡ | ¡ }	t|	ƒ}
|
 |d ¡}t|	ƒ}
|
 | ¡}||fS t|d |d |ƒ}|| }t|t|dd	�}
|
 |d ¡}|
 | ¡}||fS )
Nr  Fr»  r½  rë  r«  rÂ  r7   r  )r²  r  r  rh   rô  rÿ  r,   rß  r-   rê  rá  rÞ  r'   rÇ  r	  r%   r(   r  )rj   Ú	auth_datar;   r  r  r  rî  rç  rû  rü  rý  r  ÚplainrÖ  r5   r5   r6   ÚUNSEAL  s.   



r  rÄ  c                 C   sð   t ƒ }d|d< d|d< |d  tO  < |dkr$|d t|ƒ d |d< n|d  d7  < |d  tO  < | dkrE|d t| ƒ d |d< n|d  d7  < |d  tO  < | dkrn|d  td	t| ƒƒt| ƒ d 7  < |S |d  d
7  < |S )Nr   rƒ   ó    rÌ   rÄ  ó    s
   WORKGROUP s   MYHOST z<Bs   MYHOST )r§  ÚNL_AUTH_MESSAGE_NETBIOS_DOMAINr   ÚNL_AUTH_MESSAGE_NETBIOS_HOSTÚ!NL_AUTH_MESSAGE_NETBIOS_HOST_UTF8r   rh   )ÚworkstationÚdomainÚsigningRequiredÚauthr5   r5   r6   ÚgetSSPType10  s"   &þ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 )
ÚDsrGetDcNameEx2rH   r�  r¸  ÚAllowableAccountControlBitsr�   r€   r¹   rƒ   N)	r?   r@   rA   ÚopnumÚPLOGONSRV_HANDLEr   r   r   rc   r5   r5   r5   r6   r'  N  ó    ùr'  c                   @   ru   )ÚDsrGetDcNameEx2ResponseÚDomainControllerInfoÚ	ErrorCodeN©r?   r@   rA   r‡   rn  rc   r5   r5   r5   r6   r,  Z  ry   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 )ÚDsrGetDcNameExé   r�  r�   r€   r¹   rƒ   N©	r?   r@   rA   r)  r*  r   r   r   rc   r5   r5   r5   r6   r1  a  ó    ûr1  c                   @   ru   )ÚDsrGetDcNameExResponser-  r.  Nr/  r5   r5   r5   r6   r5  k  ry   r5  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 )ÚDsrGetDcNamer  r�  r�   r€   ÚSiteGuidrƒ   Nr3  r5   r5   r5   r6   r7  r  r4  r7  c                   @   ru   )ÚDsrGetDcNameResponser-  r.  Nr/  r5   r5   r5   r6   r9  |  ry   r9  c                   @   ó    e Zd ZdZdefdeffZdS )ÚNetrGetDCNamerX   Ú
ServerNamer�   N)r?   r@   rA   r)  ÚLOGONSRV_HANDLEr   rc   r5   r5   r5   r6   r;  ƒ  ó
    þr;  c                   @   ru   )ÚNetrGetDCNameResponserÌ   r.  N©r?   r@   rA   r   rn  rc   r5   r5   r5   r6   r?  Š  ry   r?  c                   @   r:  )ÚNetrGetAnyDCNamer  r<  r�   N©r?   r@   rA   r)  r*  r   rc   r5   r5   r5   r6   rA  ‘  r>  rA  c                   @   ru   )ÚNetrGetAnyDCNameResponserÌ   r.  Nr@  r5   r5   r5   r6   rC  ˜  ry   rC  c                   @   ó   e Zd ZdZdeffZdS )ÚDsrGetSiteNamerE   r�  N©r?   r@   rA   r)  r*  rc   r5   r5   r5   r6   rE  Ÿ  ó    ÿrE  c                   @   ru   )ÚDsrGetSiteNameResponser¹   r.  Nr@  r5   r5   r5   r6   rH  ¥  ry   rH  c                   @   rD  )ÚDsrGetDcSiteCoverageWé&   r<  NrF  r5   r5   r5   r6   rI  ¬  rG  rI  c                   @   ru   )ÚDsrGetDcSiteCoverageWResponser‘   r.  N©r?   r@   rA   r“   rn  rc   r5   r5   r5   r6   rK  ²  ry   rK  c                   @   ó&   e Zd ZdZdefdefdeffZdS )ÚDsrAddressToSiteNamesWé!   r�  r�   ÚSocketAddressesN©r?   r@   rA   r)  r*  r   r¦   rc   r5   r5   r5   r6   rN  ¹  ó    ýrN  c                   @   ru   )ÚDsrAddressToSiteNamesWResponser‘   r.  NrL  r5   r5   r5   r6   rS  Á  ry   rS  c                   @   rM  )ÚDsrAddressToSiteNamesExWé%   r�  r�   rP  NrQ  r5   r5   r5   r6   rT  È  rR  rT  c                   @   ru   )Ú DsrAddressToSiteNamesExWResponser‘   r.  N)r?   r@   rA   r—   rn  rc   r5   r5   r5   r6   rV  Ð  ry   rV  c                   @   r6  )ÚDsrDeregisterDnsHostRecordsé)   r<  rÞ   r€   ÚDsaGuidr¸   N)	r?   r@   rA   r)  r*  r   r   r   rc   r5   r5   r5   r6   rW  ×  r4  rW  c                   @   rn   )Ú#DsrDeregisterDnsHostRecordsResponser.  N)r?   r@   rA   rn  rc   r5   r5   r5   r6   rZ  á  rp   rZ  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 )	Ú!DSRUpdateReadOnlyServerDnsRecordsé0   r<  r�  ÚAuthenticatorr¹   ÚDnsTtlÚDnsNamesN)r?   r@   rA   r)  r*  r   rv   r   r   r¯   rc   r5   r5   r5   r6   r[  ç  ó    úr[  c                   @   r,  )Ú)DSRUpdateReadOnlyServerDnsRecordsResponseÚReturnAuthenticatorr_  r.  N)r?   r@   rA   rv   r¯   r   rc   r5   r5   r5   r6   ra  ò  r–   ra  c                   @   rM  )ÚNetrServerReqChallengerL   ÚPrimaryNamer�  ÚClientChallengeN)r?   r@   rA   r)  r*  r   rt   rc   r5   r5   r5   r6   rc  ú  rR  rc  c                   @   ru   )ÚNetrServerReqChallengeResponseÚServerChallenger.  N©r?   r@   rA   rt   r   rc   r5   r5   r5   r6   rf    ry   rf  c                   @   ó8   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 )	ÚNetrServerAuthenticate3r¥  rd  r¸  ÚSecureChannelTyper�  ÚClientCredentialÚNegotiateFlagsN©
r?   r@   rA   r)  r*  r   rñ   rt   r   rc   r5   r5   r5   r6   rj  	  r`  rj  c                   @   ó(   e Zd ZdefdefdefdeffZdS )ÚNetrServerAuthenticate3ResponseÚServerCredentialrm  Ú
AccountRidr.  N©r?   r@   rA   rt   r   r   rc   r5   r5   r5   r6   rp    r*  rp  c                   @   ri  )	ÚNetrServerAuthenticate2r  rd  r¸  rk  r�  rl  rm  Nrn  r5   r5   r5   r6   rt    r`  rt  c                   @   r,  )ÚNetrServerAuthenticate2Responserq  rm  r.  Nrs  r5   r5   r5   r6   ru  (  r–   ru  c                   @   r0  )ÚNetrServerAuthenticaterM   rd  r¸  rk  r�  rl  N)	r?   r@   rA   r)  r*  r   rñ   rt   rc   r5   r5   r5   r6   rv  0  r4  rv  c                   @   ru   )ÚNetrServerAuthenticateResponserq  r.  Nrh  r5   r5   r5   r6   rw  :  ry   rw  c                   @   ri  )	ÚNetrServerPasswordSet2rF   rd  r¸  rk  r�  r]  ÚClearNewPasswordN)
r?   r@   rA   r)  r*  r   rñ   rv   rÈ   rc   r5   r5   r5   r6   rx  A  r`  rx  c                   @   ru   )ÚNetrServerPasswordSet2Responserb  r.  N©r?   r@   rA   rv   r   rc   r5   r5   r5   r6   rz  L  ry   rz  c                   @   r0  )ÚNetrServerPasswordGeté   rd  r¸  ÚAccountTyper�  r]  N©	r?   r@   rA   r)  r*  r   rñ   rv   rc   r5   r5   r5   r6   r|  U  r4  r|  c                   @   r,  )ÚNetrServerPasswordGetResponserb  rÞ  r.  N©r?   r@   rA   rv   ÚENCRYPTED_NT_OWF_PASSWORDr   rc   r5   r5   r5   r6   r€  _  r–   r€  c                   @   r0  )ÚNetrServerTrustPasswordsGeté*   ÚTrustedDcNamer¸  rk  r�  r]  Nr  r5   r5   r5   r6   rƒ  g  r4  rƒ  c                   @   ro  )Ú#NetrServerTrustPasswordsGetResponserb  ÚEncryptedNewOwfPasswordÚEncryptedOldOwfPasswordr.  Nr�  r5   r5   r5   r6   r†  q  r*  r†  c                   @   ó8   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 )	ÚNetrLogonGetDomainInfoé   r<  r�  r]  rb  ÚLevelÚWkstaBufferN)
r?   r@   rA   r)  r=  r   rv   r   rÕ   rc   r5   r5   r5   r6   rŠ  z  r`  rŠ  c                   @   r,  )ÚNetrLogonGetDomainInfoResponserb  Ú	DomBufferr.  N)r?   r@   rA   rv   rî   r   rc   r5   r5   r5   r6   rŽ  …  r–   rŽ  c                   @   r6  )ÚNetrLogonGetCapabilitiesr  r<  r�  r]  rb  Ú
QueryLevelN)	r?   r@   rA   r)  r=  r   rv   r   rc   r5   r5   r5   r6   r�  �  r4  r�  c                   @   r,  )Ú NetrLogonGetCapabilitiesResponserb  rÿ   r.  N)r?   r@   rA   rv   rþ   r   rc   r5   r5   r5   r6   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 )	ÚNetrLogonSamLogonExé'   rl  r�  Ú
LogonLevelÚLogonInformationÚValidationLevelÚ
ExtraFlagsN)
r?   r@   rA   r)  r   r:  rB  rŒ  r   rc   r5   r5   r5   r6   r“  ¡  r`  r“  c                   @   r$  )ÚNetrLogonSamLogonExResponseÚValidationInformationÚAuthoritativer˜  r.  N)r?   r@   rA   r“  r   r   r   rc   r5   r5   r5   r6   r™  ¬  r*  r™  c                	   @   sD   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 )ÚNetrLogonSamLogonWithFlagsé-   rl  r�  r]  rb  r•  r–  r—  r˜  N)r?   r@   rA   r)  r   rz   r:  rB  rŒ  r   rc   r5   r5   r5   r6   rœ  µ  ó    ø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 )Ú"NetrLogonSamLogonWithFlagsResponserb  rš  r›  r˜  r.  N)	r?   r@   rA   rz   r“  r   r   r   rc   r5   r5   r5   r6   rŸ  Â  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 )
ÚNetrLogonSamLogonrJ   rl  r�  r]  rb  r•  r–  r—  N)
r?   r@   rA   r)  r   rz   r:  rB  rŒ  rc   r5   r5   r5   r6   r   Ì  r+  r   c                   @   r$  )ÚNetrLogonSamLogonResponserb  rš  r›  r.  N)r?   r@   rA   rz   r“  r   r   rc   r5   r5   r5   r6   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 )	ÚNetrLogonSamLogoffrK   rl  r�  r]  rb  r•  r–  N)	r?   r@   rA   r)  r   rz   r:  rB  rc   r5   r5   r5   r6   r¢  á  r`  r¢  c                   @   ru   )ÚNetrLogonSamLogoffResponserb  r.  N)r?   r@   rA   rz   r   rc   r5   r5   r5   r6   r£  ì  ry   r£  c                   @   ó>   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 )
ÚNetrDatabaseDeltasrU   rd  r�  r]  rb  Ú
DatabaseIDrÄ  ÚPreferredMaximumLengthN)
r?   r@   rA   r)  r=  r   rv   r   r  rc   r5   r5   r5   r6   r¥  ó  r+  r¥  c                   @   r$  )ÚNetrDatabaseDeltasResponserb  rÄ  Ú
DeltaArrayr.  N)r?   r@   rA   rv   r  rH  r   rc   r5   r5   r5   r6   r¨  ÿ  r*  r¨  c                	   @   sD   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 )ÚNetrDatabaseSync2rS   rd  r�  r]  rb  r¦  ÚRestartStateÚSyncContextr§  N)r?   r@   rA   r)  r=  r   rv   r   rK  r   rc   r5   r5   r5   r6   rª  	  rž  rª  c                   @   r$  )ÚNetrDatabaseSync2Responserb  r¬  r©  r.  N©r?   r@   rA   rv   r   rH  r   rc   r5   r5   r5   r6   r­  	  r*  r­  c                   @   r¤  )
ÚNetrDatabaseSyncrT   rd  r�  r]  rb  r¦  r¬  r§  N)
r?   r@   rA   r)  r=  r   rv   r   r   rc   r5   r5   r5   r6   r¯  	  r+  r¯  c                   @   r$  )ÚNetrDatabaseSyncResponserb  r¬  r©  r.  Nr®  r5   r5   r5   r6   r°  *	  r*  r°  c                   @   r‰  )	ÚNetrDatabaseRedor  rd  r�  r]  rb  ÚChangeLogEntryÚChangeLogEntrySizeN)
r?   r@   rA   r)  r=  r   rv   r¢   r   rc   r5   r5   r5   r6   r±  3	  r`  r±  c                   @   r,  )ÚNetrDatabaseRedoResponserb  r©  r.  N)r?   r@   rA   rv   rH  r   rc   r5   r5   r5   r6   r´  >	  r–   r´  c                   @   r:  )ÚDsrEnumerateDomainTrustsrV  r<  rƒ   N)r?   r@   rA   r)  r*  r   rc   r5   r5   r5   r6   rµ  F	  r>  rµ  c                   @   ru   )Ú DsrEnumerateDomainTrustsResponsera  r.  N©r?   r@   rA   r_  r   rc   r5   r5   r5   r6   r¶  M	  ry   r¶  c                   @   rD  )ÚNetrEnumerateTrustedDomainsExrI   r<  NrF  r5   r5   r5   r6   r¸  T	  rG  r¸  c                   @   ru   )Ú%NetrEnumerateTrustedDomainsExResponsera  r.  Nr·  r5   r5   r5   r6   r¹  Z	  ry   r¹  c                   @   rD  )ÚNetrEnumerateTrustedDomainsr  r<  NrF  r5   r5   r5   r6   rº  a	  rG  rº  c                   @   ru   )Ú#NetrEnumerateTrustedDomainsResponseÚDomainNameBufferr.  N)r?   r@   rA   rU  r   rc   r5   r5   r5   r6   r»  g	  ry   r»  c                   @   r6  )ÚNetrGetForestTrustInformationé,   r<  r�  r]  rb  rƒ   N)	r?   r@   rA   r)  r*  r   rv   r   rc   r5   r5   r5   r6   r½  n	  r4  r½  c                   @   r,  )Ú%NetrGetForestTrustInformationResponserb  ÚForestTrustInfor.  N)r?   r@   rA   rv   r!   r   rc   r5   r5   r5   r6   r¿  x	  r–   r¿  c                   @   rM  )ÚDsrGetForestTrustInformationé+   r<  ri  rƒ   N)r?   r@   rA   r)  r*  r   r   rc   r5   r5   r5   r6   rÁ  €	  rR  rÁ  c                   @   ru   )Ú$DsrGetForestTrustInformationResponserÀ  r.  N)r?   r@   rA   r!   r   rc   r5   r5   r5   r6   rÃ  ˆ	  ry   rÃ  c                   @   r0  )ÚNetrServerGetTrustInfoé.   r…  r¸  rk  r�  r]  Nr  r5   r5   r5   r6   rÄ  �	  r4  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 )ÚNetrServerGetTrustInfoResponserb  r‡  rˆ  Ú	TrustInfor.  N)r?   r@   rA   rv   r‚  rg  r   rc   r5   r5   r5   r6   rÆ  ™	  r"  rÆ  c                   @   r:  )ÚNetrLogonGetTrustRidé   r<  r�   NrB  r5   r5   r5   r6   rÈ  £	  r>  rÈ  c                   @   ru   )ÚNetrLogonGetTrustRidResponserA  r.  N)r?   r@   rA   r   r   rc   r5   r5   r5   r6   rÊ  ª	  ry   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 )ÚNetrLogonComputeServerDigesté   r<  rA  ÚMessageÚMessageSizeN)r?   r@   rA   r)  r*  r   r    rc   r5   r5   r5   r6   rË  ±	  ó    ürË  c                   @   r  )Ú$NetrLogonComputeServerDigestResponseÚNewMessageDigestÚOldMessageDigestr.  N©r?   r@   rA   r¢  r   rc   r5   r5   r5   r6   rÐ  º	  r–   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 )ÚNetrLogonComputeClientDigestrD   r<  r�   rÍ  rÎ  N)	r?   r@   rA   r)  r*  r   r    r   rc   r5   r5   r5   r6   rÔ  Â	  rÏ  rÔ  c                   @   r  )Ú$NetrLogonComputeClientDigestResponserÑ  rÒ  r.  NrÓ  r5   r5   r5   r6   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 )ÚNetrLogonSendToSamrG   rd  r�  r]  ÚOpaqueBufferÚOpaqueBufferSizeN)
r?   r@   rA   r)  r*  r   rv   r    r   rc   r5   r5   r5   r6   rÖ  Ó	  r4  rÖ  c                   @   ru   )ÚNetrLogonSendToSamResponserb  r.  Nr{  r5   r5   r5   r6   rÙ  Ý	  ry   rÙ  c                   @   ó&   e Zd ZdZdefdefdeffZdS )ÚNetrLogonSetServiceBitsrC   r<  ÚServiceBitsOfInterestÚServiceBitsN)r?   r@   rA   r)  r*  r   rc   r5   r5   r5   r6   rÛ  ä	  rR  rÛ  c                   @   rn   )ÚNetrLogonSetServiceBitsResponser.  N)r?   r@   rA   r   rc   r5   r5   r5   r6   rÞ  ì	  rp   rÞ  c                   @   rD  )Ú#NetrLogonGetTimeServiceParentDomainé#   r<  NrF  r5   r5   r5   r6   rß  ò	  rG  rß  c                   @   r,  )Ú+NetrLogonGetTimeServiceParentDomainResponser�   ÚPdcSameSiter.  N)r?   r@   rA   r   r   rn  rc   r5   r5   r5   r6   rá  ø	  r–   rá  c                   @   ó,   e Zd ZdZdefdefdefdeffZdS )ÚNetrLogonControl2Exr  r<  ÚFunctionCoder‘  r]   N©r?   r@   rA   r)  r*  r   rh  rc   r5   r5   r5   r6   rä   
  rÏ  rä  c                   @   ru   )ÚNetrLogonControl2ExResponserÌ   r.  N©r?   r@   rA   rh  rn  rc   r5   r5   r5   r6   rç  	
  ry   rç  c                   @   rã  )ÚNetrLogonControl2r  r<  rå  r‘  r]   Nræ  r5   r5   r5   r6   ré  
  rÏ  ré  c                   @   ru   )ÚNetrLogonControl2ResponserÌ   r.  Nrè  r5   r5   r5   r6   rê  
  ry   rê  c                   @   rã  )ÚNetrLogonControlrY   r<  rå  r‘  r]   Nræ  r5   r5   r5   r6   rë   
  rÏ  rë  c                   @   ru   )ÚNetrLogonControlResponserÌ   r.  Nrè  r5   r5   r5   r6   rì  )
  ry   rì  c                   @   rÚ  )ÚNetrLogonUasLogonr   r<  r   r!  N©r?   r@   rA   r)  r*  r   rc   r5   r5   r5   r6   rí  0
  rR  rí  c                   @   ru   )ÚNetrLogonUasLogonResponserš  r.  N)r?   r@   rA   r™  rn  rc   r5   r5   r5   r6   rï  8
  ry   rï  c                   @   rÚ  )ÚNetrLogonUasLogoffr7   r<  r   r!  Nrî  r5   r5   r5   r6   rð  ?
  rR  rð  c                   @   ru   )ÚNetrLogonUasLogoffResponseÚLogoffInformationr.  N)r?   r@   rA   rš  rn  rc   r5   r5   r5   r6   rñ  G
  ry   rñ  r  r  r  r  r  r  r  rÉ  rÌ  r2  r‹  r}  rO  rà  )
rU  rJ  r”  rV  rX  r„  rÂ  r¾  r�  rÅ  c                 C   s(   | t kr| S | dd … dkr| d S | S )Néÿÿÿÿú )r   )Ústringr5   r5   r6   ÚcheckNullString‡
  s
   rö  c                 Ã   s8   �t ƒ }t|ƒ|d< t|ƒ|d< ||d< |  |¡I d H S )Nrd  r�  re  )rc  rö  Úrequest)ÚdceÚprimaryNameÚcomputerNamerã  r÷  r5   r5   r6   ÚhNetrServerReqChallenge�
  s   €rû  c                 Ã   óT   �t ƒ }t|ƒ|d< t|ƒ|d< ||d< ||d< t|ƒ|d< ||d< |  |¡I d H S ©Nrd  r¸  rk  rl  r�  rm  )rj  rö  r÷  ©rø  rù  ÚaccountNameÚsecureChannelTyperú  ÚclientCredentialÚnegotiateFlagsr÷  r5   r5   r6   ÚhNetrServerAuthenticate3—
  ó   €r  c           	      Ã   s`   �t ƒ }t|ƒ|d< t|ƒ|d< ||d< t|ƒ|d< ||d< t|ƒ|d< ||d< |  |¡I d H S )Nr�  r¸  r(  r�   r€   r¹   rƒ   )r'  rö  r÷  )	rø  rú  rÿ  ÚallowableAccountControlBitsÚ
domainNameÚ
domainGuidÚsiteNameÚflagsr÷  r5   r5   r6   ÚhDsrGetDcNameEx2¡
  s   €r
  c                 Ã   óH   �t ƒ }t|ƒ|d< t|ƒ|d< ||d< ||d< ||d< |  |¡I d H S )Nr�  r�   r€   r¹   rƒ   )r1  rö  r÷  )rø  rú  r  r  r  r	  r÷  r5   r5   r6   ÚhDsrGetDcNameEx¬
  ó   €r  c                 Ã   r  )Nr�  r�   r€   r8  rƒ   )r7  rö  r÷  )rø  rú  r  r  ÚsiteGuidr	  r÷  r5   r5   r6   ÚhDsrGetDcNameµ
  r  r  c                 Ã   ó0   �t ƒ }t|ƒ|d< t|ƒ|d< |  |¡I d H S ©Nr<  r�   )rA  rö  r÷  ©rø  Ú
serverNamer  r÷  r5   r5   r6   ÚhNetrGetAnyDCName¾
  ó
   €r  c                 Ã   r  r  )r;  rö  r÷  r  r5   r5   r6   ÚhNetrGetDCNameÄ
  r  r  c                 Ã   ó$   �t ƒ }t|ƒ|d< |  |¡I d H S )Nr�  )rE  rö  r÷  )rø  rú  r÷  r5   r5   r6   ÚhDsrGetSiteNameÊ
  ó   €r  c                 Ã   r  )Nr<  )rI  rö  r÷  )rø  r  r÷  r5   r5   r6   ÚhDsrGetDcSiteCoverageWÏ
  r  r  c                 Ã   rü  rý  )rt  rö  r÷  rþ  r5   r5   r6   ÚhNetrServerAuthenticate2Ô
  r  r  c                 Ã   sL   �t ƒ }t|ƒ|d< t|ƒ|d< ||d< ||d< t|ƒ|d< |  |¡I d H S )Nrd  r¸  rk  rl  r�  )rv  rö  r÷  )rø  rù  rÿ  r   rú  r  r÷  r5   r5   r6   ÚhNetrServerAuthenticateÞ
  s   €r  c                 Ã   óL   �t ƒ }t|ƒ|d< t|ƒ|d< ||d< t|ƒ|d< ||d< |  |¡I d H S )Nrd  r¸  r~  r�  r]  )r|  rö  r÷  )rø  rù  rÿ  ÚaccountTyperú  Úauthenticatorr÷  r5   r5   r6   ÚhNetrServerPasswordGetç
  ó   €r   c                 Ã   r  ©Nr…  r¸  rk  r�  r]  )rƒ  rö  r÷  ©rø  ÚtrustedDcNamerÿ  r   rú  r  r÷  r5   r5   r6   ÚhNetrServerTrustPasswordsGetð
  r!  r%  c                 Ã   sT   �t ƒ }t|ƒ|d< t|ƒ|d< ||d< t|ƒ|d< ||d< ||d< |  |¡I d H S )Nrd  r¸  rk  r�  r]  ry  )rx  rö  r÷  )rø  rù  rÿ  r   rú  r  ÚclearNewPasswordBlobr÷  r5   r5   r6   ÚhNetrServerPasswordSet2ù
  s   €r'  c                 Ã   s  �t ƒ }t|ƒ|d< t|ƒ|d< ||d< |dkr%d|d d< d|d d< n||d< d	|d
< |d	krpd	|d d< t|d d d< t|d d d< d|d d d< t|d d d< t|d d d< t|d d d< t|d d d< nd|d d< t|d d d< |  |¡I d H S )Nr<  r�  r]  r   ó           rb  rw   rx   r7   rŒ  r�  rÖ   r×   r¸   r¹   rÄ  r¿   rº   r»   r¼   r½   rJ   rØ   r´   )rŠ  rö  r   r÷  )rø  r  rú  r  ÚreturnAuthenticatorÚlevelr÷  r5   r5   r6   ÚhNetrLogonGetDomainInfo  s,   €r+  c                 Ã   sj   �t ƒ }t|ƒ|d< t|ƒ|d< ||d< |dkr%d|d d< d|d d< n||d< ||d	< |  |¡I d H S )
Nr<  r�  r]  r   r(  rb  rw   rx   r‘  )r�  rö  r÷  )rø  r  rú  r  r)  Ú
queryLevelr÷  r5   r5   r6   ÚhNetrLogonGetCapabilities  s   €r-  c                 Ã   r  r"  )rÄ  rö  r÷  r#  r5   r5   r6   ÚhNetrServerGetTrustInfo,  r!  r.  r/   )F)rÄ  rÄ  F)r   r7   (ž  Ústructr   Úsixr   Úaiosmb.dcerpc.v5.ndrr   r   r   r   r	   r
   r   r   Úaiosmb.dcerpc.v5.dtypesr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   Úaiosmb.dcerpc.v5r   Úaiosmb.wintypes.ntstatusr   Úaiosmb.dcerpc.v5.uuidr   Úaiosmb.dcerpc.v5.enumr   Úaiosmb.dcerpc.v5.samrr    Úaiosmb.dcerpc.v5.lsadr!   Úaiosmb.dcerpc.v5.rpcrtr"   Úaiosmb.dcerpc.v5.structurer#   Úaiosmbr$   ÚLOGÚunicrypto.symmetricr%   r&   r'   r(   r)   r*   Úunicrypto.hashlibr+   Ú	unicryptor,   r-   ÚMSRPC_UUID_NRPCr.   ÚNlDnsLdapAtSiteÚNlDnsGcAtSiteÚNlDnsDsaCnameÚNlDnsKdcAtSiteÚNlDnsDcAtSiteÚNlDnsRfc1510KdcAtSiteÚNlDnsGenericGcAtSiteÚNlDnsDomainNameÚNlDnsDomainNameAliasÚNlDnsForestNameÚNlDnsForestNameAliasÚNlDnsNdncDomainNameÚNlDnsRecordNameÚVER_SUITE_BACKOFFICEÚVER_SUITE_BLADEÚVER_SUITE_COMPUTE_SERVERÚVER_SUITE_DATACENTERÚVER_SUITE_ENTERPRISEÚVER_SUITE_EMBEDDEDNTÚVER_SUITE_PERSONALÚVER_SUITE_SINGLEUSERTSÚVER_SUITE_SMALLBUSINESSÚ"VER_SUITE_SMALLBUSINESS_RESTRICTEDÚVER_SUITE_STORAGE_SERVERÚVER_SUITE_TERMINALÚVER_NT_DOMAIN_CONTROLLERÚVER_NT_SERVERÚVER_NT_WORKSTATIONÚNETLOGON_UAS_LOGON_ACCESSÚNETLOGON_UAS_LOGOFF_ACCESSÚNETLOGON_CONTROL_ACCESSÚNETLOGON_QUERY_ACCESSÚNETLOGON_SERVICE_ACCESSÚNETLOGON_FTINFO_ACCESSÚNETLOGON_WKSTA_RPC_ACCESSÚNETLOGON_CONTROL_QUERYÚNETLOGON_CONTROL_REPLICATEÚNETLOGON_CONTROL_SYNCHRONIZEÚNETLOGON_CONTROL_PDC_REPLICATEÚNETLOGON_CONTROL_REDISCOVERÚNETLOGON_CONTROL_TC_QUERYÚ!NETLOGON_CONTROL_TRANSPORT_NOTIFYÚNETLOGON_CONTROL_FIND_USERÚ NETLOGON_CONTROL_CHANGE_PASSWORDÚNETLOGON_CONTROL_TC_VERIFYÚNETLOGON_CONTROL_FORCE_DNS_REGÚNETLOGON_CONTROL_QUERY_DNS_REGÚ"NETLOGON_CONTROL_BACKUP_CHANGE_LOGÚNETLOGON_CONTROL_TRUNCATE_LOGÚNETLOGON_CONTROL_SET_DBFLAGÚNETLOGON_CONTROL_BREAKPOINTr=  r*  r\   rn  rd   rf   ro   r1  r‚  rq   rt   rv   rz   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  r4  r5  r9  r:  rB  rJ  rM  rO  ro  rQ  rS  rT  rU  rW  rp  rq  rr  rs  rv  rw  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  r  r/  r@  rB  rF  rG  rH  rK  rU  rX  r]  r^  r_  rb  rg  rh  rk  ro  rp  ru  rv  r~  r  r‚  rƒ  rˆ  r™  rš  rœ  r   r¢  r  r   ÚNL_AUTH_MESSAGE_DNS_DOMAINÚNL_AUTH_MESSAGE_DNS_HOSTr!  ÚNL_AUTH_MESSAGE_REQUESTÚNL_AUTH_MESSAGE_RESPONSEr
  r  r  r  r  r§  r²  rÆ  rÑ  r×  ré  rí  rò  rø  rù  rþ  rÿ  r  r	  r  r  r  r&  r'  r,  r1  r5  r7  r9  r;  r?  rA  rC  rE  rH  rI  rK  rN  rS  rT  rV  rW  rZ  r[  ra  rc  rf  rj  rp  rt  ru  rv  rw  rx  rz  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á  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.  r5   r5   r5   r6   Ú<module>   sŒ  (D 



	2
		*

				#


	
	

	

	
				


		
				ÿþýüûúø	÷ôóòñðïîíìëêéèçæåäãâá à!ß"Þ#Ý$Ü%Û
&








Ñ7	
		
			