a
    ½Í`7  ã                   @   s    d dl Z d dlmZ dd„ ZdS )é    N)Úto_bytesc           
   
   C   sL  |d }|   |dg¡ |d }|  || |d ¡ |   |d¡ |  d¡ t|dƒ ¡ }t|ƒd dkrt|tdƒ7 }qV|  t|ƒd¡ |  d¡ t|ƒdkr¢td	ƒ‚|  |¡ |  d¡ t	j
jd
dd}dd„ |j_z| ddd|d¡ W n2 t	j
jy } zt|ƒ W Y d }~n
d }~0 0 |  d¡}	|	tddƒkrHtd |	 ¡ ¡ƒ‚d S )NéP   i 
 é   r   éà   Zrbé   i 
  zpayload too largei  é   )ZidVendorZ	idProductc                  _   s   d S )N© )ÚargsÚkwargsr   r   ú.D:\UnbrickRN8ProNoAuth\4.Bypass\src\exploit.pyÚ<lambda>#   ó    zexploit.<locals>.<lambda>é¡   l   ¤#EC z'received {} instead of expected pattern)Úwrite32Úread32ÚechoÚopenÚreadÚlenr   ÚRuntimeErrorÚwriteÚusbZcoreÚfindZ_ctxZmanaged_claim_interfaceZctrl_transferZUSBErrorÚprintÚformatÚhex)
ÚdeviceÚwatchdog_addressÚvar_0Úvar_1ÚpayloadÚaddrZreadlZudevÚeÚpatternr   r   r   Úexploit   s0    




r$   )r   Ú
src.commonr   r$   r   r   r   r   Ú<module>   s   