o
    �õ±j;  ã                   @   sV   d dl Z d dlmZ d dlmZ d dlmZ d dlmZ dd„ Z	e
dkr)e	ƒ  dS dS )	é    N)ÚMinidumpFile)Úhexdump)ÚMinidumpShell)Ú
__banner__c                  C   s  dd l } | jdd�}|jddd� |jdd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� |jd&d'd(d)„ d*d+� |jd,d-d.d)„ d/d*d0� | ¡ }|jdkr£tjtjd1� n|jd2kr°tjtjd1� ntjd2d1� t	t
ƒ |jrÌtƒ }| |j¡ | ¡  d S 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�s
|j�r$|jd u�rt	t|jƒƒ |jd u�r$t	t|jƒƒ |j�s,|j�rS|jd u�r9t	t|jƒƒ |jd u�rFt	t|jƒƒ |jd u�rSt	t|jƒƒ |j�s[|j�rh|jd u�rht	t|jƒƒ |j�sp|j�r}|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�s¼|j$�rÉ|j%d u�rÉt	t|j%ƒƒ |j�sÑ|j&�rØt	t|j&ƒƒ |j�sà|j'�rí|j'd u�rít	t|j'ƒƒ |j(�r| )¡ }| *|j(¡ | +|j,¡}t	t-||j(d3�ƒ d S d S )4Nr   zA parser for minidumnp files)ÚdescriptionÚminidumpfilez&path to the minidump file of lsass.exe)Úhelpz-vz	--verboseÚcount)ÚactionÚdefaultz-iz--interactiveÚ
store_truezInteractive minidump shell)r
   r   z--headerzFile header infoz	--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--pebzShow PEB 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/__main__.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   Úinteractiver   Údo_openr   Úcmdloopr   ÚparseÚ
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ÚpebÚ	read_addrÚget_buffered_readerÚmoveÚpeekÚ	read_sizer   )r   ÚparserÚargsÚshellÚmfÚreaderÚbuff_readerÚdatar   r   r   Úrun   sœ   



ürL   Ú__main__)r!   Úminidump.minidumpfiler   Úminidump.common_structsr   Úminidump.minidumpshellr   Úminidump._versionr   rL   Ú__name__r   r   r   r   Ú<module>   s   [
ÿ