a
    kÄ#d  ã                   @   sp  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 d dlmZ d dlmZmZ d dl m!Z! e! "e¡dd„ ƒZ#e! "e¡dd„ ƒZ$e! "e¡d	d
„ ƒZ%e! "e¡dd„ ƒZ&e! "e¡dd„ ƒZ'e! "e¡dd„ ƒZ(e! "e¡dd„ ƒZ)e! "e¡dd„ ƒZ*e! "e¡dd„ ƒZ+e! "e¡dd„ ƒZ,e! "e¡dd„ ƒZ-e! "e¡dd„ ƒZ.e! "e¡dd„ ƒZ/e! "e¡dd „ ƒZ0e! "e¡d!d"„ ƒZ1e! "e	¡d#d$„ ƒZ2e! "e¡d%d&„ ƒZ3e! "e¡d'd(„ ƒZ4e! "e¡d)d*„ ƒZ5e! "e¡d+d,„ ƒZ6e! "e
¡d-d.„ ƒZ7e! "e¡d/d0„ ƒZ8e! "e¡d1d2„ ƒZ9e! "e¡d3d4„ ƒZ:e! "e¡d5d6„ ƒZ;e! "e¡d7d8„ ƒZ<d9S ):é    )ÚGMLAN_SAÚ	GMLAN_IDOÚGMLAN_DCÚGMLAN_NRÚGMLAN_RDÚGMLAN_TDÚ
GMLAN_DCPRÚ
GMLAN_DPBAÚGMLAN_DPBAPRÚGMLAN_RPSPRÚ	GMLAN_RDIÚ
GMLAN_WDBIÚGMLAN_WDBIPRÚGMLAN_PMÚ
GMLAN_SAPRÚ
GMLAN_RDBIÚGMLAN_RDBIPRÚGMLAN_RDBPIÚGMLAN_RDBPIPRÚGMLAN_RDBPKTIÚ
GMLAN_RFRDÚGMLAN_RFRDPRÚ
GMLAN_RMBAÚGMLAN_RMBAPRÚ	GMLAN_DDMÚGMLAN_DDMPR)ÚPacket)ÚTupleÚAny)ÚEcuc                 C   s   |   d¡|   d¡fS )Nú%GMLAN.service%z%GMLAN_IDO.subfunction%©Úsprintf©Úself© r%   ú`/var/www/html/gsl.tools/lib/python3.9/site-packages/scapy/contrib/automotive/gm/gmlan_logging.pyÚGMLAN_IDO_get_log   s    ÿr'   c                 C   s   |   d¡|   d¡fS )Nr    z%GMLAN_RFRD.subfunction%r!   r#   r%   r%   r&   ÚGMLAN_RFRD_get_log   s    ÿr(   c                 C   s   |   d¡|   d¡fS )Nr    z%GMLAN_RFRDPR.subfunction%r!   r#   r%   r%   r&   ÚGMLAN_RFRDPR_get_log"   s    ÿr)   c                 C   s   |   d¡|   d¡fS )Nr    z%GMLAN_RDBI.dataIdentifier%r!   r#   r%   r%   r&   ÚGMLAN_RDBI_get_log)   s    ÿr*   c                 C   s   |   d¡|   d¡t| jƒffS )Nr    z%GMLAN_RDBIPR.dataIdentifier%)r"   ÚbytesÚloadr#   r%   r%   r&   ÚGMLAN_RDBIPR_get_log0   s
    ÿÿr-   c                 C   s   |   d¡|   d¡fS )Nr    z%GMLAN_RDBPI.identifiers%r!   r#   r%   r%   r&   ÚGMLAN_RDBPI_get_log8   s    ÿr.   c                 C   s   |   d¡|   d¡fS )Nr    z#%GMLAN_RDBPIPR.parameterIdentifier%r!   r#   r%   r%   r&   ÚGMLAN_RDBPIPR_get_log?   s    ÿr/   c                 C   s   |   d¡|   d¡fS )Nr    z%GMLAN_RDBPKTI.subfunction%r!   r#   r%   r%   r&   ÚGMLAN_RDBPKTI_get_logF   s    ÿr0   c                 C   s   |   d¡|   d¡fS )Nr    z%GMLAN_RMBA.memoryAddress%r!   r#   r%   r%   r&   ÚGMLAN_RMBA_get_logM   s    ÿr1   c                 C   s   |   d¡|   d¡| jffS )Nr    z%GMLAN_RMBAPR.memoryAddress%©r"   Ú
dataRecordr#   r%   r%   r&   ÚGMLAN_RMBAPR_get_logT   s    ÿr4   c                 C   s<   | j d dkr"|  d¡| j d ffS |  d¡| j | jffS d S )Né   é   r    )Úsubfunctionr"   ZsecurityKeyr#   r%   r%   r&   ÚGMLAN_SA_get_log[   s    ÿ
ÿr8   c                 C   s<   | j d dkr"|  d¡| j d ffS |  d¡| j | jffS d S )Nr5   r   r    )r7   r"   ZsecuritySeedr#   r%   r%   r&   ÚGMLAN_SAPR_get_logf   s    ÿ
ÿr9   c                 C   s   |   d¡|   d¡| jffS )Nr    z%GMLAN_DDM.DPIDIdentifier%)r"   ZPIDDatar#   r%   r%   r&   ÚGMLAN_DDM_get_logq   s    ÿr:   c                 C   s   |   d¡|   d¡fS )Nr    z%GMLAN_DDMPR.DPIDIdentifier%r!   r#   r%   r%   r&   ÚGMLAN_DDMPR_get_logx   s    ÿr;   c                 C   s   |   d¡| j| j| jffS ©Nr    )r"   ÚparameterIdentifierZmemoryAddressÚ
memorySizer#   r%   r%   r&   ÚGMLAN_DPBA_get_log   s    ÿr?   c                 C   s   |   d¡| jfS r<   )r"   r=   r#   r%   r%   r&   ÚGMLAN_DPBAPR_get_log†   s    r@   c                 C   s   |   d¡| j| jffS r<   )r"   ZdataFormatIdentifierr>   r#   r%   r%   r&   ÚGMLAN_RD_get_logŒ   s    
ÿrA   c                 C   s   |   d¡|   d¡| j| jffS )Nr    z%GMLAN_TD.subfunction%)r"   ZstartingAddressr3   r#   r%   r%   r&   ÚGMLAN_TD_get_log“   s
    ÿÿrB   c                 C   s   |   d¡|   d¡| jffS )Nr    z%GMLAN_WDBI.dataIdentifier%r2   r#   r%   r%   r&   ÚGMLAN_WDBI_get_log›   s    ÿrC   c                 C   s   |   d¡|   d¡fS )Nr    z%GMLAN_WDBIPR.dataIdentifier%r!   r#   r%   r%   r&   ÚGMLAN_WDBIPR_get_log¢   s    ÿrD   c                 C   s   |   d¡|   d¡fS )Nr    z%GMLAN_RPSPR.programmedState%r!   r#   r%   r%   r&   ÚGMLAN_RPSPR_get_log©   s    ÿrE   c                 C   s   |   d¡|   d¡fS )Nr    z%GMLAN_PM.subfunction%r!   r#   r%   r%   r&   ÚGMLAN_PM_get_log°   s    ÿrF   c                 C   s   |   d¡|   d¡fS )Nr    z%GMLAN_RDI.subfunction%r!   r#   r%   r%   r&   ÚGMLAN_RDI_get_log·   s    ÿrG   c                 C   s   |   d¡|   d¡fS )Nr    z%GMLAN_DC.CPIDNumber%r!   r#   r%   r%   r&   ÚGMLAN_DC_get_log¾   s    ÿrH   c                 C   s   |   d¡|   d¡fS )Nr    z%GMLAN_DCPR.CPIDNumber%r!   r#   r%   r%   r&   ÚGMLAN_DCPR_get_logÅ   s    ÿrI   c                 C   s   |   d¡|   d¡|   d¡ffS )Nr    z%GMLAN_NR.requestServiceId%z%GMLAN_NR.returnCode%r!   r#   r%   r%   r&   ÚGMLAN_NR_get_logÌ   s
    ÿÿrJ   N)=Z!scapy.contrib.automotive.gm.gmlanr   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.ecur   Zextend_pkt_with_loggingr'   r(   r)   r*   r-   r.   r/   r0   r1   r4   r8   r9   r:   r;   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   r%   r%   r%   r&   Ú<module>
   sn   p













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