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   