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dddedddedddedddedddedddeddi dedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddeddi dedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddeddeddeddedd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-1130LOCAL_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

