a
    kÄ#d/'  ã                   @   sæ  d dl mZmZmZmZmZmZmZmZm	Z	m
Z
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+ d dl,m-Z- d dl.m/Z/m0Z0 d dl1m2Z2 e2 3e¡dd„ ƒZ4e2 3e¡dd„ ƒZ5e2 3e¡d	d
„ ƒZ6e2 3e¡dd„ ƒZ7e2 3e¡dd„ ƒZ8e2 3e¡dd„ ƒZ9e2 3e¡dd„ ƒZ:e2 3e¡dd„ ƒZ;e2 3e¡dd„ ƒZ<e2 3e¡dd„ ƒZ=e2 3e)¡dd„ ƒZ>e2 3e*¡dd„ ƒZ?e2 3e'¡dd„ ƒZ@e2 3e(¡dd „ ƒZAe2 3e¡d!d"„ ƒZBe2 3e¡d#d$„ ƒZCe2 3e$¡d%d&„ ƒZDe2 3e¡d'd(„ ƒZEe2 3e%¡d)d*„ ƒZFe2 3e¡d+d,„ ƒZGe2 3e&¡d-d.„ ƒZHe2 3e¡d/d0„ ƒZIe2 3e¡d1d2„ ƒZJe2 3e¡d3d4„ ƒZKe2 3e¡d5d6„ ƒZLe2 3e¡d7d8„ ƒZMe2 3e¡d9d:„ ƒZNe2 3e¡d;d<„ ƒZOe2 3e¡d=d>„ ƒZPe2 3e¡d?d@„ ƒZQe2 3e
¡dAdB„ ƒZRe2 3e¡dCdD„ ƒZSe2 3e¡dEdF„ ƒZTe2 3e+¡dGdH„ ƒZUe2 3e¡dIdJ„ ƒZVe2 3e	¡dKdL„ ƒZWe2 3e ¡dMdN„ ƒZXe2 3e!¡dOdP„ ƒZYe2 3e¡dQdR„ ƒZZe2 3e"¡dSdT„ ƒZ[e2 3e#¡dUdV„ ƒZ\e2 3e¡dWdX„ ƒZ]e2 3e¡dYdZ„ ƒZ^d[S )\é    )+Ú	UDS_DSCPRÚUDS_ERPRÚUDS_SAPRÚUDS_CCPRÚUDS_TPPRÚUDS_DSCÚUDS_ERÚUDS_RDPRÚUDS_TDPRÚUDS_RDÚUDS_TDÚUDS_CCÚUDS_NRÚUDS_SAÚ
UDS_RDBIPRÚUDS_LCÚUDS_RCÚUDS_TPÚUDS_RUÚUDS_IOCBIPRÚ
UDS_WDBIPRÚUDS_CDTCIPRÚ	UDS_CDTCIÚUDS_RDTCIPRÚ	UDS_RDTCIÚ
UDS_RMBAPRÚ
UDS_WMBAPRÚUDS_WMBAÚUDS_LCPRÚUDS_RCPRÚUDS_RFTÚUDS_RTEÚ	UDS_RTEPRÚ	UDS_RFTPRÚ	UDS_IOCBIÚUDS_RDBIÚUDS_RMBAÚUDS_WDBIÚ	UDS_CDTCSÚUDS_CDTCSPRÚUDS_SDTÚ	UDS_SDTPRÚUDS_RUPR)ÚPacket)ÚTupleÚAny)ÚEcuc                 C   s   |   d¡|   d¡fS )Nú%UDS.service%z%UDS_DSC.diagnosticSessionType%©Úsprintf©Úself© r6   ú[/var/www/html/gsl.tools/lib/python3.9/site-packages/scapy/contrib/automotive/uds_logging.pyÚUDS_DSC_get_log   s    ÿr8   c                 C   s   |   d¡|   d¡fS )Nr1   z!%UDS_DSCPR.diagnosticSessionType%r2   r4   r6   r6   r7   ÚUDS_DSCPR_get_log   s    ÿr9   c                 C   s   |   d¡|   d¡fS ©Nr1   z%UDS_ER.resetType%r2   r4   r6   r6   r7   ÚUDS_ER_get_log#   s    ÿr;   c                 C   s   |   d¡|   d¡fS r:   r2   r4   r6   r6   r7   ÚUDS_ERPR_get_log*   s    ÿr<   c                 C   s<   | j d dkr"|  d¡| j d ffS |  d¡| j | jffS d S )Né   é   r1   )ÚsecurityAccessTyper3   ZsecurityKeyr4   r6   r6   r7   ÚUDS_SA_get_log1   s    ÿ
ÿr@   c                 C   s<   | j d dkr"|  d¡| j d ffS |  d¡| j | jffS d S )Nr=   r   r1   )r?   r3   ZsecuritySeedr4   r6   r6   r7   ÚUDS_SAPR_get_log<   s    ÿ
ÿrA   c                 C   s   |   d¡|   d¡fS )Nr1   z%UDS_CC.controlType%r2   r4   r6   r6   r7   ÚUDS_CC_get_logG   s    ÿrB   c                 C   s   |   d¡|   d¡fS )Nr1   z%UDS_CCPR.controlType%r2   r4   r6   r6   r7   ÚUDS_CCPR_get_logN   s    ÿrC   c                 C   s   |   d¡| jfS ©Nr1   )r3   ZsubFunctionr4   r6   r6   r7   ÚUDS_TP_get_logU   s    rE   c                 C   s   |   d¡| jfS rD   )r3   ZzeroSubFunctionr4   r6   r6   r7   ÚUDS_TPPR_get_log[   s    rF   c                 C   s   |   d¡| jfS rD   )r3   ZsecurityDataRequestRecordr4   r6   r6   r7   ÚUDS_SDT_get_loga   s    rG   c                 C   s   |   d¡| jfS rD   )r3   ZsecurityDataResponseRecordr4   r6   r6   r7   ÚUDS_SDTPR_get_logg   s    rH   c                 C   s   |   d¡|   d¡fS )Nr1   z%UDS_CDTCS.DTCSettingType%r2   r4   r6   r6   r7   ÚUDS_CDTCS_get_logm   s    ÿrI   c                 C   s   |   d¡|   d¡fS )Nr1   z%UDS_CDTCSPR.DTCSettingType%r2   r4   r6   r6   r7   ÚUDS_CDTCSPR_get_logt   s    ÿrJ   c                 C   s   |   d¡|   d¡fS ©Nr1   z%UDS.linkControlType%r2   r4   r6   r6   r7   ÚUDS_LC_get_log{   s    ÿrL   c                 C   s   |   d¡|   d¡fS rK   r2   r4   r6   r6   r7   ÚUDS_LCPR_get_log‚   s    ÿrM   c                 C   s   |   d¡|   d¡fS )Nr1   z%UDS_RDBI.identifiers%r2   r4   r6   r6   r7   ÚUDS_RDBI_get_log‰   s    ÿrN   c                 C   s   |   d¡|   d¡fS )Nr1   z%UDS_RDBIPR.dataIdentifier%r2   r4   r6   r6   r7   ÚUDS_RDBIPR_get_log�   s    ÿrO   c                 C   s*   |   d¡t| d| j ƒt| d| j ƒffS )Nr1   úmemoryAddress%dúmemorySize%d)r3   ÚgetattrÚmemoryAddressLenÚmemorySizeLenr4   r6   r6   r7   ÚUDS_RMBA_get_log—   s
    ÿÿrU   c                 C   s   |   d¡| jfS rD   )r3   Ú
dataRecordr4   r6   r6   r7   ÚUDS_RMBAPR_get_logŸ   s    rW   c                 C   s   |   d¡|   d¡fS )Nr1   z%UDS_WDBI.dataIdentifier%r2   r4   r6   r6   r7   ÚUDS_WDBI_get_log¥   s    ÿrX   c                 C   s   |   d¡|   d¡fS )Nr1   z%UDS_WDBIPR.dataIdentifier%r2   r4   r6   r6   r7   ÚUDS_WDBIPR_get_log¬   s    ÿrY   c                 C   s6   t | d| j ƒ}t | d| j ƒ}|  d¡||| jffS ©NrP   rQ   r1   )rR   rS   rT   r3   rV   ©r5   ÚaddrÚsizer6   r6   r7   ÚUDS_WMBA_get_log³   s    r^   c                 C   s2   t | d| j ƒ}t | d| j ƒ}|  d¡||ffS rZ   ©rR   rS   rT   r3   r[   r6   r6   r7   ÚUDS_WMBAPR_get_log»   s    r`   c                 C   s   |   d¡| j| j| jffS rD   )r3   ZgroupOfDTCHighByteZgroupOfDTCMiddleByteZgroupOfDTCLowByter4   r6   r6   r7   ÚUDS_CDTCI_get_logÃ   s
    ÿÿra   c                 C   s   |   d¡d fS rD   r2   r4   r6   r6   r7   ÚUDS_CDTCIPR_get_logË   s    rb   c                 C   s   |   d¡t| ƒfS rD   ©r3   Úreprr4   r6   r6   r7   ÚUDS_RDTCI_get_logÑ   s    re   c                 C   s   |   d¡t| ƒfS rD   rc   r4   r6   r6   r7   ÚUDS_RDTCIPR_get_log×   s    rf   c                 C   s   |   d¡| j| jffS rD   ©r3   ZroutineControlTypeZroutineIdentifierr4   r6   r6   r7   ÚUDS_RC_get_logÝ   s
    ÿÿrh   c                 C   s   |   d¡| j| jffS rD   rg   r4   r6   r6   r7   ÚUDS_RCPR_get_logå   s
    ÿÿri   c                 C   s2   t | d| j ƒ}t | d| j ƒ}|  d¡||ffS rZ   r_   r[   r6   r6   r7   ÚUDS_RD_get_logí   s    rj   c                 C   s   |   d¡| jfS rD   ©r3   rT   r4   r6   r6   r7   ÚUDS_RDPR_get_logõ   s    rl   c                 C   s2   t | d| j ƒ}t | d| j ƒ}|  d¡||ffS rZ   r_   r[   r6   r6   r7   ÚUDS_RU_get_logû   s    rm   c                 C   s   |   d¡| jfS rD   rk   r4   r6   r6   r7   ÚUDS_RUPR_get_log  s    rn   c                 C   s   |   d¡| j| jffS rD   )r3   ÚblockSequenceCounterÚtransferRequestParameterRecordr4   r6   r6   r7   ÚUDS_TD_get_log	  s    
ÿrq   c                 C   s   |   d¡| jfS rD   )r3   ro   r4   r6   r6   r7   ÚUDS_TDPR_get_log  s    rr   c                 C   s   |   d¡| jfS rD   )r3   rp   r4   r6   r6   r7   ÚUDS_RTE_get_log  s    ÿrs   c                 C   s   |   d¡| jfS rD   )r3   ZtransferResponseParameterRecordr4   r6   r6   r7   ÚUDS_RTEPR_get_log  s    ÿrt   c                 C   s   |   d¡| jfS rD   ©r3   ZmodeOfOperationr4   r6   r6   r7   ÚUDS_RFT_get_log$  s    ÿrv   c                 C   s   |   d¡| jfS rD   ru   r4   r6   r6   r7   ÚUDS_RFTPR_get_log+  s    ÿrw   c                 C   s   |   d¡| jfS rD   ©r3   ZdataIdentifierr4   r6   r6   r7   ÚUDS_IOCBI_get_log2  s    ry   c                 C   s   |   d¡| jfS rD   rx   r4   r6   r6   r7   ÚUDS_IOCBIPR_get_log8  s    rz   c                 C   s   |   d¡|   d¡|   d¡ffS )Nr1   z%UDS_NR.requestServiceId%z%UDS_NR.negativeResponseCode%r2   r4   r6   r6   r7   ÚUDS_NR_get_log>  s
    ÿÿr{   N)_Zscapy.contrib.automotive.udsr   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   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   Zscapy.packetr-   Zscapy.compatr.   r/   Zscapy.contrib.automotive.ecur0   Zextend_pkt_with_loggingr8   r9   r;   r<   r@   rA   rB   rC   rE   rF   rG   rH   rI   rJ   rL   rM   rN   rO   rU   rW   rX   rY   r^   r`   ra   rb   re   rf   rh   ri   rj   rl   rm   rn   rq   rr   rs   rt   rv   rw   ry   rz   r{   r6   r6   r6   r7   Ú<module>	   s²   ´











































