o
    Žõ±ja  ã                   @   s”   d dl Z d dlmZ d dlmZmZmZmZmZm	Z	m
Z
 d dlmZ G dd„ deƒZG dd„ deƒZG d	d
„ d
ƒZG dd„ deƒZG dd„ dƒZdS )é    N)ÚKatzSystemArchitecture)ÚPOINTERÚULONGÚKIWI_GENERIC_PRIMARY_CREDENTIALÚPVOIDÚDWORDÚLUIDÚLSA_UNICODE_STRING)ÚPackageTemplatec                       s(   e Zd Z‡ fdd„Zedd„ ƒZ‡  ZS )ÚLiveSspTemplatec                    s"   t ƒ  d¡ d | _d | _d | _d S )NÚLiveSsp)ÚsuperÚ__init__Ú	signatureÚfirst_entry_offsetÚ
list_entry)Úself©Ú	__class__© ú£/root/aizidognhua/tmp/workspace/projects/ec89d86c-575f-41c9-af57-ac45cbdbf775/venv/lib/python3.10/site-packages/pypykatz/lsadecryptor/packages/livessp/templates.pyr      s   
zLiveSspTemplate.__init__c                 C   s`   t ƒ }t|_| d|j¡ | jtjkrd|_d|_|S | jtj	kr)d|_d|_|S t
d| j ƒ‚)Nr   s   t%‹iùÿÿÿs   ‹9Q$uiøÿÿÿzUnknown architecture! %s)r   ÚPKIWI_LIVESSP_LIST_ENTRYr   Úlog_templateÚarchitecturer   ÚX64r   r   ÚX86Ú	Exception)ÚsysinfoÚtemplater   r   r   Úget_template   s   øýzLiveSspTemplate.get_template)Ú__name__Ú
__module__Ú__qualname__r   Ústaticmethodr   Ú__classcell__r   r   r   r   r      s    r   c                       ó   e Zd Z‡ fdd„Z‡  ZS )Ú PKIWI_LIVESSP_PRIMARY_CREDENTIALc                    ó   t ƒ  |t¡ d S ©N)r   r   ÚKIWI_LIVESSP_PRIMARY_CREDENTIAL©r   Úreaderr   r   r   r   +   ó   z)PKIWI_LIVESSP_PRIMARY_CREDENTIAL.__init__©r    r!   r"   r   r$   r   r   r   r   r&   *   ó    r&   c                   @   ó   e Zd Zdd„ ZdS )r)   c                 C   s&   t |ƒj| _t |ƒj| _t|ƒ| _d S r(   )r   ÚvalueÚisSuppÚunk0r   Úcredentialsr*   r   r   r   r   /   s   z(KIWI_LIVESSP_PRIMARY_CREDENTIAL.__init__N©r    r!   r"   r   r   r   r   r   r)   .   ó    r)   c                       r%   )r   c                    r'   r(   )r   r   ÚKIWI_LIVESSP_LIST_ENTRYr*   r   r   r   r   6   r,   z!PKIWI_LIVESSP_LIST_ENTRY.__init__r-   r   r   r   r   r   5   r.   r   c                   @   r/   )r6   c                 C   sŒ   t |ƒ| _t |ƒ| _t|ƒ| _t|ƒ| _t|ƒ| _t|ƒ| _t|ƒj	| _
t|ƒj	| _t|ƒ| _t|ƒj	| _t|ƒ| _t|ƒ| _t|ƒ| _d S r(   )r   ÚFlinkÚBlinkr   r2   Úunk1Úunk2Úunk3r   r0   Úunk4Úunk5Úunk6r   ÚLocallyUniqueIdentifierr	   ÚUserNameÚunk7r&   Ú	suppCredsr*   r   r   r   r   :   s   








z KIWI_LIVESSP_LIST_ENTRY.__init__Nr4   r   r   r   r   r6   9   r5   r6   )ÚioÚpypykatz.commons.commonr   Úpypykatz.commons.win_datatypesr   r   r   r   r   r   r	   Ú%pypykatz.lsadecryptor.package_commonsr
   r   r&   r)   r   r6   r   r   r   r   Ú<module>   s   $