o
    j=                     @   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                       (   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/alsadecryptor/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%is   9Q$uiz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                       r   ) PKIWI_LIVESSP_PRIMARY_CREDENTIALc                       t    d S Nr   r   r   r   r   r   r   +      z)PKIWI_LIVESSP_PRIMARY_CREDENTIAL.__init__c                    ,   t  }|  |_|  I d H |_t|_|S r)   )r'   telllocation	read_uintvalueKIWI_LIVESSP_PRIMARY_CREDENTIAL	finaltypereaderpr   r   r   load.      
z%PKIWI_LIVESSP_PRIMARY_CREDENTIAL.loadr"   r#   r$   r   r%   r6   r&   r   r   r   r   r'   *       r'   c                   @       e Zd Zdd Zedd ZdS )r1   c                 C   s   d | _ d | _d | _d S r)   )isSuppunk0credentialsr   r   r   r   r   7   s   
z(KIWI_LIVESSP_PRIMARY_CREDENTIAL.__init__c                    sB   t  }t| I d H |_t| I d H |_t| I d H |_|S r)   )r1   r   	loadvaluer;   r<   r   r6   r=   r4   resr   r   r   r6   <   s   z$KIWI_LIVESSP_PRIMARY_CREDENTIAL.loadNr"   r#   r$   r   r%   r6   r   r   r   r   r1   6   s    r1   c                       r   )r   c                    r(   r)   r*   r   r   r   r   r   F   r+   z!PKIWI_LIVESSP_LIST_ENTRY.__init__c                    r,   r)   )r   r-   r.   r/   r0   KIWI_LIVESSP_LIST_ENTRYr2   r3   r   r   r   r6   I   r7   zPKIWI_LIVESSP_LIST_ENTRY.loadr8   r   r   r   r   r   E   r9   r   c                   @   r:   )rB   c                 C   sR   d | _ d | _d | _d | _d | _d | _d | _d | _d | _d | _	d | _
d | _d | _d S r)   )FlinkBlinkr<   unk1unk2unk3unk4unk5unk6LocallyUniqueIdentifierUserNameunk7	suppCredsr   r   r   r   r   R   s   
z KIWI_LIVESSP_LIST_ENTRY.__init__c                    s   t  }t| I d H |_t| I d H |_t| I d H |_t| I d H |_t| I d H |_t| I d H |_	t
| I d H |_t
| I d H |_t| I d H |_t| I d H |_t| I d H |_t| I d H |_t| I d H |_|S r)   )rB   r   r6   rC   rD   r   r<   rE   rF   rG   r   r>   rH   rI   rJ   r   rK   r	   rL   rM   r'   rN   r?   r   r   r   r6   a   s    zKIWI_LIVESSP_LIST_ENTRY.loadNrA   r   r   r   r   rB   Q   s    rB   )iopypykatz.commons.commonr   $pypykatz.alsadecryptor.win_datatypesr   r   r   r   r   r   r	   &pypykatz.alsadecryptor.package_commonsr
   r   r'   r1   r   rB   r   r   r   r   <module>   s   $