o
    j	                     @   sR   d dl Z d dlZd dlZd dlmZmZ d dlmZ dd Ze	dkr'e  dS dS )    N)CCACHE
Credential)print_tablec                  C   s  dd l } | jdd}|jdd}d|_d|_|jdd	d}|jd
dddd |jdddd |jddd}|jddd}|jdddd |jddtdddd |jddd | }t	j
t	jd t	d|j  t|j}|jdkrg }|d gt   d}	|jD ]}
|t|	g|
   |	d!7 }	qt  t| d S |jdkr|jrt|jd"}|j|jd#D ]}|| d$  qW d    n
1 sw   Y  d S d S |j|jd#D ]}t| qd S |jdkr@tj !tj "tj #|jd%t$%|j }|j&}t }|j'|_'|j(|_(|j)|_)d}	|jD ]}
|	|v r&|	d!7 }	q|j|
 |	d!7 }	qt	*d&|  |+| d S d S )'Nr   zTool to manipulate CCACHE files)descriptioncommands)helpTcommandroastz,Lists all tickets in hashcat-friendly formatz-az	--allhash
store_truez*Process all tickets, regardless of enctype)actionr   z-oz	--outfilezOutput hash file namelistzList all tickets in the filedelzpDelete ticket(s) from file, store the new ccache file in a specified filename, or an automatically generated onezOutput ccache file namez-iz--idappendzTicket ID to delete)typer   r   required
ccachefilezinput CCACHE file)levelzOpening file %sid   wb)
all_hashess   
z%s.edited.ccachezWriting edited file to %s),argparseArgumentParseradd_subparsersr   dest
add_parseradd_argumentint
parse_argsloggingbasicConfigINFOdebugr   r   	from_filer   r   r   summary_headercredentialsstrsummaryprintr   outfileopen
get_hashesallhashwriteencodeospathjoindirnameabspathntpathbasenamer   file_format_versionheadersprimary_principalinfoto_file)r   parser
subparsersroast_group
list_groupdelete_groupargscctableicredfhoutput_filenamer   temp_cc rI   /root/aizidognhua/tmp/workspace/projects/ec89d86c-575f-41c9-af57-ac45cbdbf775/venv/lib/python3.10/site-packages/minikerberos/examples/ccache_editor.pymain   sj   



$
,

rK   __main__)
r/   r   r4   minikerberos.common.ccacher   r   minikerberos.common.utilsr   rK   __name__rI   rI   rI   rJ   <module>   s    ?
