o
    �õ±j¾  ã                   @   sZ   d dl Z d dlZd dlmZ d dlmZ d dlmZ dd„ Zdd„ Z	e
d	kr+e	ƒ  dS dS )
é    N)ÚAMinidumpFile)Úhexdump)Ú
__banner__c                  Ã   s´  �dd l } | jdd�}|jddd� |jddd	dd
� |jdddd� |jdddd� |jdddd� |jdddd� |jdddd� |jdddd� |jdddd� |jdddd� |jdddd� |jddd d� |jd!d"d#d$„ d%d&� |jd'd(d)d$„ d*d%d+� | ¡ }|jdkr“tjtjd,� n|jd-kr tjtjd,� ntjd-d,� t	t
ƒ t |j¡I d H }| ¡ }|js½|jrá|jd urÉt	t|jƒƒ |jd urÕt	t|jƒƒ |jd urát	t|jƒƒ |jsç|jrÿ|jd urót	t|jƒƒ |jd urÿt	t|jƒƒ |j�s|j�r.|jd u�rt	t|jƒƒ |jd u�r!t	t|jƒƒ |jd u�r.t	t|jƒƒ |j�s6|j�rC|jd u�rCt	t|jƒƒ |j�sK|j�rX|jd u�rXt	t|jƒƒ |j�s`|j�rz|jd u�rmt	t|jƒƒ |jd u�rzt	t|jƒƒ |j�s‚|j�r�|jd u�r�t	t|jƒƒ |j�s—|j �r¤|j!d u�r¤t	t|j!ƒƒ |j�s¬|j"�r³t	t|j"ƒƒ |j#�rØ| $¡ }| %|j#¡I d H  | &|j'¡I d H }t	t(||j#d.�ƒ d S d S )/Nr   zA parser for minidumnp files)ÚdescriptionÚminidumpfilez&path to the minidump file of lsass.exe)Úhelpz-vz	--verboseÚcount)ÚactionÚdefaultz--headerÚ
store_truezFile header info)r	   r   z	--moduleszList modulesz	--threadszList threadsz--memoryzList memoryz	--sysinfozShow sysinfoz
--commentszShow commentsz--exceptionzShow exception recordsz	--handleszList handlesz--misczShow misc infoz--allzShow all infoz-rz--read-addrc                 S   ó
   t | dƒS ©Nr   ©Úint©Úx© r   ú…/root/aizidognhua/tmp/workspace/projects/ec89d86c-575f-41c9-af57-ac45cbdbf775/venv/lib/python3.10/site-packages/minidump/__amain__.pyÚ<lambda>   ó   
 zrun.<locals>.<lambda>z4Dump a memory region from the process's addres space)Útyper   z-sz--read-sizec                 S   r   r   r   r   r   r   r   r      r   é    )r   r
   r   )Úlevelé   )Ústart))ÚargparseÚArgumentParserÚadd_argumentÚ
parse_argsÚverboseÚloggingÚbasicConfigÚINFOÚDEBUGÚprintr   r   Úparser   Ú
get_readerÚallÚthreadsÚstrÚ
threads_exÚthread_infoÚmodulesÚunloaded_modulesÚmemoryÚmemory_segmentsÚmemory_segments_64Úmemory_infoÚsysinfoÚ	exceptionÚcommentsÚ	comment_aÚ	comment_wÚhandlesÚmiscÚ	misc_infoÚheaderÚ	read_addrÚget_buffered_readerÚmoveÚpeekÚ	read_sizer   )r   ÚparserÚargsÚmfÚreaderÚbuff_readerÚdatar   r   r   Úrun   sŒ   €






ürF   c                   C   s   t  tƒ ¡ d S )N)ÚasynciorF   r   r   r   r   Úmain[   s   rH   Ú__main__)r    rG   Úminidump.aminidumpfiler   Úminidump.common_structsr   Úminidump._versionr   rF   rH   Ú__name__r   r   r   r   Ú<module>   s   N
ÿ