Voir la version complète : Analyse de dump via éditeur hexadécimal
mirak5910
04/08/2015, 13h19
Bonjour,
J'ai une question assez simple : est-il possible de décrypter le code pin d'un dump de n'importe quelle marque de voiture à l'aide d'un simple éditeur hexadécimal (style HxD) ou est-ce que cela passe nécessairement par des logiciels de décryptage spécifiques aux constructeurs ?
Il semblerait qu'immokiller le fasse mais ça me semble limité en termes de variétés de véhicules.
Merci beaucoup pour votre éclairage !
angels59
04/08/2015, 15h28
Bonjour mirak5910
Oui parfois un simple lecteur hexa suffit a voir le code pin en swappant les bits et pour d'autres soft oblige :)
cdlt
rosaire974
04/08/2015, 16h07
Bonjour mirak5910
Oui parfois un simple lecteur hexa suffit a voir le code pin en swappant les bits et pour d'autres soft oblige :)
cdlt
bjr!! qu'est ce que tu veut dire par " en swappant les bit " je comprend bien le terme pourrait tu m'expliquer
c'est une question d'algorithme, si tu les connais tous, pour chaque marque / modele /annee... alors oui tu pourras le faire manuellement.
Pour certains c'est juste un decalage ou swap de bits et pour d'autres c'est beaucoup plus complexe.
donc le soft qui les regrouperas tous sera le meilleur sur le marché.
diagnosis29
04/08/2015, 16h14
bjr!! qu'est ce que tu veut dire par " en swappant les bit " je comprend bien le terme pourrait tu m'expliquer
tu dois inverser les bit pour décoder dans certains cas pour rendre les infos visibles sur PSA
exemple ici avec le logiciel " Hex Edit "
http://img15.hostingpics.net/pics/115352screenshothexedit.jpg (http://www.hostingpics.net/viewer.php?id=115352screenshothexedit.jpg)
c'est une question d'algorithme, si tu les connais tous, pour chaque marque / modele /annee... alors oui tu pourras le faire manuellement.
Pour certains c'est juste un decalage ou swap de bits et pour d'autres c'est beaucoup plus complexe.
donc le soft qui les regrouperas tous sera le meilleur sur le marché.
Un exemple fantaisiste vaudra toutes les explications,
disons que les octets utilisés du modele concernés se trouvent a l'adresse
0x2A,0x2B,0x2C,0x2D et qu'a ces adresses nous ayons les valeurs suivantes
0x85, 0xC2, 0x55, 0xDA on swap les octets comme cela 2 - 1 - 4 - 3
on se retrouve avec 0xC2, 0x85, 0xDA, 0x55
on fait un XOR 0xAA sur chaque octet puis on convertit les valeurs en decimal, on multiplie le tout, on recupere les 6 derniers en immaginant que ces 6 valeurs soient le code recherché
0xC2 xor 0xAA = 104 (en decimal)
0x85 xor 0xAA = 47
0xDA xor 0xAA = 112
0x55 xor 0xAA = 255
104 * 47 * 112 * 255 = 139601280
Resultat = 601280
Voila un algo factice pour l'exemple, en esperant que ce soit simple et clair.
diagnosis29
04/08/2015, 16h34
Un exemple fantaisiste vaudra toutes les explications,
disons que les octets utilisés du modele concernés se trouvent a l'adresse
0x2A,0x2B,0x2C,0x2D et qu'a ces adresses nous ayons les valeurs suivantes
0x85, 0xC2, 0x55, 0xDA on swap les octets comme cela 2 - 1 - 4 - 3
on se retrouve avec 0xC2, 0x85, 0xDA, 0x55
on fait un XOR 0xAA sur chaque octet puis on convertit les valeurs en decimal, on multiplie le tout, on recupere les 6 derniers en immaginant que ces 6 valeurs soient le code recherché
0xC2 xor 0xAA = 104 (en decimal)
0x85 xor 0xAA = 47
0xDA xor 0xAA = 112
0x55 xor 0xAA = 255
104 * 47 * 112 * 255 = 139601280
Resultat = 601280
Voila un algo factice pour l'exemple, en esperant que ce soit simple et clair.
Bravo !
j'ai mal a la tete maintenant !
Lol. desolé diagnosis ;)
c'est un algo pour l'exemple que j'ai inventé en redigant la reponse. tres simpliste.
Un reproche que je pourrais faire a ce forum c'est le manque d'explications
et d'informations sur les outils et softs que beaucoup utilisent sans comprendre ce qu'ils font ni ce qui se passe.
angels59
04/08/2015, 16h59
Bonjour MrRorry
Merci beaucoup pour ton explication,mais j'en ai mal à la tête également lol tous comme notre ami diagnosis29 :)
Mais il est vrai que de comprendre le language algo est assez difficile et que de l'expliquer comme tu le fait reste très instructif ;)
cdlt
C'est pas du tout évident car les codes PIn sont souvent codés dans le dump
Par exemple sur EDC15C2, le PIN est stocké à 3 adresses en début de dump dans l'eeprom
On trouve le 1er à l'adresse 0x200.
il faut faire un swap des 4 octets et ensuite faire l'opération "xor" avec la clé de cryptage "7F63FE1B"
Ca te donne 4 octets qu'il faut ensuite re-swapper puis passer en ASCII et ça donne le code PIN
Et forcément la clé de cryptage du code est différente pour les deux autres adresses mais avec un peu de logique et l'info que je vient de vous donner, on les retrouve !
Sinon, il y a plusieurs softs qui le font très facilement...
C'est pas du tout évident car les codes PIn sont souvent codés dans le dump
Par exemple sur EDC15C2, le PIN est stocké à 3 adresses en début de dump dans l'eeprom
On trouve le 1er à l'adresse 0x200.
il faut faire un swap des 4 octets et ensuite faire l'opération "xor" avec la clé de cryptage "7F63FE1B"
Ca te donne 4 octets qu'il faut ensuite re-swapper puis passer en ASCII et ça donne le code PIN
Et forcément la clé de cryptage du code est différente pour les deux autres adresses mais avec un peu de logique et l'info que je vient de vous donner, on les retrouve !
Sinon, il y a plusieurs softs qui le font très facilement...
Voila un exemple concret pour completer tout ca.
Tu peux nous mettre l'exemple complet? (octets + code pin final en ascii)
comme ca on abordera un peu la "cryptanalyse".
Voila un exemple concret pour completer tout ca.
Tu peux nous mettre l'exemple complet? (octets + code pin final en ascii)
comme ca on abordera un peu la "cryptanalyse".
Je vais essayer de vous mettre ça au propre prochainement
C'est du reverse engineering couplé à de la cryptographie !
C'est très intéressant de trouver l'algorithme de cryptage mais ça donne parfois mal au crâne !
Regardez le film "imitation game"
Cool. meme si tu en as deja dis pas mal sur le codage,
ce devrait etre marrant d'analyser ca et devoir retrouver la formule.
donc avec les valeurs en question et le code pin final, il faudra reconstituer la façon de calculer et poster son explication.
Maxpower
05/08/2015, 00h23
voila pour vag
edc15 et 16
pass:Max
Maxpower
05/08/2015, 00h24
mince les images sont plus dispo,je vais essayer de les retrouvées
Maxpower
05/08/2015, 00h27
PIN Opel Motorola HC05
http://img15.hostingpics.net/thumbs/mini_912526opelmotorolahc05.jpg (http://www.hostingpics.net/viewer.php?id=912526opelmotorolahc05.jpg)
Pin Opel TMS 370
http://img15.hostingpics.net/thumbs/mini_859196opelTMS370.jpg (http://www.hostingpics.net/viewer.php?id=859196opelTMS370.jpg)
Maxpower
05/08/2015, 01h15
Vag EDC16u1
http://img11.hostingpics.net/thumbs/mini_819543Nouvelleimagebitmap5.png (http://www.hostingpics.net/viewer.php?id=819543Nouvelleimagebitmap5.png)
mirak5910
05/08/2015, 01h30
Bonsoir,
Content d'avoir été l'instigateur de la compréhension des systèmes de décryptage.
Bon, faut que je me remette dans les opérations en hexadécimal car je ne sais même plus ce qu'est un XOR. J'imagine que ça ne doit pas être sorcier...
Je suis assez d'accord que souvent ca manque d'explications claire avec des illustrations.
L'exemple reste le meilleur moyen d'apprendre mais je reconnais qu'il y a un petit investissement temps à faire.
En tout cas, merci. Et je suis preneur de l'exemple sur un cas concret appliqué au monde des systèmes embarqués de l'auto.
@MaxPower: Merci de ta contribution, en fait le but est de lancer un petit challenge de cryptanalyse donc de partir d'une valeur (octets concernés) trouver la formule qui mene au pin, cela dit ca nous en apprend beaucoup sur la simplicité de calcul que certains constructeurs utilisent pour stocker le pin et la, aucun en l'occurence car il est stocké en clair, l'hexadecimal est une base 16,un format d'une valeur de 0x00 a 0xFF soit 0 a 255 et non un cryptage a ceux pour qui ce ne serait pas clair.
@mirak5910: Effectivement, je pense que c'est bien parti pour que ce thread soit tres interressant et instructif pour ceux qui ne maitrisent pas ces bases.
Salut
je vous ai mis en image une partie de l'explication du mode de crytage/décryptage du code PIN sur EDC15C2
Je ne vous ai mis que la première adresse où il se trouve car il est codé à 3 adresses au total et avec des clés de cryptage différentes :001_07:
http://www.tlemcen-electronic.com/forum/attachment.php?attachmentid=35747&stc=1&d=1438760139
sandy976
05/08/2015, 17h35
Un exemple fantaisiste vaudra toutes les explications,
disons que les octets utilisés du modele concernés se trouvent a l'adresse
0x2A,0x2B,0x2C,0x2D et qu'a ces adresses nous ayons les valeurs suivantes
0x85, 0xC2, 0x55, 0xDA on swap les octets comme cela 2 - 1 - 4 - 3
on se retrouve avec 0xC2, 0x85, 0xDA, 0x55
on fait un XOR 0xAA sur chaque octet puis on convertit les valeurs en decimal, on multiplie le tout, on recupere les 6 derniers en immaginant que ces 6 valeurs soient le code recherché
0xC2 xor 0xAA = 104 (en decimal)
0x85 xor 0xAA = 47
0xDA xor 0xAA = 112
0x55 xor 0xAA = 255
104 * 47 * 112 * 255 = 139601280
Resultat = 601280
Voila un algo factice pour l'exemple, en esperant que ce soit simple et clair.
hello
pas tout compris...!
une question svp pour m'aider à piger...
dans ce cas précis d'exemple, ça donne quoi si on swap pas ?
il me semble que ça donnerait la même chose si j'ai la logique qui va...
merci d'avance,
Sandy
une question svp
Lol. bien vu. Desolé, j'ai inventé cette exemple a la volée. tu as tout a fait raison!
le resultat sera le meme.
mirak5910
05/08/2015, 19h24
Bonsoir,
axbxcxd=bxaxdxc => donc oui lol !
@MrRorry : grace ou à cause de toi, je me suis dans l'hexadécimal hier, et j'ai tout pig à ton exemple lol.
Bon maintenant, faut que je regarde le jeu que j-sky a envoyé...
mirak5910
05/08/2015, 19h29
Salut
je vous ai mis en image une partie de l'explication du mode de crytage/décryptage du code PIN sur EDC15C2
Je ne vous ai mis que la première adresse où il se trouve car il est codé à 3 adresses au total et avec des clés de cryptage différentes :001_07:
http://www.tlemcen-electronic.com/forum/attachment.php?attachmentid=35747&stc=1&d=1438760139onvertis
salut J-Sky,
Comment tu convertis en ASCI de l'hexadécimal?
Petite correction pour l'exemple (Merci a sandy976)
======================================
0x85, 0xC2, 0x55, 0xDA on swap les octets comme cela 2 - 1 - 4 - 3
on se retrouve avec 0xC2, 0x85, 0xDA, 0x55
- on XOR octet 1 avec octet 2, octet 2 avec octet 3, octet 3 avec octet 4, octet 4 avec octet 1
>> maintenant le swap prend tout son sens car si on swap pas, on se retrouve avec des valeurs differentes.
on se retrouve donc avec ce nouveau tableau de 4 octets : 0x47, 0x5F, 0x8F, 0x12
- on fait un XOR 0xAA sur chaque octet et on multiplie le tout (le resultat a l'octet suivant)
0x47 xor 0xAA = 0xDE (222 en decimal)
0x5F xor 0xAA = 0xF5 (245 en decimal)
0x8F xor 0xAA = 0x25 (37 en decimal)
0x12 xor 0xAA = 0xB8 (184 en decimal)
222 * 245 * 37 * 184 = 370287120
Resultat = 287120
Voila, toutes mes excuses.
onvertis
salut J-Sky,
Comment tu convertis en ASCI de l'hexadécimal?
Slt, avec ta calculatrice windows par exemple ( en mode programmeur ).
oops desole, de l'ascii, le plus simple est d'utiliser une table
http://upload.wikimedia.org/wikipedia/commons/thumb/7/7b/Ascii_Table-nocolor.svg/1000px-Ascii_Table-nocolor.svg.png
mirak5910
05/08/2015, 19h45
Merci MrRorry !
C'est chaud parce qu'il faut à la fois savoir l'adresse où est stocké le code Hexa qu'il va falloir XORé avec une clé de cryptage + un swap + conversion en ASCII...
Bonsoir,
axbxcxd=bxaxdxc => donc oui lol !
@MrRorry : grace ou à cause de toi, je me suis dans l'hexadécimal hier, et j'ai tout pig à ton exemple lol.
Bon maintenant, faut que je regarde le jeu que j-sky a envoyé...
Lol, grace a moi je pense! tu verras ca te sera bien utile a l'avenir.
J-sky nous a en fait montré des formules utilisées en reel sur certains calculos, en partant des valeurs du dump au code pin, et il compte nous pondre son propre soft pour bientot de ces memes algos. :peace:
Merci MrRorry !
C'est chaud parce qu'il faut à la fois savoir l'adresse où est stocké le code Hexa qu'il va falloir XORé avec une clé de cryptage + un swap + conversion en ASCII...
Chaud? non. on posant ces calculs sur une feuille de papieravec une calculette ou avec quelques lignes de codes et un clic, ca prendrait quelques millisecondes. :iagree:
Chaud? non. on posant ces calculs sur une feuille de papieravec une calculette ou avec quelques lignes de codes et un clic, ca prendrait quelques millisecondes. :iagree:
En effet, les milisecondes pour toi seront sans doutes des heures pour moi mais je ne désespère pas !
Au moins, j'ai cassé l’algorithme de cryptage du PIN sur EDC15C2 et l'ai écris sur une feuille (D'autres l'ont fait avant moi mais sans le divulguer...)
Certains diront que j'ai fait 80% du boulot mais moi, j'ai l'impression d'en avoir fait que 20% :smile:
mirak5910
05/08/2015, 21h57
Lol, grace a moi je pense! tu verras ca te sera bien utile a l'avenir.
J-sky nous a en fait montré des formules utilisées en reel sur certains calculos, en partant des valeurs du dump au code pin, et il compte nous pondre son propre soft pour bientot de ces memes algos. :peace:
j'en doute pas :-)
Qques millisecondes à partir du moment où tu as l'algo mais pour trouver l'algo décrypteur de PIN, c'est une autre histoire.
Par "Quelques millisecondes" , je voulais faire allusion au temps de calcul necessaire une fois cet algo codé dans un soft biensur! ;)
@mirak5910: C'est sur, mais c'est possible et ca demandes du temps et de l'observation, et J-sky nous a gentiment fait part des ces trouvailles, comme quoi c'est pas impossible. encore bravo a lui d'ailleurs.
Salut à tous
Et voilà comme promis et en peu de temps grâce à l'aide de notre ami MrRorry, le soft pour calculer le PIN depuis un dump de 5P08 des EDC15C2
=> PSA EDC15C2 PIN Code Calculator (http://www.tlemcen-electronic.com/forum/showthread.php?p=332311#post332311)
:yo:
vBulletin® v.3.8.11, Copyright ©2000-2025, Jelsoft Enterprises Ltd. Tous droits réservés - Version française vbulletin-fr.org