o
    Žõ±j�  ã                   @   s.   d dl Z d dlZd dlmZ G dd„ dƒZdS )é    N)Ú
SMB2Cipherc                   @   s(   e Zd Zdd„ Zdd„ Zedd„ ƒZdS )ÚSMB2Header_TRANSFORMc                 C   s.   d| _ d| _d | _d | _d| _d | _d | _d S )Nó   ýSMBs                   r   )Ú
ProtocolIdÚ	SignatureÚNonceÚOriginalMessageSizeÚReservedÚEncryptionAlgorithmÚ	SessionId)Úself© r   ú™/root/aizidognhua/tmp/workspace/projects/ec89d86c-575f-41c9-af57-ac45cbdbf775/venv/lib/python3.10/site-packages/aiosmb/protocol/smb2/headers/transform.pyÚ__init__   s   
zSMB2Header_TRANSFORM.__init__c                 C   sx   | j }|| j7 }|| j7 }|| jjdddd�7 }|| jjdddd�7 }|| jjjdddd�7 }|| jjdddd�7 }|S )Né   ÚlittleF©Ú	byteorderÚsignedé   é   )	r   r   r   r   Úto_bytesr	   r
   Úvaluer   )r   Útr   r   r   r      s   

zSMB2Header_TRANSFORM.to_bytesc                 C   s    t ƒ }|  d¡|_|jdksJ ‚|  d¡|_|  d¡|_tj|  d¡ddd�|_tj|  d¡ddd�|_t	tj|  d¡ddd�ƒ|_
tj|  d¡ddd�|_|S )	Nr   r   é   r   Fr   r   r   )r   Úreadr   r   r   ÚintÚ
from_bytesr   r	   r   r
   r   )ÚbuffÚhdrr   r   r   Úfrom_buffer   s   z SMB2Header_TRANSFORM.from_bufferN)Ú__name__Ú
__module__Ú__qualname__r   r   Ústaticmethodr    r   r   r   r   r      s
    	r   )ÚenumÚioÚ'aiosmb.protocol.smb2.commands.negotiater   r   r   r   r   r   Ú<module>   s    