o
    Žõ±j¨  ã                   @   sx   d dl Z d dlZd dlZd dlmZ d dlmZ G dd„ dƒZG dd„ dƒZdd	„ Z	d
d„ Z
edkr:e e	ƒ ¡ dS dS )é    N)Úpypykatz)Ú	apypykatzc                   @   ó0   e Zd Zdd„ Zddd„Zddd„Zd	d
„ ZdS )Ú	DebugFilec                 C   ó$   || _ t| j dƒ| _g | _d| _d S ©NÚrbr   ©ÚfilenameÚopenÚfhÚreadsÚ
total_read©Úselfr
   © r   ú…/root/aizidognhua/tmp/workspace/projects/ec89d86c-575f-41c9-af57-ac45cbdbf775/venv/lib/python3.10/site-packages/pypykatz/debugfile.pyÚ__init__
   ó   
zDebugFile.__init__éÿÿÿÿc                 C   s0   | j  | j ¡ |f¡ |  j|7  _| j |¡S ©N©r   Úappendr   Útellr   Úread©r   Únr   r   r   r      s   zDebugFile.readr   c                 C   s   | j  ||¡S r   ©r   Úseek©r   r   Úwhencer   r   r   r      s   zDebugFile.seekc                 C   ó
   | j  ¡ S r   ©r   r   ©r   r   r   r   r      ó   
zDebugFile.tellN©r   ©r   ©Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r   r   r   r   	   ó
    


r   c                   @   r   )Ú
ADebugFilec                 C   r   r   r	   r   r   r   r   r   #   r   zADebugFile.__init__r   c                 Ã   s2   �| j  | j ¡ |f¡ |  j|7  _| j |¡S r   r   r   r   r   r   r   *   s   €zADebugFile.readr   c                 Ã   s   �| j  ||¡S r   r   r   r   r   r   r   4   s   €zADebugFile.seekc                 C   r!   r   r"   r#   r   r   r   r   8   r$   zADebugFile.tellNr%   r&   r'   r   r   r   r   r,   "   r+   r,   c                  Ã   s²   �dD ]O} t tjd ƒ}tj|| dgd�I d H }t|jdd„ d�}d}|D ]\}}|d	k r1|d7 }q%td
|  ƒ tdt|jƒ ƒ td| ƒ td|j	 ƒ tdƒ qtdƒ d S )N©i   é   i   i (  i P  i È  é   Úall©Ú	chunksizeÚpackagesc                 S   ó   | d S ©Nr   r   ©Úxr   r   r   Ú<lambda>?   ó    zamain.<locals>.<lambda>©Úkeyr   r.   úchk : %sú	reads: %súsmall reads: %sútotal reads: %sÚ úDONE!)
r,   ÚsysÚargvr   Úparse_minidump_externalÚsortedr   ÚprintÚlenr   ©ÚchkÚfÚmimiÚresÚiÚposr   r   r   r   Úamain;   s    €€
rO   c                  C   sª   dD ]L} t tjd ƒ}tj|| dgd�}t|jdd„ d�}d}|D ]\}}|d	k r-|d7 }q!td
|  ƒ tdt|jƒ ƒ td| ƒ td|j	 ƒ tdƒ qtdƒ d S )Nr-   r/   r0   r1   c                 S   r4   r5   r   r6   r   r   r   r8   Q   r9   zmain.<locals>.<lambda>r:   r   r.   r<   r=   r>   r?   r@   rA   )
r   rB   rC   r   rD   rE   r   rF   rG   r   rH   r   r   r   ÚmainM   s   €
rP   Ú__main__)rB   Ú	tracebackÚasyncioÚpypykatz.pypykatzr   Úpypykatz.apypykatzr   r   r,   rO   rP   r(   Úrunr   r   r   r   Ú<module>   s   þ