o
    Žõ±j'�  ã                   @   sŠ   d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlm	Z	 d dl
mZ d dlmZ 	 G dd„ dƒZdZG dd	„ d	ƒZdS )
é    N©Úlogger)ÚUniversalEncoder)ÚLogonSessionc                   @   s   e Zd Zdd„ ZdS )Ú
SMBCMDArgsc                 C   s,   d | _ d| _d| _d | _ d| _ddg| _d S )Nr   TFÚloginÚi)Úsmb_urlÚverboseÚsilentÚno_interactiveÚcommands©Úself© r   ú‰/root/aizidognhua/tmp/workspace/projects/ec89d86c-575f-41c9-af57-ac45cbdbf775/venv/lib/python3.10/site-packages/pypykatz/smb/cmdhelper.pyÚ__init__   s   zSMBCMDArgs.__init__N)Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r      s    r   z=FOR AVAILABLE SUBCOMMANDS TYPE "... smb help" insted of "-h" c                   @   s>   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ Zddd„ZdS )ÚSMBCMDHelperc                 C   s   dg| _ dg| _d S )NÚsmb)Úlive_keywordsÚkeywordsr   r   r   r   r   &   s   zSMBCMDHelper.__init__c                 C   sr
  |j ddd�}| ¡ }d|_d|_|j ddd�}|jdd	d
ddd� |jddd� |jdddd� |j ddd�}|jddd� |jdddd� |jdddd� |jddd d� |jd!d"dd#d� |jd$td%d&d'� |jd(d)g d*¢d+d,d-d.� |j d/d0d�}|jdd1d� |jd2d3d4d5gd4dd6� |jdddd� |jdddd� |jddd d� |jd!d"dd#d� |jd$td%d&d'� |jd(d)g d*¢d+d,d-d.� |jd7d8dd9d� |jd:d;td<d=d'� |j d>d?d�}|jdd@d� |jdAdBd� |jdCdDd� |jdEdFd� |jdGdHd� |jdddd� |jdddd� |j dIdJd�}	|	jddKd� |	jdddd� |	jdddd� |	jd7d8dd9d� |	jd:d;td<d=d'� |j dLdMd�}
|
jddNd� |
jdOdPdQd� |
jdddRd� |j dSdSd�}|jddTd� |jdddd� |jdddd� |jddd d� |jd!d"dd#d� |jd$td%d&d'� |jd(d)g d*¢d+d,d-d.� |j dUdVd�}|jdd	d
ddd� |jdWtdXdYd'� |jdZtd d[d'� |jd\dd]d� |jd^dd_d� |jd:d;td<d=d'� |jd`dadbd� |jdcdddd� |jddedfd� |jdddgd� |jdhddid� |jd7d8ddjd� |jdktd dld'� |jdmdnddod� |jdpdqddrd� |jdsdtddud� |jdvdwd� |j dxdxd�}|jddTd� |jdydzd� |jd{d|d}gd}d~d6� |jdd€d�gd€d‚d6� |j dƒd„d�}|jddTd� |jdydzd� |jd{d|d}gd}d~d6� |jdd€d�gd€d‚d6� tjd…d†�}|jd‡d�}d|_dˆ|_|j dd‰d�}|jd{d|d}gd|dŠd6� |jdd€d�gd€d‚d6� |jdd	d
ddd� |jd‹dŒd� |jdddd� |j d/d0d�}|jd‹dŒd� |jd{d|d}gd}d~d6� |jdd€d�gd€d‚d6� |jd2d3d4d5gd4dd6� |jdddd� |jdddd� |jddd d� |jd!d"dd#d� |jd$td%d&d'� |jd(d)g d*¢d+d,d-d.� |jd7d8dd9d� |jd:d;td<d=d'� |j dIdJd�}|jd‹dŒd� |jd{d|d}gd}d~d6� |jdd€d�gd€d‚d6� |jdddd� |jdddd� |jd:d;td<d=d'� |jd7d8dd9d� |j dLdMd�}|jd‹dŒd� |jd{d|d}gd}d~d6� |jdd€d�gd€d‚d6� |jdOdPdQd� |jdddRd� |j dSdSd�}|jd‹dŒd� |jd{d|d}gd}d~d6� |jdd€d�gd€d‚d6� |jdddd� |jdddd� |jddd d� |jd!d"dd#d� |jd$td%d&d'� |jd(d)g d*¢d+d,d-d.� |j dUd�d�}|jd{d|d}gd}d~d6� |jdd€d�gd€d‚d6� |jdd	d
ddd� |jdWtdXdYd'� |jdZtd d[d'� |jd\dd]d� |jd^dd_d� |jd:d;td<d=d'� |jdŽdd�d� |jdcdddd� |jddedfd� |jdddgd� |jdhddid� |jd7d8ddjd� |jdktd dld'� |jdmdnddod� |jdpdqddrd� |jdsdtddud� |j dxdxd�}|jd‹dŒd� |jdydzd� |jd{d|d}gd}d~d6� |jdd€d�gd€d‚d6� |j dƒd„d�}|jd‹dŒd� |jdydzd� |jd{d|d}gd}d~d6� |jdd€d�gd€d‚d6� |j dd�t|gd‘�}d S )’Nr   zSMB related commands)ÚhelpTÚ
smb_moduleÚclientzGSMB client. Use "help" instead of "-h" to get the available subcommandsz-vz	--verboseÚcountr   zVerbosity, can be stacked)ÚactionÚdefaultr   ÚurlzSMB connection stringr   Ú*z¯!OPTIONAL! Takes a series of commands which will be executed until error encountered. If the command is 'i' is encountered during execution it drops back to interactive shell.)Únargsr   Ú	lsassfilezParse a remote LSASS dump file.z¥SMB connection string with file in path field. Example: 'smb2+ntlm-password://TEST\Administrator:QLFbT8zkiFGlJuf0B3Qq@10.10.10.102/C$/Users/victim/Desktop/lsass.DMP'z--jsonÚ
store_truez Print credentials in JSON format)r   r   z-oz	--outfilez[Save results to file (you can specify --json for json file, or text format will be written)z-kz--kerberos-dirz%Save kerberos tickets to a directory.z-gz--grepz%Print credentials in greppable formatz--chunksizei   z Chunksize for file data retrival)Útyper   r   z-pz
--packages)ÚallÚmsvÚwdigestÚtspkgÚsspÚlivesspÚdpapiÚcloudapú+r&   zLSASS package to parse)Úchoicesr"   r   r   Ú	lsassdumpzRemotely dumps and parses LSASSzjSMB connection string Example: 'smb2+ntlm-password://TEST\Administrator:QLFbT8zkiFGlJuf0B3Qq@10.10.10.102'z-mz--methodÚtaskÚservice)r/   r   r   z-tz--targetzFiles/IPs/Hostnames for targetsz-wz--worker-counté
   z8Number of parallell enum workers. Always one worker/hostÚregfilez"Parse a remote registry hive dumpszžSMB connection string with folder in path field. Example: 'smb2+ntlm-password://TEST\Administrator:QLFbT8zkiFGlJuf0B3Qq@10.10.10.102/C$/Users/victim/Desktop/'Úsystemz path to the SYSTEM registry hivez--samzpath to the SAM registry hivez
--securityz"path to the SECURITY registry hivez
--softwarez"path to the SOFTWARE registry hiveÚregdumpz"Remotely dumps and parses registryzkSMB connection string. Example: 'smb2+ntlm-password://TEST\Administrator:QLFbT8zkiFGlJuf0B3Qq@10.10.10.102'ÚdcsyncÚDcSyncziSMB connection string. Example: 'smb2+ntlm-password://TEST\Administrator:QLFbT8zkiFGlJuf0B3Qq@10.10.10.2'z-uz
--usernameztaget usernamezSave results to fileÚsecretsdumpzlSMB connection string. Example: 'smb2+ntlm-password://TEST\Administrator:QLFbT8zkiFGlJuf0B3Qq@10.10.10.102/'Ú	shareenumzSMB share enumeratorz--depthé   z Maximum level of folders to enumz
--maxitemsz0Maximum number of items per forlder to enumeratez--dirsdz&Fetch Security Descriptors for foldersz--filesdz$Fetch Security Descriptors for filesz-lz--ldapzUse LDAP to get a list of machines to enumerate. This will return dns names so be carefule to have a correct DNS server config!z
--progressz1Progress bar. Please use it with output-file set!z
--out-filezOutput filezOutput format is JSONz--tsvzOutput format is TSVz?Files/IPs/Hostnames for targets. Can be omitted if LDAP is usedz--max-runtimez%Maximum runtime per host (in seconds)z--esz--exclude-sharez"Exclude shares with name specifiedz--edz--exclude-dirz'Exclude directories with name specifiedz--etz--exclude-targetzExclude hosts from enumerationr	   zYSMB connection string. Credentials specified here will be used to perform the enumerationÚprintnightmareÚdllpathzØPath to the DLL to be loaded by the remote host. Either UNC (\\<ip>\path\to\dll.dll) or Full file path on the remote computer (C:\path\to\dll.dll). Latter is useful if you have write permissions on the remote machinez--authmethodÚntlmÚkerberoszsAuthentication method to use during login. If kerberos is used, the target must be DNS or hostname, NOT IP address!z--protocol-versionÚ2Ú3z,SMB protocol version. SMB1 is not supported.Úparprintnightmarezpar printnightmareF)Úadd_helpz6LIVE SMB commands work under the current user context.ÚlivesmbcommandzNSMB (live) client. Use "help" instead of "-h" to get the available subcommandsz)Authentication method to use during loginÚhostzTarget host to connect toz¢SMB (live) share enumerator. THE DEFAULT SETTINGS ARE OPTIMIZED TO WORK ON DOMAIN-JOINED MACHINES. This will start enumeration using the current user credentials.z--skip-ldapz#Skip fetching target hosts via LDAPzSMB (live) commands)r   ÚepilogÚparents)	Ú
add_parserÚadd_subparsersÚrequiredÚdestÚadd_argumentÚintÚargparseÚArgumentParserÚsmb_live_epilog)r   ÚparserÚlive_parserÚ	smb_groupÚsmb_subparsersÚsmb_client_groupÚsmb_lsassfile_groupÚsmb_lsassdump_groupÚsmb_regfile_groupÚsmb_regsec_groupÚsmb_dcsync_groupÚsmb_secretsdump_groupÚsmb_shareenum_parserÚprintnightmare_groupÚparprintnightmare_groupÚlive_subcommand_parserÚlive_smb_subparsersÚlive_client_parserÚlive_lsassdump_groupÚlive_regsec_groupÚlive_dcsync_groupÚlive_secretsdump_groupÚlive_shareenum_parserÚlive_printnightmare_groupÚlive_parprintnightmare_groupÚ
live_groupr   r   r   Úadd_args*   s<  zSMBCMDHelper.add_argsc                 C   s`   |j | jv rt |  |¡¡ t| jƒdkr*|j dkr,|j| jv r.t |  |¡¡ d S d S d S d S )Nr   Úlive)Úcommandr   ÚasyncioÚrunÚlenr   ÚmoduleÚrun_live)r   Úargsr   r   r   Úexecuteæ   s
   $ÿzSMBCMDHelper.executec              
   Ã   s°  �t  ¡  ¡ dkrtdƒ‚ddlm} ddlm} |ƒ }|jdkr1d|j	|j
|d |d	 |jf }|jdkr<| d
¡ n|jdkrI|jtjd� nd|j }|j|d� |jdkr¦ddlm} tƒ }||_|j|_|jd ur�t|jƒdkr�g |_|jd dkr„dg|_n|jd dkr‘|j d¡ |jD ]}	|j |	¡ q”||ƒI d H  d S |jdkrÜddlm}
 |
||j|j|jd�I d H }|D ]\}}}|d urÐtd| ƒ |  d|ig |¡ qÁd S |jdk�râddlm}
 ddlm} ddlm } z|
||j|jd�I d H }|d u�r| jd|ig |dd� W n t�y* } zt !d¡ W Y d }~nd }~ww z5||ƒI d H }|d u�r_|j"�rG| #|j"d |j$¡ n|j$�rYtt$j%| &¡ t'dd d!�ƒ ntt(|ƒƒ W n t�yx } zt !d"¡ W Y d }~nd }~ww z\z4|j"d u�r‹t)|j"d# d$d%d&�}||ƒ2 z3 d H W }|j"d u�r¤| *t(|ƒ¡ �q�tt(|ƒƒ �q�6 W n t�yÆ } zt !d'¡ W Y d }~nd }~ww W |j"d u�rÔ| +¡  d S d S |j"d u�rá| +¡  w w |jd(k�r.ddlm } |j"d u�rüt)|j"d$d%d&�}|||j,ƒ2 z3 d H W }|j"d u�r| *t(|ƒ¡ �qtt(|ƒƒ �q6 |j"d u�r,| +¡  d S d S |jd)k�rqddlm} ||ƒI d H }|d u�ro|j"�rT| #|j"|j$¡ d S |j$�rgtt$j%| &¡ t'dd d!�ƒ d S tt(|ƒƒ d S d S |jd*k�r›dd+l-m.} |||j/ƒI d H \}}|d u�r•td,| ƒ d S td-ƒ d S |jd.k�rÅdd/l-m0} |||j/ƒI d H \}}|d u�r¿td0| ƒ d S td1ƒ d S |jdk�rVdd2l1m2} d3}|j$d u �rÛd4}|j3d u �rãd5}g }|j4d u�rî|j4}g }|j5d u�rù|j5}d6}|j6d u �rd }g }|j7d u�r|j7}|dHi d7d6“d8|j8“d9|j9“d:|j:“d;|j;“d<|j<“d=|j=“d>|j>“d?|j?“d@|j
“dA|j	“dB|“dC|j@“dD|“dE|“dF|“dG|“ŽI d H  d S d S )INÚwindowsz#Live commands only work on Windows!r   r   )Úget_logon_infor:   zsmb%s+sspi-%s://%s\%s@%sÚdomainÚusernameéd   é   ©Úlevelé   r   ©Úamainr   r   r0   ©r0   )Ú	chunksizeÚpackagesÚmethodz	ERROR: %sÚsmbfiler9   ©r6   ©r7   ©r€   r�   ú
_lsass.txt©Úfile_prefixú)[SECRETSDUMP] Failed to get LSASS secretsú_registry.txté   T©ÚclsÚindentÚ	sort_keysú,[SECRETSDUMP] Failed to get registry secretsú_dcsync.txtÚwÚ ©Únewlineú&[SECRETSDUMP] Failed to perform DCSYNCr7   r6   rB   ©rB   úParprintnightmare failed! %súParprintnightmare OK!r<   ©r<   úPrintnightmare failed! %súPrintnightmare OK!©r:   ÚstrÚjsonÚtsvÚautor	   ÚtargetsÚsmb_worker_countÚdepthÚout_fileÚprogressÚ	max_itemsÚdirsdÚfilesdÚ
authmethodÚprotocol_versionÚoutput_typeÚmax_runtimeÚexclude_shareÚexclude_dirÚldap_urlÚexclude_targetr   )AÚplatformr5   ÚlowerÚ	ExceptionÚaiosmbr   Úwinacl.functions.highlevelru   rD   r¬   r«   rE   r
   ÚsetLevelÚINFOÚaiosmb.examples.smbclientr~   r   r	   r   ro   ÚappendÚpypykatz.smb.lsassutilsr0   r€   r�   r‚   ÚprintÚprocess_resultsÚpypykatz.smb.regutilsr6   Úpypykatz.smb.dcsyncr7   Ú	exceptionÚoutfileÚto_filer    ÚdumpsÚto_dictr   rŸ   ÚopenÚwriteÚcloserw   Úpypykatz.smb.printerrB   r=   r<   Úpypykatz.smb.shareenumr:   r¡   ÚesÚedÚ	skip_ldapÚetÚtargetÚworker_countr¥   r¦   r§   Úmaxitemsr©   rª   r®   )r   rr   Úsmblogru   Úinfor	   r{   r~   Úlarl   r0   ÚtmimisÚtidÚmimiÚerrr6   r7   ÚeÚporÂ   ÚsecretrB   Ú_r<   r:   r­   r¯   r°   r±   r²   r   r   r   rq   î   sV  €
 






ý
€€ÿ
€€ÿü€ÿ€ÿ
ÿüÿ
ù	

ÿþýüûúùø	÷
öõôóòñðïçzSMBCMDHelper.run_livec                 Ã   s¨  �ddl m} |jdkr| d¡ n|jdkr|jtjd� nd|j }|j|d� |jdkrMddlm} ||j|j	|j
d	�I d H }|  d
|ig |¡ d S |jdkrƒddlm} ||j|j	|j
|j|j|jd�2 z3 d H W \}}}|d urvqh|  ||ig |¡ qh6 d S |jdk�rˆddlm} ddlm}	 ddlm}
 z||j|j	|j
d	�I d H }|d ur¸| jd
|ig |dd� W n tyÐ } zt d¡ W Y d }~nd }~ww z4|	|jƒI d H }|d u�r|jrí| |jd |j¡ n|jrþttj| ¡ tddd�ƒ ntt|ƒƒ W n t�y } zt d¡ W Y d }~nd }~ww z]z5|jd u�r0t|jd ddd�}|
|jƒ2 z3 d H W }|jd u�rJ| t|ƒ¡ �q5tt|ƒƒ �q56 W n t�yl } zt d¡ W Y d }~nd }~ww W |jd u�rz|  ¡  d S d S |jd u�r‡|  ¡  w w |jdk�rÕddlm}
 |jd u�r¢t|jddd�}|
|j|j!ƒ2 z3 d H W }|jd u�r¾| t|ƒ¡ �q©tt|ƒƒ �q©6 |jd u�rÓ|  ¡  d S d S |jdk�rtddlm}	 |	|j|j|jd �2 z…3 d H W \}}}|d u�r,|j�r t|jd!ƒ�}| d"|t|ƒf ¡ W d   ƒ n	1 �sw   Y  n
td"|t|ƒf ƒ �që|d u�ro|j�r?| |j|j¡ �që|j�rRttj| ¡ tddd�ƒ �qëd}t|ƒ "d#¡D ]}|d$| 7 }||d% 7 }�q[t|ƒ �që6 d S |jd&k�rÁdd'lm#} ||j|j$|j%|j&|j'd(�I d H }|d u�r¿|j�r¤| |j|j¡ d S |j�r·ttj| ¡ tddd�ƒ d S tt|ƒƒ d S d S |jd)k�r#dd*l(m)} d+}|jdu �r×d,}|j*du �rßd-}g }|j+d u�rê|j+}g }|j,d u�rõ|j,}g }|j-d u�r |j-}||j.|j|j|j/|j0|j1|j2|j3|j4||j5|||j6|d.�I d H  d S |jd/k�r|dd0l7m8} t9ƒ }|j|_.|j|_|j:d u�rst;|j:ƒdk�rsg |_:|j:d d1k�rXd1g|_:n|j:d d2k�rf|j: <d2¡ |j:D ]	}|j: <|¡ �qi||ƒI d H  d S |jd3k�r§dd4l=m>} ||j|j?ƒI d H \}}|d u�r¡td5| ƒ d S td6ƒ d S |jd7k�rÒdd8l=m@} ||j|j?ƒI d H \}}|d u�rÌtd9| ƒ d S td:ƒ d S d S );Nr   r   rx   ry   rz   r|   r#   )r#   r†   rƒ   r0   r   )r€   r�   r‚   r£   Ú
worker_cntr9   r„   r…   r‡   rˆ   rŠ   r‹   rŒ   Tr�   r‘   r’   r“   r”   r•   r—   r7   r6   )r£   rÝ   Úaz[%s][ERROR]%sÚ
z[%s] ú
r4   )r4   )ÚsamÚsecurityÚsoftwarer:   rž   rŸ   r    r¡   )r£   r¤   r¥   r¦   r§   r¨   r©   rª   r­   r®   r¯   r°   r±   r²   r   r}   r   r   r<   r›   rœ   r�   rB   r˜   r™   rš   )Ar¶   r   r
   r¸   r¹   r   r¼   r#   r    r€   r�   r¾   r0   r‚   rÏ   rÐ   r¿   r6   rÀ   r7   rµ   rÁ   rÂ   rÃ   r    r½   rÄ   rÅ   r   rŸ   rÆ   rÇ   rÈ   rw   Úsplitr4   r5   rá   râ   rã   rÊ   r:   r¡   rË   rÌ   rÎ   r	   r¥   r¦   r§   rÑ   r©   rª   r®   Úldaprº   r~   r   r   ro   r»   rÉ   r<   r=   rB   )r   rr   rÒ   r{   r#   r×   r0   rÖ   rØ   r6   r7   rÙ   rÚ   rÂ   rÛ   ÚfÚbufferÚliner4   r:   r­   r¯   r°   r²   r~   rÔ   rl   r<   rÜ   rB   r   r   r   rn   £  sb  €




úö€€ÿ
€€ÿü€ÿ€ÿ
ÿüÿ&
ÿ€
€ë"
ù	ñ



úzSMBCMDHelper.runr”   c                 C   sà  |j r*|jr*t|j | dƒ�}tj||tddd� W d   ƒ n1 s#w   Y  �nQ|j r€|jr€t|j | ddd��<}| d dgtj	 ¡d	 ¡ |D ]#}|| j
D ]}|| j
|  ¡ D ]}| d |g| ¡d	 ¡ q]qRqKW d   ƒ n1 syw   Y  �nû|j rót|j | dƒ�^}|D ]<}| d
| ¡ || j
D ]}| dt|| j
| ƒ ¡ qœt|| jƒdkrÊ| d¡ || jD ]	}	| t|	ƒ¡ qÀqŽt|ƒdkrâ| d¡ |D ]	}
| d|
 ¡ qØW d   ƒ n1 sìw   Y  �nˆ|j�rttj|tddd�ƒ �nw|j�rÞtd dgtj	 ¡ƒ |D ]Ç}|| j
D ]}|| j
|  ¡ D ]}td |g| ¡ƒ �q'�q|| jD ]b}	|	 ¡ }|d dk�ru|d d u�rs|t|d ƒt|d ƒt|d ƒdddddt|d ƒg
}td |¡ƒ �q<|	 ¡ }|t|d ƒdddddt|d ƒt|d ƒt|d ƒdg}td |¡ƒ �q<|| jD ]6\}}t|ƒd	 d	 t |j¡¡ }t | ¡ ¡ ¡ }|| d dddddddd|g
}td |¡d	 ƒ �q¤�qn�|D ]…}td| ƒ t|| tƒ�røt|| ƒ �qà|| j
D ]}tt|| j
| ƒƒ �qýt|| jƒdk�r)tdƒ || jD ]	}	tt|	ƒƒ �qt|| jƒdk�rdtdƒ || jD ]'\}}t|ƒd	 d	 t |j¡¡ }t | ¡ ¡ ¡ }td|d |f ƒ �q<�qàt|ƒdk�r{tdƒ |D ]}
t|
ƒ �qs|j�rìtj |j¡}t  d| ¡ |D ]^}
t! "|
¡}d|t #d¡ $¡ f }||
 j% &tj ||¡¡ ||
 j
D ]}||
 j
| j'D ]}|j(D ]}| )|¡ �qÂ�q½�q³||
 jD ]}	|	j*d k�rè|	j(D ]}| )|¡ �qß�qÔ�q�d S d S )!NrÞ   rŒ   Tr�   r”   r•   ú:rÏ   rà   zFILE: ======== %s =======
rß   r   z
== Orphaned credentials ==
z!
== Failed to parse these files:
z%s
Úcredtyper,   ÚpasswordÚ
domainnamerw   Ú	masterkeyÚsha1_masterkeyÚkey_guidÚ_exception_please_reportzFILE: ======== %s =======z== Orphaned credentials ==z== Errors ==z%s %sz
==== Parsing errors:zWriting kerberos tickets to %sz%s_%s.ccacher?   )+rÂ   r    rÆ   Údumpr   ÚgreprÇ   Újoinr   Úgrep_headerÚlogon_sessionsÚto_grep_rowsrŸ   ro   Úorphaned_credsr½   rÄ   rÅ   ÚerrorsÚ	tracebackÚ	format_tbÚ__traceback__Úbase64Ú	b64encodeÚencodeÚdecodeÚ
isinstanceÚkerberos_dirÚosÚpathÚabspathr   rÓ   ÚntpathÚbasenameÚurandomÚhexÚkerberos_ccacherÃ   Úkerberos_credsÚticketsÚto_kirbirê   )r   ÚresultsÚfiles_with_errorrr   r‰   ræ   ÚresultÚluidÚrowÚcredÚfilenameÚtÚxÚpkgrØ   Úerr_strÚdirÚbase_filenameÚccache_filenameÚkcredÚticketr   r   r   r¾   m  sÎ   ÿ€ÿÿÿþ€
€
€ñ€ÿ8€: üñ€

ÿÿ
€ýôzSMBCMDHelper.process_resultsN)r”   )	r   r   r   r   rj   rs   rq   rn   r¾   r   r   r   r   r   %   s     = 6 Kr   )r  r    r  rm   r³   rN   rü   rù   Úpypykatzr   Úpypykatz.commons.commonr   Ú-pypykatz.alsadecryptor.packages.msv.decryptorr   r   rP   r   r   r   r   r   Ú<module>   s   	