Tlemcen Car electronics

Tlemcen Car electronics (https://www.tlemcen-electronic.com/forum/index.php)
-   Informatique (https://www.tlemcen-electronic.com/forum/forumdisplay.php?f=10)
-   -   Checksum ?? Explication —> (https://www.tlemcen-electronic.com/forum/showthread.php?t=77200)

Memed bubba 18/09/2018 22h48

Checksum ?? Explication —>
 
Salut tous le monde , j’ai trouver sur un forum un tuto qui explique le CRC. Je me suis dit que sa pourrais aider certain.
( je répète ce n’est pas moi qui a écris ce texte ) :)

Un petit guide pour expliquer ce qu’est un checksum Ver1.1

Avertissement et mise en garde :

A l’attention de l’apprenti flasheur et bidouilleur.

Avant de commencer il faut savoir que :
- Tout véhicule homologué par les services en la compétence, perd son homologation en cas de modifications exécutées sur ce véhicule !
- Quelque soit la nature de ces modifications, si les caractéristiques du véhicule sont changées, le véhicule n’est plus homologué pour un usage routier.

Il perd donc de droit :
- La garantie constructeur
- Un droit de réserve de l’assurance à assurer le véhicule.

De plus, le forum, le site et ses auteurs ne sont en rien responsable des dégâts personnels ou tiers occasionnés par le mauvaise usage de ce document. Vous êtes pleinement responsable de vos actes et en êtes averti.

Ces informations sont destinées à un usage pédagogique.

Le forum et ses auteurs se dégagent de toutes responsabilités de ce que vous pourriez faire des infos et documents présents sur le site.

On peut commencer :

Je vous recommande de lire l’article sur les bases de la programmation d’ECU avant de lire celui-ci, car nous traitons ici l’une des phases du protocole de cette article.

Le checksum est une sorte de signature numérique qui valide l’intégrité d’un fichier contenant des données numériques (pas de panique, cela va devenir plus simple ensuite !).

Imaginons que vous devez écrire un message à quelqu’un, mais que vous ne pouvez pas lui donner en main propre. Bien évidement, cette information très importance qui doit arriver au plus vite, sera porté par un messagé !

Sur un papier, vous écrivez :

’’Le roi est vivant’’

Comment être sûr que lorsque le message sera lu par le destinataire, il n’aura pas subit de transformations par une personne mal intentionné, et sera devenu :

’’Le roi n’est pas vivant’’

????????????????????????? Question

Bien sûr des seaux et des cachets de cire ont vite vu le jour pour attester de la validité de la source, comme les protections et verrouillages de nos chers calculateurs des centaines d’années plus tard.

Bien sûr, ceux-ci (toute générations confondues), ont leurs limites car, comme nos appareils sophistiqués arrivent à se jouer des protections qui intègrent les ECU, à l’époque les faussaires avaient aussi leurs outils pour accéder aux informations contenues sur le document (des seaux en boot mode ) .

Mais acceder aux données, se trouvant sur le papier où l’ECU, est une chose, les modifier de façon discrète en est une autre.

Se rendant vite compte que les informations pouvaient être modifiées par une tierce personne, il fut nécessaire de protéger, non pas le document en lui-même, mais les informations se trouvant dessus ou dedans.

Il fut alors inventé énormément de cryptages de données afin que seul le lecteur final puisse s’assurer de la validité des informations se trouvant sur le document.

Exemple pratique :

Dans le message original, il peut intégrer une valeur numérique égale au nombre de lettres se trouvant dans le message tel que :

’’Le roi est vivant’’ (’’1L2e 3r4o5i 6e7s8t 9v10i11v12a13n14t’’) 14

Si, en réception, il reçoit :

’’Le roi n’est pas vivant’’ 14

Il est évident que le message n’est pas valide. Bien sûr il n’est pas difficile de comprendre que le codage est la somme des lettres qui a était utilisé et de faire alors :

’’Le roi n’est pas vivant’’ 19 (l’apostrophe compte)

A ce moment, le lecteur final ne déterminera pas la supercherie.

Et bien c’est ni plus ni moins ce que l’on fait lorsque le checksum est recalculé lors des modifications des données dans nos ECU.

J’ entends déjà les mauvaises langues dire : ’’ben si il suffit de compter les changements, y a pas à faire de chichis, les mecs du forum ils se la pètent pour pas grand chose !! ’’

Si l’exemple du dessus est fort simple, c’est purement dans un but pédagogique.

Dans la réalité, les données sont en hexadécimales, l’algorithme (ensemble de formules et équations mathématique) de codage est bien plus complexe et non connu.

Il faut donc décoder les valeurs hexadécimales, et pour cela il faut les trouver !!!

Donc :

- 1 Il faut identifier et localiser les différentes valeurs à changer.
- 2 Changer ces valeurs.
- 3 Localiser l’adresse du checksum.
- 4 Lire la valeur du checksum présent.
- 5 Trouver l’ algorithme qui a servi à encoder le checksum.
- 6 Fabriquer l’algorithme qui calculera le checksum.
- 7 Recoder le checksum avec les nouvelles valeurs.

Pour ceux qui trouvent que cela est facile : Il suffira simplement de remplacer chaque lettre du message ’’Le roi est vivant’’ par sa valeur numérique de position dans l’ alphabet, de les convertir en Hexadécimal puis dans faire une simple somme de la totalité des valeurs obtenues pour se rendre compte que pour un codage qui est TRÈS simple, on passe un sacré bout de temps !!

Vous devez donc chercher comment les programmeurs ont mis au point l’ algorithme pour le codage du checksum. Seul des mathématiciens/programmeurs de softs érudits peuvent prétendre éffectuer de telles recherches.

Quels risques si le checksum n’est pas valide ?

Cela dépend du modèle du véhicule. Bien souvent le moteur ne démarrera pas, simplement.

Si vous désirez apporter des informations supplémentaires, des corrections, un lien, autre......

je ferais évoluer ce post en fonction de ce que vous me ferez parvenir.




Envoyé de mon iPhone en utilisant Tapatalk

nany 19/09/2018 11h38

De la simplicité nait la complexité !
Bravo pour se petit cours trés instructif .

jo-11 21/09/2018 17h36

Merci ce fut tres intéressant.

Mohamedali27 21/11/2018 20h14

Magnifique Explications
 
Cette article était tellement bien que j'avais hâte de le finir pour pouvoir le relire.

Merci pour ces explications simple et précise à la fois.


Fuseau horaire GMT +1. Il est actuellement 07h59.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Version française #23 par l'association vBulletin francophone
Tlemcen-electronic © All right reserved