
    5iN                         d dl T  G d de          Ze                    e          Z G d de          Ze                    e          ZdZd Z	ddZ
d	 Zd
S )    )*c                       e Zd ZdefgZdS )LOCALGROUP_USERS_INFO_0lgrui0_nameN__name__
__module____qualname__LPWSTR_fields_     O/home/kali/Ninja/venv/lib/python3.11/site-packages/winacl/functions/netapi32.pyr   r      s        &r   r   c                       e Zd ZdefgZdS )USER_INFO_0
usri0_nameNr   r   r   r   r   r   	   s        r   r      c                     t           j        j        }t          g|_        t
          |_        t          |_         ||            d S )N)	windllnetapi32NetApiBufferFreeHLOCALargtypesDWORDrestypeRaiseIfNotErrorSuccesserrcheck)pBuffer_NetApiBufferFrees     r   r   r      sA    _5%h#47r   c                    t           j        j        }t          t          t          t          t
          t          t          t          g|_        t          |_        t          |_
        g }d}| t                              |           }t                              |          }d}t                              t	          d                    }d}	t	          d          }
t	          d          } |||||t          |          |	t                              |
          t                              |                     t          |
j        z  }t                              t%          |j                  t                              |                    }t+          d|
j                  D ]'}|                    |j        |         j                   (t1          t%          |j                             |S )zS
	flags can be 0 or LG_INCLUDE_INDIRECT to include all indirect group memberships
	Nr   )r   r   NetUserGetLocalGroupsr   r   PVOIDLPDWORDr   r   r   r   ctypescreate_unicode_bufferpointerbyrefr   valuecast	addressofcontentsPOINTERrangeappendr   r   )server_name	user_nameflags_NetUserGetLocalGroupsmembership_goupspserver_name
puser_namelevelbufptr
prefmaxlenentriesreadtotalentrieselemsresis                  r   r"   r"   )   s    !/?$*FE5%PWY`#a #(#9 --k::,**955	

..q
"
"Qxxa--,,{,,|	 	 	 "K$5
5{{9V_--v~~e/D/DEE
;$
%
% 7 7Q#,q/56666)FO,,---r   c                 @   t           j        j        }t          t          t          t
          g|_        t          |_        t          |_	        d}d }| t                              |           }d }|t                              |          }t                              t	          d                    } |||||           t                              t          |j                  t                     }t#          |           t%          t          |j                             d S )Nr   )r   r   NetUserGetInfor   r   r$   r   r   r   r   r%   r&   r'   r*   r+   r,   PUSER_INFO_0printr   )r0   r1   _NetUserGetInfor7   r5   r6   r8   r=   s           r   r@   r@   \   s    ?1#VUG<!2	
--k::,++I66*
..q
"
"	   {{9V_--|<<s)FO,,-----r   N)r   )winacl.functions.defines	Structurer   r%   r-   PLOCALGROUP_USERS_INFO_0r   rA   LG_INCLUDE_INDIRECTr   r"   r@   r   r   r   <module>rH      s    & & & &    i    ">>*ABB     )    ~~k**   (( ( ( (f. . . . .r   