Reverse engineering d'un clone de l'interface XS evolution pour reflash n° de série

Réduire
Cette discussion est fermée.
X
Ceci est une discussion importante.
X
X
 
  • Heure
  • Afficher
Tout nettoyer
nouveaux messages
  • Admin
    Community Manager


    • mars 2012
    • 2859

    Merci de bien vouloir respecter ce topic ainsi que son auteur.
    Nous parlons ici des recherches pour le reverse engineering de clone xs-evolution.

    Vos problèmes perso concernant vos interfaces n'ont pas leurs place ici.

    Merci d'avance
    Pas de support par message privé : Le Forum est la pour cela !
    Toute demande = poubelle

    Commentaire

    • rojhat
      Super Member
      • février 2013
      • 579

      Envoyé par Diabolo1
      La varistance ne sert qu'en cas de surtension suivant une valeur définie supérieure à la tension d'alimentation.
      Sauf en cas de défaillance de l'alternateur (point de diodes), je ne vois pas de surtension dévastatrice dans une voiture, car cela sous-entendrait aussi que toute l'électronique, y compris l'autoradio, s'enverrait en l'air.

      Diabolo1
      Merci de nous avoir rappeler le principe de la varistance , je la conseil car sur la VCI original est y ai est si actia la mise c'est pour proteger la vci , et non pour gaspiller enfin c'est mieux de l'avoir quand on vois le prix de la varistance et le prix de la vci apres on est pas a l'abri d'une surtension de l'alternateur en cas de demarrage avec la vci brancher .
      Enfin chacun est libre de la souder ou non .

      - - - Mis à jour - - -

      Envoyé par Admin
      Merci de bien vouloir respecter ce topic ainsi que son auteur.
      Nous parlons ici des recherches pour le reverse engineering de clone xs-evolution.

      Vos problèmes perso concernant vos interfaces n'ont pas leurs place ici.

      Merci d'avance
      On va arreter de pourir le post de nlc

      Commentaire

      • jarod54190
        Member
        • janvier 2013
        • 142

        @rojhat : la varistance se situe sur le 12v côté voiture. Elle ne protège donc en rien le débranchement/rebranchement côté USB (5v)

        Commentaire

        • _nlc_
          Member
          • mars 2013
          • 182

          Bon je fais cours il est tard et j'ai les yeux qui piquent :

          YESSSSSS !!!!!!!!!!!!!!!!


          C'est bon le flashage du bootloader par l'usb fonctionne
          Ca signifie que l'upgrade pour faire reconnaitre l'interface en évolution ne nécessite plus de démontage de l'interface pour reflash du MCU par le connecteur 12 pins.
          Prochaine étape la modif du n° de série eeprom, mais il semble que ça va être plus long car d'après toutes vos remontées d'essais j'ai du mal à trouver une logique. De plus dans les différents dump d'eeprom que j'ai les données binaires à l'offset 0x10000 sont bien souvent différentes, et j'ai pas encore pigé à quoi servent ces données. Mais nul doute qu'elles servent à quelque chose et sont très probablement en cause dans le fait que des interfaces marchent ou pas avec diagbox.
          Mais ça fait rien on va trouver

          Commentaire

          • wdarlid
            Junior Member
            • janvier 2013
            • 22

            total respect et vu ta progression ce n'est qu'une question de temps on dirais!!
            bonne journée

            Commentaire

            • _nlc_
              Member
              • mars 2013
              • 182

              Envoyé par Armand57
              Je viens depasser à DB6.19 avec dump 4.3.0

              Mon interface n'est pas reconnue, alors je la débranche/rebranche du port USB et ça marche comme pour diabolo1.
              A quel moment elle n'est pas reconnue ? AU lancement de diagbox ? Et donc tu coches la croix rouge quand il te dit qu'il ne voit pas la VCI, tu lances pp2000, tu débranches et rebranches et ça marche dans pp2000 ?

              Envoyé par Armand57

              Il y a une chose que je viens de remarquer.
              Avant de lancer DB je vérifie la ref serial avec psa interface checker ref:962835 B/ suivi de PEUGEOT
              je lance DB puis lexia j'ai une erreur d'init je fais une verif du serial et la ref: 921815B/ suivi de Inconnue
              je débranche l'usb je fais une verif du serial et la ref:962835 B/ suivi dePEUGEOT
              je lance lexia et tout et OK.
              Ca c'est très intéressant !
              Comme je l'ai déjà remarqué plusieurs fois, le n° de série, plus précisément la chaine complète "ACTIA/92xxxx X/29-07/XXXXXX", apparait également dans certain dump MCU, sur l'avant dernier secteur de la flash, qui fait 8Ko, à l'adresse 0xFFA000.
              Lorsqu'on met à jour l'interface par interface checker, cette zone n'est pas modifiée. Elle ne l'est que si on reflashe un dump complet par le connecteur 12 pin. Dans mon cas le dump 4.3.0 que j'ai injecté a cette zone totalement vide, le serial n'est donc que dans l'eeprom.

              Dans ton cas quand tu branches l'interface, si tu fais une lecture avec interface checker, il te renvoie le n° de série de l'eeprom, et après avoir lancé diagbox, ce qui a pour effet d'executer le firmware interne, là il te renvoie l'autre n° de série.
              Il va falloir comprendre le fonctionnement à ce niveau là et le pourquoi le n° de série est aussi stocké à cet endroit dans le MCU. Et surtout pourquoi sur mon dump qui n'intègre pas cette zone ça fonctionne.

              Il est bien possible qu'au départ Actia avait prévu l'eeprom série pour les évolutions futures (permet éventuellement d'y stocker du code applicatif si la mémoire interne du MCU devient trop juste), et que le n° de série était initialement stocké dans l'avant dernier secteur du MCU. Mais voyant que les gens avaient trouvé la solution pour lire et modifier le contenu le MCU, on décidé finalement de stocker le n° de série dans l'eeprom, pour essayer de rendre les choses un peu plus complexe !?

              A creuser !!

              Commentaire

              • diabolikpeugeot
                Junior Member
                • octobre 2012
                • 29

                Envoyé par _nlc_
                Bon je fais cours il est tard et j'ai les yeux qui piquent :

                YESSSSSS !!!!!!!!!!!!!!!!


                C'est bon le flashage du bootloader par l'usb fonctionne
                Ca signifie que l'upgrade pour faire reconnaitre l'interface en évolution ne nécessite plus de démontage de l'interface pour reflash du MCU par le connecteur 12 pins.
                Prochaine étape la modif du n° de série eeprom, mais il semble que ça va être plus long car d'après toutes vos remontées d'essais j'ai du mal à trouver une logique. De plus dans les différents dump d'eeprom que j'ai les données binaires à l'offset 0x10000 sont bien souvent différentes, et j'ai pas encore pigé à quoi servent ces données. Mais nul doute qu'elles servent à quelque chose et sont très probablement en cause dans le fait que des interfaces marchent ou pas avec diagbox.
                Mais ça fait rien on va trouver
                Salut, merci pour tous le boulot que tu fait!

                Commentaire

                • Armand57
                  New Member
                  • mars 2013
                  • 12

                  Bonjour _nlc_
                  Non je n'ai jamais de défaut VCI.
                  Pour moi pas reconnue cela veut dire que lorsque je lance lexia j'ai une erreur qui me dit " la carte de communication s'est mal initialisée, il est nécessaire de redémarrer l’outil".
                  A chaque fois que je lance DB mon N° série change (Vu avec PSA interface checker) je débranche/rebranche l'usb mon serial revient.
                  Je change de menu dans diagbox pour atteindre la sélection de la C3 mon serial change de nouveau, je débranche il revient.
                  je lance lexia j'ai une erreur d'init, le serial a encore changer donc je débranche je relance lexia et ça fonctionne.

                  Si je coupe l'appli psa checker après je le lancement DB ou que je change de menu dans DB
                  je relance psa checker j'appuie sur Activate j'ai un INIT KO
                  Si je ne coupe pas psa checker après je le lancement DB ou que je change de menu dans DB INIT toujours OK et le serial à changer.

                  Commentaire

                  • _nlc_
                    Member
                    • mars 2013
                    • 182

                    Ok, en tout cas une chose est sure, le problème vient peut être de n° blacklistés mais aussi du fait que les 2 n° de série dans le MCU et l'eeprom ne correspondent pas !

                    Je vais essayer de tirer ça au clair, car quand on flash le MCU avec un dump de 4.3.0, la zone contenant le n° de série (Le secteur précédant le bootloader) est vide.

                    Commentaire

                    • _nlc_
                      Member
                      • mars 2013
                      • 182

                      Oui il n'est pas systématique, et c'est probablement la cause du problème. Le truc c'est qu'il y a tellement de combinaisons possibles entre MCU avec nouveau ou ancien bootloader (evolution ou pas evolution), firmware 4.2.x ou firmware 4.3.0, avec présence ou absence de la zone serial, sans oublier le n° de série dans l'eeprom, mais aussi les données binaires de l'eeprom (qui sont différents entre les différents dump que j'ai !!), il y a de quoi perdre son latin !!!

                      Je crois que je vais prendre le problème à l'envers :
                      - Partir d'une eeprom vierge et d'un MCU avec l'avant dernier secteur vierge, et voir ce qu'il se passe
                      - Rajouter le contenu de l'eeprom, voir ce qu'il se passe
                      - Modifier la zone serial du MCU, voir ce qu'il se passe
                      - etc....

                      C'est vrai que j'aime bien tout comprendre jusqu'au bout, mais si par hasard c'est trop chiant, et qu'on connait à coup sûr la configuration qui fait que ça fonctionne bien tout le temps, et bien je ferait en sorte que mon firmware modifie le contenu (MCU + eeprom) pour coller à cette configuration.

                      Après il y a quand même un autre point qui commence à me chagriner. Si je fais tout ça c'est parce que je suis passionné de technique et que j'aime les défis et casses têtes. Mais ce travail me prend énormément de temps. Et je m'aperçois que finalement l'upgrade de ces interfaces peut devenir un business, et du coup j'ai peur que si je rends public mon travail il puisse profiter à des personnes qui vont faire payer quelque chose de gratuit, car les propriétaires de VCI concernés ne sauront pas qu'il existe une procédure ultra simple qui se fait en 2 clics de souris. Attention je ne critique pas scary et winbond45 pour ne pas les citer qui font commerce des upgrades, puisque derrière il y a un vrai travail concret, qui repose sur leurs connaissances et leur expérience de démontage/programmation physique/dessoudage et ressoudage eeprom.

                      Donc ce sur quoi je réfléchis également en ce moment, c'est une méthode qui permettrait que mon travail ne soit pas volé et exploité à des fins commerciales tout autour de la planète, et ne serve que pour un usage personnel. Et pour cela je ne vois pas 36 solutions : il n'y aura pas un fichier vci_update.com commun pour tout le monde, mais ce fichier sera personnalisé et contiendra donc des informations personnelles en clair (en ascii) dans le fichier binaire. Ceci vous l'aurez compris afin de limiter la distribution du fichier.com !!!
                      Évidemment je précise 2 choses :
                      - Ces données personnelles restent bien entendues dans le fichier .com et disparaissent de la VCI après l'update puis le flashage d'un firmware officiel
                      - Ces données ne seront pas modifiables par éditeur hexa sinon à cause du checksum le fichier deviendrait invalide

                      Je fournirai gratuitement ce firmware vci_update.com à toute personne qui m'en fera la demande. Et si toutefois la personne juge que mon travail lui a rendu un fier service et bien il aura toujours la possibilité de me faire un don de la somme qu'il désire !! Qui sait !? Peut être que ça me permettra d'acheter un petit cadeau à ma femme qui depuis maintenant 3 semaines me supporte tous les soirs dans le lit conjugal avec mon PC portable jusqu'à des heures pas possibles

                      Commentaire

                      • Diabolo1
                        Member
                        • mars 2013
                        • 121

                        Slt,

                        Tout à fait d'accord que le travail fait ne doit pas servir à enrichir certaines personnes qui ne se sont/seront pas investies dans la résolution du problème.
                        Perso, mon interface fonctionne et me rend bien des services personnels et ne m'a jamais rien rapporté ; sauf éviter le concessionnaire.
                        Ne voulant pas faire les interfaces de programmation pour ne flasher que MA seule interface, ce sera avec joie que je te donnerai un dédommagement en échange d'un fichier personnel pour mon interface. Il va de soit que ce "don" ne pourra pas être du même montant, mais inférieur à celui demandé par certains "flasheurs", sinon ce serait retomber dans le même business, ce qui n'est pas ton but d'après tes posts et c'est tout à ton honneur.

                        Une fois ton logiciel au point, tu m'inscris sur ta liste.

                        Cdlt,
                        Diabolo

                        Commentaire

                        • _nlc_
                          Member
                          • mars 2013
                          • 182

                          Le don ne serait pas obligatoire, ça serait juste un remerciement pour le travail accompli et le service rendu. Après pour la somme chacun fait ce qu'il veut, donc de 0€ à 1.000.000€ voire plus si vous pensez que ce travail vaut tout l'or du monde

                          Commentaire

                          • dougdiag
                            Compte inactif
                            • mars 2013
                            • 4

                            Salut tout le monde. Je suis dans le même cas que diabolo. Usage strictement personnel. C'est pour moi une question de principe. Nlc c'est tout à fait normal ta pensée. J'y adhère à 10000%.
                            Pour Winbond...Ben oui je n'y peux rien; je ne suis qu'un gamin qui ne comprends pas grand chose, mais bon sinon je ne serai pas là entrain d'essayer de suivre ce tuto hyper technique. Mais je ne t'en veux pas car ce n'est pas ma mentalité ça. Mais j'espère quand même un jour espérer dépasser ce stade et devenir un adulte et un vrai en comprenant ce que je peux comprendre...Ou la...Trop de compréhension dans cette essai philosophique.
                            Nlc: Total respect.
                            Essai d'upgrade en 5.29 bientôt, car ce soir c'est fête et danse.

                            Commentaire

                            • basou38
                              Junior Member
                              • janvier 2013
                              • 22

                              félicitation pour ton travail de ouf !!
                              es-tu sur que les infos personnelles dans le binaire soient un bon frein ?
                              Les binaires vont vite tournés sur le net avec ton exe.
                              Je pense qu'il faut que tu réfléchisses à une solution plus "sécure" quitte à faire payer le flashage quelque euros par interface.
                              Pke les dons tu en auras au début, les premiers jours mais au bout de quelques temps plus rien.
                              tu pourrais immaginer un micro paiement (paypal, allopass) qui te donne un binaire flagé avec un numéro de série qui correspond au paiement.
                              Tu charges le binaire dans ton programme qui va vérifier avant de flasher que ce binaire n'a pas fait le tour du web avant bien sur un accès au web obligatoire pour flasher.

                              Qu'en penses-tu ? après je sais pas si tu as les connaissances requises pour dev un tel programme et si c'est faisaible

                              Commentaire

                              • Armand57
                                New Member
                                • mars 2013
                                • 12

                                Comme pour les autres cette interface m’a servi à réparer ma voiture à moindre coût.
                                Pour le don, si ton travaille m’évite de détruire mon interface en faisant une fausse manip je suis d’accord.

                                Commentaire

                                Chargement...