o
    Žõ±j"  ã                   @   sò  d dl Z d dlZG dd„ dƒZi de dd¡“de dd¡“d	e d
d¡“de dd¡“de dd¡“de dd¡“de dd¡“de dd¡“de dd¡“de dd¡“de dd¡“de dd¡“de dd¡“de d d¡“d!e d"d¡“d#e d$d¡“d%e d&d¡“i d'e d(d¡“d)e d*d¡“d+e d,d¡“d-e d.d¡“d/e d0d¡“d1e d2d¡“d3e d4d¡“d5e d6d¡“d7e d8d¡“d9e d:d¡“d;e d<d¡“d=e d>d¡“d?e d@d¡“dAe dBd¡“dCe dDd¡“dEe dFd¡“dGe dHd¡“¥i dIe dJd¡“dKe dLd¡“dMe dNd¡“dOe dPd¡“dQe dRd¡“dSe dTd¡“dUe dVd¡“dWe dXd¡“dYe dZd¡“d[e d\d¡“d]e d^d¡“d_e d`d¡“dae dbd¡“dce ddd¡“dee dfd¡“dge dhd¡“die djd¡“¥i dke dld¡“dme dnd¡“doe dpd¡“dqe drd¡“dse dtd¡“due dvd¡“dwe dxd¡“dye dzd¡“d{e d|d¡“d}e d~d¡“de d€d¡“d�e d‚d¡“dƒe d„d¡“d…e d†d¡“d‡e dˆd¡“d‰e dŠd¡“d‹e dŒd¡“¥i d�e dŽd¡“d�e d�d¡“d‘e d’d¡“d“e d”d¡“d•e d–d¡“d—e d˜d¡“d™e dšd¡“d›e dœd¡“d�e džd¡“dŸe d d¡“d¡e d¢d¡“d£e d¤d¡“d¥e d¦d¡“d§e d¨d¡“d©e dªd¡“d«e d¬d¡“d­e d®d¡“¥i d¯e d°d¡“d±e d²d¡“d³e d´d¡“dµe d¶d¡“d·e d¸d¡“d¹e dºd¡“d»e d¼d¡“d½e d¾d¡“d¿e dÀd¡“dÁe dÂd¡“dÃe dÄd¡“dÅe dÆd¡“dÇe dÈd¡“dÉe dÊd¡“dËe dÌd¡“dÍe dÎd¡“dÏe dÐd¡“¥e dÑd¡e dÒd¡e dÓd¡dÔœ¥ZdS )Õé    Nc                   @   sV   e Zd Zdd„ Zeddd„ƒZedd„ ƒZedd	„ ƒZed
d„ ƒZdd„ Z	dd„ Z
dS )ÚSIDc                 C   s"   d | _ d | _d | _g | _d | _d S ©N)ÚRevisionÚSubAuthorityCountÚIdentifierAuthorityÚSubAuthorityÚwildcard)Úself© r
   ú”/root/aizidognhua/tmp/workspace/projects/ec89d86c-575f-41c9-af57-ac45cbdbf775/venv/lib/python3.10/site-packages/pypykatz/commons/winapi/local/sid.pyÚ__init__   s
   
zSID.__init__Fc                 C   sê   | d d… dkrt dƒ‚tƒ }||_d|_| dd … } |  d¡d }|d d… dkr=t|dd … ƒ t|dd … d	ƒ|_nt|ƒ|_|  d¡dd … D ]'}zt|ƒ}W n t yk } z|d
kra|‚W Y d }~nd }~ww |j 	|¡ qK|S )Né   úS-1-zThis is not a SIDé   ú-r   é   Ú0xé   T)
Ú	Exceptionr   r   r   ÚsplitÚprintÚintr   r   Úappend)Úsid_strr   ÚsidÚtÚpÚer
   r
   r   Úfrom_string   s,   
ÿ€ÿzSID.from_stringc                 C   s:   t j| dd�}|d }|t j| d |d d�7 }t |¡S )Né   )Úsizer   r   )ÚctypesÚ	string_atr   Ú
from_bytes)ÚaddrÚdataÚcntr
   r
   r   Úfrom_address&   s   
zSID.from_addressc                 C   s   t  t | ¡¡S r   )r   Úfrom_bufferÚioÚBytesIO)r%   r
   r
   r   r#   -   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   Úir
   r
   r   r(   1   s    zSID.from_bufferc                 C   sb   | j  dd¡}|t| jƒ dd¡7 }|| j dd¡7 }| jD ]}|| | ¡ d d d¡7 }q|S )Nr   r+   r-   r.   é   r   )r   Úto_bytesÚlenr   r   Ú
bit_length©r	   r   r2   r
   r
   r   r4   ;   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   r-   r.   é   Ú0r   )r   Ústrr4   ÚhexÚupperÚrjustr   r7   r
   r
   r   Ú__str__C   s   
&
zSID.__str__N)F)Ú__name__Ú
__module__Ú__qualname__r   Ústaticmethodr   r'   r#   r(   r4   r>   r
   r
   r
   r   r      s    


	r   ÚNULLzS-1-0-0TÚ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ÚLOGON_IDzS-1-5-5-x-yÚ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Ú&ENTERPRISE_READONLY_DOMAIN_CONTROLLERSzS-1-5-21-<root domain>-498ÚCOMPOUNDED_AUTHENTICATIONzS-1-5-21-0-0-0-496ÚCLAIMS_VALIDzS-1-5-21-0-0-0-497Ú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>-525Ú
KEY_ADMINSzS-1-5-21-<domain>-526ÚENTERPRISE_KEY_ADMINSzS-1-5-21-<domain>-527ÚRAS_SERVERSzS-1-5-21-<domain>-553Ú'ALLOWED_RODC_PASSWORD_REPLICATION_GROUPzS-1-5-21-<domain>-571Ú&DENIED_RODC_PASSWORD_REPLICATION_GROUPzS-1-5-21-<domain>-572Ú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-1000ÚALL_APP_PACKAGESz
S-1-15-2-1ÚML_UNTRUSTEDzS-1-16-0ÚML_LOWzS-1-16-4096Ú	ML_MEDIUMzS-1-16-8192ÚML_MEDIUM_PLUSzS-1-16-8448ÚML_HIGHzS-1-16-12288Ú	ML_SYSTEMzS-1-16-16384ÚML_PROTECTED_PROCESSzS-1-16-20480ÚML_SECURE_PROCESSzS-1-16-28672Ú*AUTHENTICATION_AUTHORITY_ASSERTED_IDENTITYzS-1-18-1ÚSERVICE_ASSERTED_IDENTITYzS-1-18-2ÚFRESH_PUBLIC_KEY_IDENTITYzS-1-18-3zS-1-18-4zS-1-18-5zS-1-18-6)ÚKEY_TRUST_IDENTITYÚKEY_PROPERTY_MFAÚKEY_PROPERTY_ATTESTATION)r)   r!   r   r   Úwell_known_sidsr
   r
   r
   r   Ú<module>   s¨   Hÿþýüûúùø	÷
öõôóòñðïîíìëêéèçæåäãâá à!ß"Þ#Ý$Ü%Û&Ú'Ù(Ø)×*Ö+Õ,Ô-Ó.Ò/Ñ0Ð1Ï2Î3Í4Ì5Ë6Ê7É8È9Ç:Æ;Å<Ä=Ã>Â?Á@ÀA¿B¾C½D¼E»FºG¹H¸I·J¶KµL´M³N²O±P°Q¯R®S­T¬U«VªW©X¨Y§Z¦[¥\¤]£^¢_¡` aŸbžc�dœe›fš
g

—