
    gbo                     ^   S SK r S SKrS SKrS SKJr  S SKJrJrJrJ	r	J
r
Jr  S SKJr  S SKJr  S SKJr  S SKJr  S SKJrJrJr  S S	KJr  S S
KJrJr  S SKrS SKrS SKJ r   S r!S r"\RF                  \RH                  \RJ                  \RL                  \RN                  \RP                  \RR                  \RT                  \RV                  \RX                  \RZ                  \R\                  \R^                  \R`                  \Rb                  \Rd                  \Rf                  \Rh                  \Rj                  \Rl                  \Rn                  \Rp                  \Rr                  \Rt                  \Rv                  \Rx                  \Rz                  /r>S r?S r@S rA\@rB\@rC\@rD\@rE\@rF\@rG\@rH\@rIS rJS rKS rL\@rMS rN\O" \5       V s/ s H  n SU ;   d  M  \P" \U 5      PM     sn rQS rRS rSS rT\@rU\@rV\@rW\@rXS rY\@rZS r[\@r\S r]S r^\@r_\@r`\@ra\@rb\@rc\@rd\@re\@rf\@rg\@rh\@ri\@rj\@rk\@rlS rmS rnS ro\@rp\@rq\@rr\@rsS  rtS! ruS" rv\@rw\@rx\@ry\@rz\@r{\@r|\@r}\@r~S# rS$ r\@rS% rS& rS' rS( rS) rS* rS+ rS, rS- rS. rS/ rS0S1/rS2 r\@rS3 rS4 rS5 rS6 rS7 rS8 rS9 rS: r\@rS; r\@r\@rS< rS= r\@rS> rS? rgs  sn f )@    N)Net)securitydrsuapinbtlsanetlogonntlmssp)netr_WorkstationInformation)dom_sid)Node)ndr_pack)CLI_CRED_NTLMv2_AUTHMUST_USE_KERBEROSDONT_USE_KERBEROS)NTSTATUSError)NT_STATUS_OBJECT_NAME_NOT_FOUNDNT_STATUS_NO_SUCH_DOMAIN)
SCOPE_BASEc                 B    [         R                  " U 5      R                  $ )N)ctypesc_uint32value)vs    ?/usr/lib/python3/dist-packages/samba/emulate/traffic_packets.pyuint32r   *   s    ??1###    c                 H    U c  g[        U R                  S   5      nX!:X  a  gg)NFr   T)r   args)runtimevalerr32s      r   check_runtime_errorr"   .   s'    7<<?#E|r   c                      [        SU -  5        g )Nz[37;41;1mWarning: %s[00m)print)messages    r   warningr&   X   s    	
2g
>?r   c                     gNF packetconversationcontexts      r   null_packetr.      s    r   c                     [        UR                  UR                  S9nUR                  UR                  R	                  S5      [
        R                  [
        R                  -  [
        R                  -  S9  g)N)credslprealm)domainflagsT)	r   r0   r1   finddcgetr   NBT_SERVER_LDAPNBT_SERVER_DSNBT_SERVER_WRITABLE)r+   r,   r-   nets       r   packet_cldap_3r;      s`    
GMMgjj
1CJJgjjnnW-))''(--.  0 r   c                 ^    UR                   R                  5       [        :X  a  [        S5        g)NzQKerberos disabled but have dcerpc Alter_context_resp indicating Kerberos was usedF)
user_credsget_kerberos_stater   r&   r*   s      r   packet_dcerpc_15r?      s,     ,,.2CC / 	0r   c                 ^    UR                   R                  5       [        :X  a  [        S5        g)NzBKerberos enabled but have dcerpc AUTH3 indicating NTLMSSP was usedF)r=   r>   r   r&   r*   s      r   packet_dcerpc_16rA      s,     ,,.2CC . 	/r   c                 f    UR                  5       u  p4[        R                  R                  X45        gNT)guess_a_dns_lookupdnsresolverquery)r+   r,   r-   namertypes        r   packet_dns_0rJ      s'    ,,.KDLLt#r   c                 &    UR                  S5        grC   )get_drsuapi_connection_pairr*   s      r   packet_drsuapi_0rM      s    ''-r   NAME_FORMATc                 j   UR                  5       u  p4[        R                  " 5       nUR                  Ul        [        R
                  " 5       nSUl        SUl        [        R                  " [        5      Ul        SUl        SUl        SUl        SUl        U/Ul        UR!                  USU5      u  pxg)Nr      i  i	     T)rL   r   DsNameStringserverstrDsNameRequest1format_flagsformat_offeredrandomchoicename_formatsformat_desiredcodepagelanguagecountnamesDsCrackNames)	r+   r,   r-   drshandler_   reqresultctrs	            r   packet_drsuapi_12rf      s    557KC  "EEI

 
 
"CCC|4CCLCLCCICI$$VQ4MVr   c                 ^   [         R                  " 5       n[         R                  Ul        SUl        UR
                  Ul        SUl        [         R                  " 5       nSR                  UR                  5      Ul        U/Ul        UR                  5       u  pVUR                  USU5      u  pxg)Nr   rQ   zfoo/{}T)r   DsWriteAccountSpnRequest1 DRSUAPI_DS_SPN_OPERATION_REPLACE	operationunknown1user_dn	object_dnr^   rR   formatusernamerT   	spn_namesrL   DsWriteAccountSpn)	r+   r,   r-   rc   spn_namera   rb   levelress	            r   packet_drsuapi_13ru      s    

+
+
-C<<CMCLOOCMCI##%H??7#3#34HLJCM779MS((C8LUr   c                 d    UR                  5       u  p4UR                  U5        UR                  S	 g)NT)rL   DsUnbinddrsuapi_connections)r+   r,   r-   ra   rb   s        r   packet_drsuapi_1rz      s/    779MSLL##B'r   c                 :   UR                   R                  [        5        UR                  R                  [        5        UR                  R                  [        5        UR
                  R                  [        5        UR                  R                  [        5        gr(   )r=   set_kerberos_stater   user_creds_badmachine_credsmachine_creds_badr0   r*   s      r   packet_kerberos_r     sn     ))*;<--.?@,,->?001BCMM$$%67r   c                 l    U R                   S   S:X  a  UR                  SSS9  gUR                  SSS9  g)N   simpleT)newr   F)extraget_ldap_connectionr*   s      r   packet_ldap_0r   0  sB    ||A("##T#:  	##U#;r   c                 "    UR                   SS 2	 g)Nrw   F)ldap_connectionsr*   s      r   packet_ldap_2r   @  s     	  %r   c                 $   U R                   u  p4pVpxn	U(       d  [        nUR                  5       n
UR                  U5      nUb  US:X  a  U[        :w  a  UR	                  XdU5      nU
R                  UU[        U5      UR                  S5      S/S9  g)N ,zpaged_results:1:1000)
expressionscopeattrscontrolsT)r   r   r   get_matching_dnguess_search_filtersearchintsplit)r+   r,   r-   r   dn_sigfilterr   r   descoidsamdbdns               r   packet_ldap_3r   G  s     8>||4UF5'')E		 	 	(B 	&B,EZ,?,,UB?	LL"5z{{3'12	  4
 r   c                 \   UR                  5       n[        R                  " 5       nUR                  SU[        R
                  5      n[        R                  " 5       n[        R                  " S5      [        R                  " S5      /n[        R                  nSn	UR                  XWXhU	5        g)Nr   This OrganizationDigest Authenticationr   T)
 get_lsarpc_named_pipe_connectionr   ObjectAttributeOpenPolicy2r   SEC_FLAG_MAXIMUM_ALLOWEDTransSidArrayStringLSA_LOOKUP_NAMES_ALLLookupNames)
r+   r,   r-   c
objectAttr
pol_handlesidsr_   rs   r^   s
             r   packet_lsarpc_14r     s    002A$$&JsJ'@@BJ DZZ+,ZZ/02E$$EEMM*T%8r   c                    UR                  5       n[        R                  " 5       nUR                  SU[        R
                  5      n[        R                  " 5       n[        R                  " 5       n[        S5      nXl	        U/Ul
        SUl        [        R                  " 5       n	[        R                  n
SnUR                  XVXU5        g)Nr   S-1-5-7rQ   r   T)r   r   r   r   r   r   SidArraySidPtrr   sidr   num_sidsTransNameArrayr   
LookupSids)r+   r,   r-   r   r   r   r   r   xr_   rs   r^   s               r   packet_lsarpc_15r     s    002A$$&JsJ'@@BJ <<>D
**,C	AGDIDM E$$EELL57r   c                 ~   UR                  5       n[        R                  " 5       nUR                  SU[        R
                  5      n[        R                  " UR                  5      nSn UR                  XVU5        g! [         a5  n[        U[        5      (       d  [        U[        5      (       d  e  S nAgS nAff = f)Nr   rQ   T)r   r   r   r   r   r   r   
domain_sidQueryTrustedDomainInfoBySidr   r"   r   r   )	r+   r,   r-   r   r   r   domsidrs   errors	            r   packet_lsarpc_39r     s     	002A$$&JsJ'@@BJ g001FE	%%j%@    #5*IJJ+E3KLLs   *A= =
B<+B77B<c                 l   UR                  5       n[        R                  " 5       n[        R                  " 5       n[	        S5      nXel        U/Ul        SUl        [        R                  " 5       n[        R                  nSn	[        R                  n
[        R                  nUR                  XGXX5        g)Nr   rQ   r   T)get_lsarpc_connectionr   r   r   r   r   r   r   TransNameArray2r   'LSA_LOOKUP_OPTION_SEARCH_ISOLATED_NAMESLSA_CLIENT_REVISION_2LookupSids3)r+   r,   r-   r   r   r   r   r_   rs   r^   lookup_optionsclient_revisions               r   packet_lsarpc_76r     s    %%'A<<>D
**,C	AGDIDM!E$$EE@@N//OMM$u^Mr   c                 0   UR                  5       n[        R                  " 5       n[        R                  " S5      [        R                  " S5      /n[        R                  nSn[        R
                  n[        R                  n	UR                  XTXgX5        g)Nr   r   r   T)r   r   TransSidArray3r   r   r   r   LookupNames4)
r+   r,   r-   r   r   r_   rs   r^   r   r   s
             r   packet_lsarpc_77r     sx    %%'A DZZ+,ZZ/02E$$EE@@N//ONN5nNr   c                 `    [        5       n UR                  SUR                  SSS9  g!    g= f)NANAME   F)timeout	broadcastT)r   
query_namerS   )r+   r,   r-   ns       r   packet_nbns_0r     s8    A	Wgnna5I s   ) -c                     UR                  5       nUR                  5       u  pE[        5       nUR                  UR                  UR
                  UUSU5        g)N   T)get_netlogon_connectionget_authenticatorr
   netr_LogonGetDomainInforS   netbios_name)r+   r,   r-   r   authsuccrG   s          r   packet_rpc_netlogon_29r   #  sV    '')A,,.LT')Egnn%22""#% r   c                 <   UR                  5       nUR                  5       u  pESnUR                  R                  5       R	                  S5      n[        U5      n[        [        R                  " Xh-
  5      5      n	[        R                  " 5       n
Xl        U	[        U5      -   U
l        UR                  R                  U
5        UR                  UR                  UR                  R!                  5       UR                  R#                  5       UR$                  UU
5        g)Ni   z	utf-16-leT)r   r   r~   get_passwordencodelenlistosurandomr   netr_CryptPasswordlengthdataencrypt_netr_crypt_passwordnetr_ServerPasswordSet2rS   get_usernameget_secure_channel_typer   )r+   r,   r-   r   r   r   DATA_LENnewpasspwd_lenfillerpwds              r   packet_rpc_netlogon_30r   2  s    '')A,,.LTH ##00299+FG'lG2::h012F

%
%
'CJW%CH55c:gnn &33@@B%33KKM%22"!# r   c                    ^ U4S jnTR                  UTR                  TR                  TR                  5      Tl        g)Nc                   > TR                  5       nU R                  5       nU R                  [        5        [	        TR
                  TR                  U 5      n[        R                  n[        R                  nSnUR                  TR                  TR                  R                  5       UUUU5        U R                  U5        g Nr   )r   r>   r|   r   samlogon_logon_infor3   r   r   $NetlogonNetworkTransitiveInformationNetlogonValidationSamInfo4netr_LogonSamLogonExrS   r~   get_workstation)r0   r   	old_statelogonlogon_levelvalidation_level
netr_flagsr-   s          r   connect'packet_rpc_netlogon_39.<locals>.connectQ  s    ++- ,,.	  !23#GNN$+$8$8$)+ CC#>>
	w~~&44DDF*$/)	+ 	  +r   Twith_random_bad_credentialsr=   r}   last_samlogon_badr+   r,   r-   r   s     ` r   packet_rpc_netlogon_39r  O  sC    ,. 	++G,3,>,>,3,B,B,3,E,E	G 
 r   c                 v   [         R                  " 5       nSUl        [         R                  " 5       n[         R                  Ul        Xl        [         R                  " 5       n[         R                  Ul        Xl        [         R                  " 5       n[         R                  Ul        XCU/Ul	        [        U5      $ )N   )r	   AV_PAIR_LISTr^   AV_PAIRMsvAvNbComputerNameAvIdValueMsvAvNbDomainNameMsvAvEOLpairr   )domain_namecomputer_nametarget_infocomputername
domainnameeols         r   samlogon_targetr  o  s    &&(KK??$L33L&"J//JO"
//
CCH"#6KK  r   c                 N   [        X5      nSnUR                  [        UUS9n[        R                  " 5       n[        U5      Ul        [        R                  " 5       Ul        [        US   5      UR                  l
        [        US   5      UR                  l        [        R                  " 5       Ul        UR                  5       u  pxXR                  R                  l        XvR                  R"                  l        UR%                  5       UR                  R&                  l        U$ )Ns   abcdefgh)r4   	challenger  nt_response)r  get_ntlm_responser   r   netr_NetworkInfor   r  netr_ChallengeResponsentr   r   r   netr_IdentityInfoidentity_infoget_ntlm_username_domainr  stringaccount_namer   workstation)	r  r  r0   target_info_blobr  responser   ro   r3   s	            r   r   r     s    &{BI&&-A1:3C ' EH %%'Ey/EO"99;EHh}56EHHOx67EHHM"446E88:X.4##*.6$$+.3.C.C.EE##*Lr   c                     UR                  5       nUR                  UR                  [        R                  [        R
                  -  [        R                  -  5        grC   )r   netr_DsrEnumerateDomainTrustsrS   r   NETR_TRUST_FLAG_IN_FORESTNETR_TRUST_FLAG_OUTBOUNDNETR_TRUST_FLAG_INBOUNDr+   r,   r-   r   s       r   packet_rpc_netlogon_40r*    sO    '')A##**))	*((	)*
 r   c                    ^ U4S jnTR                  UTR                  TR                  TR                  5      Tl        g)Nc           
        > T	R                  5       nT	R                  5       u  p#U R                  5       nU R                  [        5        [        T	R                  T	R                  U 5      n[        R                  n[        R                  nSnUR                  T	R                  T	R                  R                  5       UUUUUU5        U R                  U5        g r   )r   r   r>   r|   r   r   r3   r   r   r   r   netr_LogonSamLogonWithFlagsrS   r~   r   )
r0   r   r   r   r   r   r   r   r   r-   s
            r   r   'packet_rpc_netlogon_45.<locals>.connect  s    ++-002 ,,.	  !23#GNN$+$8$8$)+ CC#>>
	%%gnn&-&;&;&K&K&M&*&*&1&+&6&0	2 	  +r   Tr   r  s     ` r   packet_rpc_netlogon_45r/    sC    ,4 	++G,3,>,>,3,B,B,3,E,E	G 
 r   c                 D    UR                  5       nUR                  5         grC   get_samr_context
get_handler)  s       r   packet_samr_0r4          "ALLNr   c                    UR                  5       nUR                  5       nUR                  b#  UR                  UR                  5        S Ul        gUR                  b#  UR                  UR                  5        S Ul        gUR
                  b*  UR                  UR
                  5        S Ul        S Ul        gUR                  b)  UR                  UR                  5        S Ul        S Ul        grC   )	r2  get_connectionuser_handleClosegroup_handledomain_handleridsrb   r   r+   r,   r-   r   ss        r   packet_samr_1r?    s      "A	A 	}} 	  
	#	  
	$	 
 	 
		r   c                     UR                  5       nUR                  5       nUR                  c  [        XU5        UR	                  UR                  S5        gNrQ   T)r2  r7  r8  packet_samr_34QuerySecurityr=  s        r   packet_samr_3rD    sG      "A	A}}vW5OOAMM1%r   c                     UR                  5       nUR                  5       nUR                  5       n[        R                  " 5       nUR
                  Ul        UR                  XV5      Ul        grC   )	r2  r7  r3  r   r   r3   r  LookupDomainr   )r+   r,   r-   r   r>  hds          r   packet_samr_5rI    sR      "A	A	A

A~~AH>>!'ALr   c                     UR                  5       nUR                  5       nUR                  5       nUR                  USS5        gNr   T)r2  r7  r3  EnumDomainsr+   r,   r-   r   r>  rG  s         r   packet_samr_6rN    s<      "A	A	AMM!Qr   c                     UR                  5       nUR                  5       nUR                  5       nUR                  c  [	        XU5        UR                  U[        R                  UR                  5      Ul        grC   )	r2  r7  r3  r   rI  
OpenDomainr   r   r;  rM  s         r   packet_samr_7rQ    sd      "A	A	A||fG4ll1#+#D#D#$<<1AO r         c                     UR                  5       nUR                  5       nUR                  c  [        XU5        [        R
                  " [        5      nUR                  UR                  U5        grC   )r2  r7  r;  rQ  rX   rY   SAMR_QUERY_DOMAIN_INFO_LEVELSQueryDomainInfor+   r,   r-   r   r>  rs   s         r   packet_samr_8rX    sX      "A	AfG4MM78Eaoou-r   c                     UR                  5       nUR                  5       nUR                  c  [        XU5        UR	                  UR                  SS5        g)Nd   r   T)r2  r7  r;  rQ  EnumDomainAliasesr=  s        r   packet_samr_15r\  '  sK      "A	AfG4a0r   c                 4   UR                  5       nUR                  5       nUR                  c  [        XU5        [        R
                  " 5       n[        R                  " 5       nUR                  Ul        U/Ul	        UR                  UR                  U5        grC   )r2  r7  r;  rQ  r   r   r   r   r   r   GetAliasMembership)r+   r,   r-   r   r>  r   r   s          r   packet_samr_16r_  2  ss      "A	AfG4<<>D::<CllCGDI$/r   c                     UR                  5       nUR                  5       nUR                  c  [        XU5        [        R
                  " UR                  5      nUR                  UR                  U/5      Ul        grC   )	r2  r7  r;  rQ  r   r   ro   r   r<  )r+   r,   r-   r   r>  rH   s         r   packet_samr_17ra  A  sa      "A	AfG4::g&&'D]]1??TF3AFr   c                     UR                  5       nUR                  5       nUR                  c  [        XU5        / nUR                   H'  nUR                   H  nUR                  U5        M     M)     UR                  UR                  U5        grC   )r2  r7  r<  ra  idsappend
LookupRidsr;  )r+   r,   r-   r   r>  r<  ris           r   packet_samr_18rh  M  st      "A	Avv~vW5DVVAKKN   LL$'r   c                     UR                  5       nUR                  5       nUR                  c  [        XU5        SnUR	                  UR                  [
        R                  U5      Ul        g)Ni  T)r2  r7  r;  rQ  	OpenGroupr   r   r:  )r+   r,   r-   r   r>  rids         r   packet_samr_19rl  [  s^      "A	AfG4
C[[!)!B!B!$&AN r   c                     UR                  5       nUR                  5       nUR                  c  [        XU5        UR	                  UR                  5        grC   )r2  r7  r:  rl  QueryGroupMemberr=  s        r   packet_samr_25ro  i  sG      "A	A~~vW5q~~&r   c                 
   UR                  5       nUR                  5       nUR                  c  [        XU5        UR	                  UR
                  [        R                  UR                  S   R                  S   5      Ul	        grK  )
r2  r7  r<  ra  OpenUserr;  r   r   rc  r8  r=  s        r   rB  rB  s  si      "A	Avv~vW5JJq'@@ vvay}}Q/1AM r   c                     UR                  5       nUR                  5       nUR                  c  [        XU5        SnUR	                  UR                  U5        grA  )r2  r7  r8  rB  QueryUserInforW  s         r   packet_samr_36rt    sL      "A	A}}vW5EOOAMM5)r   c                     UR                  5       nUR                  5       nUR                  c  [        XU5        UR	                  UR                  5        grC   )r2  r7  r8  rB  GetGroupsForUserr=  s        r   packet_samr_39rw    sG      "A	A}}vW5q}}%r   c                 D    UR                  5       nUR                  5         grC   r1  r)  s       r   packet_samr_57ry    r5  r   c                 D    UR                  5       nUR                  5         grC   r1  r)  s       r   packet_samr_64r{    r5  r   c                 n    UR                  5       nSUR                  -   nSnSnUR                  XEU5        g)N\\zIPC$rQ   T)get_srvsvc_connectionrS   NetShareGetInfo)r+   r,   r-   r>  
server_unc
share_namers   s          r   packet_srvsvc_16r    s;    %%'A'..(JJEje4r   c                 h    UR                  5       nSUR                  -   nSnUR                  XE5        g)a  NetSrvGetInfo

FIXME: Level changed from 102 to 101 here, to bypass Windows error.

Level 102 will cause WERR_ACCESS_DENIED error against Windows, because:

    > If the level is 102 or 502, the Windows implementation checks whether
    > the caller is a member of one of the groups previously mentioned or
    > is a member of the Power Users local group.

It passed against Samba since this check is not implemented by Samba yet.

refer to:

    https://msdn.microsoft.com/en-us/library/cc247297.aspx#Appendix_A_80

r}  e   T)r~  rS   NetSrvGetInfo)r+   r,   r-   srvsvcr  rs   s         r   packet_srvsvc_21r    s6    $ **,F'..(JE
+r   )r   r   rX   	samba.netr   samba.dcerpcr   r   r   r   r   r	   samba.dcerpc.netlogonr
   samba.dcerpc.securityr   samba.netbiosr   	samba.ndrr   samba.credentialsr   r   r   sambar   samba.ntstatusr   r   dns.resolverrE   ldbr   r   r"    DRSUAPI_DS_NAME_FORMAT_FQDN_1779"DRSUAPI_DS_NAME_FORMAT_NT4_ACCOUNTDRSUAPI_DS_NAME_FORMAT_DISPLAYDRSUAPI_DS_NAME_FORMAT_GUID DRSUAPI_DS_NAME_FORMAT_CANONICAL%DRSUAPI_DS_NAME_FORMAT_USER_PRINCIPAL#DRSUAPI_DS_NAME_FORMAT_CANONICAL_EX(DRSUAPI_DS_NAME_FORMAT_SERVICE_PRINCIPAL)DRSUAPI_DS_NAME_FORMAT_SID_OR_SID_HISTORY!DRSUAPI_DS_NAME_FORMAT_DNS_DOMAIN'DRSUAPI_DS_NAME_FORMAT_UPN_AND_ALTSECID6DRSUAPI_DS_NAME_FORMAT_NT4_ACCOUNT_NAME_SANS_DOMAIN_EX2DRSUAPI_DS_NAME_FORMAT_LIST_GLOBAL_CATALOG_SERVERS$DRSUAPI_DS_NAME_FORMAT_UPN_FOR_LOGON4DRSUAPI_DS_NAME_FORMAT_LIST_SERVERS_WITH_DCS_IN_SITE&DRSUAPI_DS_NAME_FORMAT_STRING_SID_NAME3DRSUAPI_DS_NAME_FORMAT_ALT_SECURITY_IDENTITIES_NAMEDRSUAPI_DS_NAME_FORMAT_LIST_NCS#DRSUAPI_DS_NAME_FORMAT_LIST_DOMAINS&DRSUAPI_DS_NAME_FORMAT_MAP_SCHEMA_GUID3DRSUAPI_DS_NAME_FORMAT_NT4_ACCOUNT_NAME_SANS_DOMAIN!DRSUAPI_DS_NAME_FORMAT_LIST_ROLES+DRSUAPI_DS_NAME_FORMAT_LIST_INFO_FOR_SERVER6DRSUAPI_DS_NAME_FORMAT_LIST_SERVERS_FOR_DOMAIN_IN_SITE+DRSUAPI_DS_NAME_FORMAT_LIST_DOMAINS_IN_SITE+DRSUAPI_DS_NAME_FORMAT_LIST_SERVERS_IN_SITE!DRSUAPI_DS_NAME_FORMAT_LIST_SITESrZ   r&   r.   r;   packet_cldap_5packet_dcerpc_0packet_dcerpc_2packet_dcerpc_3packet_dcerpc_11packet_dcerpc_12packet_dcerpc_13packet_dcerpc_14r?   rA   rJ   packet_dns_1rM   dirgetattrNAME_FORMATSrf   ru   rz   packet_drsuapi_2packet_drsuapi_3packet_drsuapi_4packet_epm_3r   packet_ldap_r   packet_ldap_1r   r   packet_ldap_4packet_ldap_5packet_ldap_6packet_ldap_7packet_ldap_8packet_ldap_9packet_ldap_16packet_lsarpc_0packet_lsarpc_1packet_lsarpc_2packet_lsarpc_3packet_lsarpc_4packet_lsarpc_5packet_lsarpc_6r   r   r   packet_lsarpc_40packet_lsarpc_43packet_lsarpc_44packet_lsarpc_68r   r   r   packet_nbns_1packet_rpc_netlogon_0packet_rpc_netlogon_1packet_rpc_netlogon_4packet_rpc_netlogon_14packet_rpc_netlogon_15packet_rpc_netlogon_21packet_rpc_netlogon_26r   r   packet_rpc_netlogon_34r  r  r   r*  r/  r4  r?  rD  rI  rN  rQ  rU  rX  packet_samr_14r\  r_  ra  rh  rl  ro  rB  rt  packet_samr_37rw  packet_samr_40packet_samr_44ry  r{  packet_samr_68r  r  )_xs   0r   <module>r     s  $ 
    G G = )   
     $ ,,..**'',,11//4455--33BB>>00@@22??++//22??--77BB7777--7>@T       
  
  
 
 037| (| B& %$| (*      
 
	 
 
. 
        ".2  
      & 
 $ # # 
 % $ $  % 
4 % @!$6 F. "#B  
		   (s   
J*J*