o
    �õ±jÖO  ã                   @   sr  d dl Z d dlZd dlmZ G dd„ dƒZi dd“dd“d	d
“dd“dd“dd“dd“dd“dd“dd“dd“dd“dd“dd “d!d"“d#d$“d%d&“i d'd(“d)d*“d+d,“d-d.“d/d0“d1d2“d3d4“d5d6“d7d8“d9d:“d;d<“d=d>“d?d@“dAdB“dCdD“dEdF“dGdH“¥i dIdJ“dKdL“dMdN“dOdP“dQdR“dSdT“dUdV“dWdX“dYdZ“d[d\“d]d^“d_d`“dadb“dcdd“dedf“dgdh“didj“¥i dkdl“dmdn“dodp“dqdr“dsdt“dudv“dwdx“dydz“d{d|“d}d~“dd€“d�d‚“dƒd„“d…d†“d‡dˆ“d‰dŠ“d‹dŒ“¥d�dŽd�d�d‘d’d“d”d•d–d—d˜d™dšd›dœœ¥Zd�dž„ e ¡ D ƒZi dŸd “d¡d¢“d£d¤“d¥d¦“d§d¨“d©dª“d«d¬“d­d®“d¯d°“d±d²“d³d´“dµd¶“d·d¸“d¹dº“d»d¼“d½d¾“d¿dÀ“dÁdÂdÃdÄdÅdÆœ¥ZdÇdž„ e ¡ D ƒZ	G dÈdÉ„ dÉej
ƒZG dÊdË„ dËej
ƒZG dÌdÍ„ dÍej
ƒZdÎZdÏZdÐZdÑZdÒZi dÓd$“dÔejj“dÕd,“dÖejj“d×ejj“dØejj“dÙdD“dÚejj“dÛejj“dÜdÝ“dÞd“dßejj“dàejj“dáejj“dâejj“dãejj“däejj“i dåe“dæejj“dçd “dèe“dée“dêe“dëejj“dìej j“díej!j“dîe“dïd“dðej"j“dñej#j“dòd*“dóej$j“dôd.“dõej%j“¥ej&jej'jej(jej)jej*jej+jej,jd"d8ddöœ
¥Z-d÷dž„ e- ¡ D ƒZ.e/døk�r7e 0d�¡Z1e2e1 3¡ ƒ dS dS )ùé    N)ÚListc                   @   s€   e Zd Zdd„ Zedd„ ƒZedd„ ƒZeddd	„ƒZed
d„ ƒZedd„ ƒZ	dd„ Z
dd„ Zdd„ Zdd„ Zeddd„ƒZdS )ÚSIDc                 C   s.   d | _ d | _d | _g | _d | _d | _d | _d S ©N)ÚRevisionÚSubAuthorityCountÚIdentifierAuthorityÚSubAuthorityÚis_wellknownÚwellknow_nameÚwildcard)Úself© r   ú‚/root/aizidognhua/tmp/workspace/projects/ec89d86c-575f-41c9-af57-ac45cbdbf775/venv/lib/python3.10/site-packages/winacl/dtyp/sid.pyÚ__init__   s   
zSID.__init__c                 C   ó   | t v rt |  S dS ©NF)Úwell_known_sids_sid_name_map©Úxr   r   r   Úwellknown_sid_lookup   ó   zSID.wellknown_sid_lookupc                 C   r   r   )Úwell_known_sids_name_sid_mapr   r   r   r   Úwellknown_name_lookup   r   zSID.wellknown_name_lookupFc                 C   sÚ   | d d… dkrt dƒ‚tƒ }||_d|_| dd … } |  d¡d }|d d… dkr5t|dd … d	ƒ|_nt|ƒ|_|  d¡dd … D ]'}zt|ƒ}W n t yc } z|d
krY|‚W Y d }~nd }~ww |j |¡ qC|S )Né   úS-1-zThis is not a SIDé   ú-r   é   Ú0xé   T)	Ú	Exceptionr   r   r   ÚsplitÚintr   r   Úappend)Úsid_strr   ÚsidÚtÚpÚer   r   r   Úfrom_string   s*   
ÿ€ÿzSID.from_stringc                 C   s   t  t | ¡¡S r   )r   Úfrom_bufferÚioÚBytesIO)Údatar   r   r   Ú
from_bytes6   s   zSID.from_bytesc                 C   s€   t ƒ }tj|  d¡ddd�|_tj|  d¡ddd�|_tj|  d¡ddd�|_t|jƒD ]}|j 	tj|  d¡ddd�¡ q,|S ©Nr   ÚlittleF)Úsignedé   Úbigr   )
r   r"   r.   Úreadr   r   r   Úranger   r#   )Úbuffr%   Ú_r   r   r   r*   :   s    zSID.from_bufferc                 C   sf   | j jdddd�}|t| jƒjdddd�7 }|| jjdddd�7 }| jD ]}||jdddd�7 }q$|S r/   )r   Úto_bytesÚlenr   r   ©r   r&   Úir   r   r   r8   D   s   
zSID.to_bytesc                 C   sd   d}| j dk r|t| j ƒ7 }n|d| j  dd¡ ¡  ¡  dd¡ 7 }| jD ]
}|dt|ƒ 7 }q%|S )	Nr   l        r   r2   r3   é   Ú0r   )r   Ústrr8   ÚhexÚupperÚrjustr   r:   r   r   r   Ú__str__L   s   
&
zSID.__str__c                 C   s4   t |tƒrt| ƒt|ƒkS t |tƒrt| ƒ|kS tS r   )Ú
isinstancer   r>   ÚNotImplemented)r   Úotherr   r   r   Ú__eq__V   s
   

z
SID.__eq__c                 C   s   t | ƒ}|S r   )r>   )r   r   r   r   r   Úto_sddl]   s   zSID.to_sddlNc                 C   sp   t | ƒdkrt | ¡S | tvrtd|  ƒ‚t|  }t|tƒr#t |¡S |d u r-td|  ƒ‚t |d t|ƒ ¡S )Nr   z3%s was not found in the well known sid definitions!z.Missing domain_sid! Cant convert "%s" to a SIDr   )r9   r   r)   Úsddl_name_val_mapr    rC   r>   )ÚsddlÚ
domain_sidÚaccount_sid_valr   r   r   Ú	from_sddlk   s   


zSID.from_sddl)Fr   )Ú__name__Ú
__module__Ú__qualname__r   Ústaticmethodr   r   r)   r.   r*   r8   rB   rF   rG   rL   r   r   r   r   r      s$    



	
r   ÚNULLzS-1-0-0ÚEVERYONEzS-1-1-0ÚLOCALzS-1-2-0ÚCONSOLE_LOGONzS-1-2-1ÚCREATOR_OWNERzS-1-3-0ÚCREATOR_GROUPzS-1-3-1ÚOWNER_SERVERzS-1-3-2ÚGROUP_SERVERzS-1-3-3ÚOWNER_RIGHTSzS-1-3-4ÚNT_AUTHORITYzS-1-5ÚDIALUPzS-1-5-1ÚNETWORKzS-1-5-2ÚBATCHzS-1-5-3ÚINTERACTIVEzS-1-5-4ÚSERVICEzS-1-5-6Ú	ANONYMOUSzS-1-5-7ÚPROXYzS-1-5-8ÚENTERPRISE_DOMAIN_CONTROLLERSzS-1-5-9ÚPRINCIPAL_SELFzS-1-5-10ÚAUTHENTICATED_USERSzS-1-5-11ÚRESTRICTED_CODEzS-1-5-12ÚTERMINAL_SERVER_USERzS-1-5-13ÚREMOTE_INTERACTIVE_LOGONzS-1-5-14ÚTHIS_ORGANIZATIONzS-1-5-15ÚIUSRzS-1-5-17ÚLOCAL_SYSTEMzS-1-5-18ÚLOCAL_SERVICEzS-1-5-19ÚNETWORK_SERVICEzS-1-5-20ÚCOMPOUNDED_AUTHENTICATIONzS-1-5-21-0-0-0-496ÚCLAIMS_VALIDzS-1-5-21-0-0-0-497ÚBUILTIN_ADMINISTRATORSzS-1-5-32-544ÚBUILTIN_USERSzS-1-5-32-545ÚBUILTIN_GUESTSzS-1-5-32-546ÚPOWER_USERSzS-1-5-32-547ÚACCOUNT_OPERATORSzS-1-5-32-548ÚSERVER_OPERATORSzS-1-5-32-549ÚPRINTER_OPERATORSzS-1-5-32-550ÚBACKUP_OPERATORSzS-1-5-32-551Ú
REPLICATORzS-1-5-32-552ÚALIAS_PREW2KCOMPACCzS-1-5-32-554ÚREMOTE_DESKTOPzS-1-5-32-555ÚNETWORK_CONFIGURATION_OPSzS-1-5-32-556ÚINCOMING_FOREST_TRUST_BUILDERSzS-1-5-32-557ÚPERFMON_USERSzS-1-5-32-558ÚPERFLOG_USERSzS-1-5-32-559Ú"WINDOWS_AUTHORIZATION_ACCESS_GROUPzS-1-5-32-560ÚTERMINAL_SERVER_LICENSE_SERVERSzS-1-5-32-561ÚDISTRIBUTED_COM_USERSzS-1-5-32-562Ú	IIS_IUSRSzS-1-5-32-568ÚCRYPTOGRAPHIC_OPERATORSzS-1-5-32-569ÚEVENT_LOG_READERSzS-1-5-32-573ÚCERTIFICATE_SERVICE_DCOM_ACCESSzS-1-5-32-574ÚRDS_REMOTE_ACCESS_SERVERSzS-1-5-32-575ÚRDS_ENDPOINT_SERVERSzS-1-5-32-576ÚRDS_MANAGEMENT_SERVERSzS-1-5-32-577ÚHYPER_V_ADMINSzS-1-5-32-578ÚACCESS_CONTROL_ASSISTANCE_OPSzS-1-5-32-579ÚREMOTE_MANAGEMENT_USERSzS-1-5-32-580ÚWRITE_RESTRICTED_CODEzS-1-5-33ÚNTLM_AUTHENTICATIONzS-1-5-64-10ÚSCHANNEL_AUTHENTICATIONzS-1-5-64-14ÚDIGEST_AUTHENTICATIONzS-1-5-64-21ÚTHIS_ORGANIZATION_CERTIFICATEz
S-1-5-65-1Ú
NT_SERVICEzS-1-5-80ÚUSER_MODE_DRIVERSzS-1-5-84-0-0-0-0-0ÚLOCAL_ACCOUNTz	S-1-5-113Ú0LOCAL_ACCOUNT_AND_MEMBER_OF_ADMINISTRATORS_GROUPz	S-1-5-114ÚOTHER_ORGANIZATIONz
S-1-5-1000z
S-1-15-2-1zS-1-16-0zS-1-16-4096zS-1-16-8192zS-1-16-8448zS-1-16-12288zS-1-16-16384zS-1-16-20480zS-1-16-28672zS-1-18-1zS-1-18-2zS-1-18-3zS-1-18-4zS-1-18-5zS-1-18-6)ÚALL_APP_PACKAGESÚML_UNTRUSTEDÚML_LOWÚ	ML_MEDIUMÚML_MEDIUM_PLUSÚML_HIGHÚ	ML_SYSTEMÚML_PROTECTED_PROCESSÚML_SECURE_PROCESSÚ*AUTHENTICATION_AUTHORITY_ASSERTED_IDENTITYÚSERVICE_ASSERTED_IDENTITYÚFRESH_PUBLIC_KEY_IDENTITYÚKEY_TRUST_IDENTITYÚKEY_PROPERTY_MFAÚKEY_PROPERTY_ATTESTATIONc                 C   ó   i | ]\}}||“qS r   r   ©Ú.0ÚkÚvr   r   r   Ú
<dictcomp>Ó   ó    r©   ÚLOGON_IDzS-1-5-5-x-yÚ&ENTERPRISE_READONLY_DOMAIN_CONTROLLERSzS-1-5-21-<root domain>-498ÚADMINISTRATORzS-1-5-21-<machine>-500ÚGUESTzS-1-5-21-<machine>-501ÚKRBTGzS-1-5-21-<domain>-502ÚDOMAIN_ADMINSzS-1-5-21-<domain>-512ÚDOMAIN_USERSzS-1-5-21-<domain>-513ÚDOMAIN_GUESTSzS-1-5-21-<domain>-514ÚDOMAIN_COMPUTERSzS-1-5-21-<domain>-515ÚDOMAIN_DOMAIN_CONTROLLERSzS-1-5-21-<domain>-516ÚCERT_PUBLISHERSzS-1-5-21-<domain>-517ÚSCHEMA_ADMINISTRATORSzS-1-5-21-<root-domain>-518ÚENTERPRISE_ADMINSzS-1-5-21-<root-domain>-519ÚGROUP_POLICY_CREATOR_OWNERSzS-1-5-21-<domain>-520ÚREADONLY_DOMAIN_CONTROLLERSzS-1-5-21-<domain>-521ÚCLONEABLE_CONTROLLERSzS-1-5-21-<domain>-522ÚPROTECTED_USERSzS-1-5-21-<domain>-525zS-1-5-21-<domain>-526zS-1-5-21-<domain>-527zS-1-5-21-<domain>-553zS-1-5-21-<domain>-571zS-1-5-21-<domain>-572)Ú
KEY_ADMINSÚENTERPRISE_KEY_ADMINSÚRAS_SERVERSÚ'ALLOWED_RODC_PASSWORD_REPLICATION_GROUPÚ&DENIED_RODC_PASSWORD_REPLICATION_GROUPc                 C   r¤   r   r   r¥   r   r   r   r©   ï   rª   c                   @   s”   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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 )$ÚDOMAIN_ALIAS_RIDi   i!  i"  i#  i$  i%  i&  i'  i(  i)  i*  i+  i,  i-  i.  i/  i0  i1  i2  i8  i9  i;  i<  i=  i>  i?  i@  iA  iB  iC  iD  iE  iF  iG  N)%rM   rN   rO   ÚADMINSÚUSERSÚGUESTSrr   ÚACCOUNT_OPSÚ
SYSTEM_OPSÚ	PRINT_OPSÚ
BACKUP_OPSrw   r¾   ÚPREW2KCOMPACCESSÚREMOTE_DESKTOP_USERSrz   r{   ÚMONITORING_USERSÚLOGGING_USERSÚAUTHORIZATIONACCESSÚTS_LICENSE_SERVERSÚ
DCOM_USERSÚIUSERSÚCRYPTO_OPERATORSÚCACHEABLE_PRINCIPALS_GROUPÚNON_CACHEABLE_PRINCIPALS_GROUPÚEVENT_LOG_READERS_GROUPÚCERTSVC_DCOM_ACCESS_GROUPr…   r†   r‡   rˆ   r‰   rŠ   ÚDEFAULT_ACCOUNTÚSTORAGE_REPLICA_ADMINSÚDEVICE_OWNERSr   r   r   r   rÁ   ò   sF    rÁ   c                   @   sL   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S )ÚDOMAIN_GROUP_RIDi   i  i  i  i  i  iò  i  i  i  i	  i
  i  i  i  i  N)rM   rN   rO   rÂ   rÃ   rÄ   Ú	COMPUTERSÚCONTROLLERSÚCERT_ADMINSr¬   ÚSCHEMA_ADMINSr·   ÚPOLICY_ADMINSÚREADONLY_CONTROLLERSrº   ÚCDC_RESERVEDr»   r¼   r½   r   r   r   r   rÙ     s"    rÙ   c                   @   s(   e Zd ZdZdZdZdZdZdZdZ	dS )	ÚSECURITY_MANDATORYr   i   i    i !  i 0  i @  i P  N)
rM   rN   rO   ÚUNTRUSTED_RIDÚLOW_RIDÚ
MEDIUM_RIDÚMEDIUM_PLUS_RIDÚHIGH_RIDÚ
SYSTEM_RIDÚPROTECTED_PROCESS_RIDr   r   r   r   rá   (  s    rá   iô  iõ  é   é	   é   ÚANÚAOÚAUÚBAÚBGÚBOÚBUÚCAÚCDÚCGzS-1-3ÚCOÚDAÚDCÚDDÚDGÚDUÚEAÚEDÚHIÚIUÚLAÚLGÚLSÚLWÚMEÚNOÚNSÚNUÚPAÚPOÚPSÚPUÚRCÚRD)
ÚREÚROÚRSÚRUÚSAÚSIÚSOÚSUÚSYÚWDc                 C   r¤   r   r   r¥   r   r   r   r©   i  rª   Ú__main__)4r+   ÚenumÚtypingr   r   r   Úitemsr   Úwell_known_sids_re_name_sid_mapÚwell_known_sids_re_sid_name_mapÚEnumrÁ   rÙ   rá   ÚDOMAIN_USER_RID_ADMINÚDOMAIN_USER_RID_GUESTÚSECURITY_LOCAL_SERVICE_RIDÚSECURITY_SERVER_LOGON_RIDÚSECURITY_NETWORK_SERVICE_RIDrÅ   ÚvaluerÂ   rÄ   rÈ   rÜ   rÕ   rÚ   rÛ   rÃ   r·   ræ   rã   rä   rz   rÞ   rÇ   rr   rÊ   rw   r¬   r¾   rÉ   rÝ   rç   rÆ   rH   Úsddl_val_name_maprM   r)   r%   ÚprintrG   r   r   r   r   Ú<module>   sJ   wÿþýüûúùø	÷
öõôóòñðïîíìëêéèçæåäãâá à!ß"Þ#Ý$Ü%Û&Ú'Ù(Ø)×*Ö+Õ,Ô-Ó.Ò/Ñ0Ð1Ï2Î3Í4Ì5Ë6Ê7É8È9Ç:Æ;Å<Ä=Ã>Â?Á@ÀA¿B¾C½D¼E­Vÿþýüûúùø	÷
öõôóòñðïê$	ÿþýüûúùø	÷
öõôóòñðïîíìëêéèçåäãâá à!ß"Þ#Ý$Ó0

þ