Bonjour à tous,
Toujours dans le but de la traduction de mon script Bash en Python, je cherche à automatiser la modification de chaîne(s) hexadécimal(s) .
Pour info , je part de flash extraites de différents ECU automobile (Calculateur moteur , BSI, UCH....), ces flash sont au format binaire.
Voici un extrait de mon code Bash:
Code bash : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 if [ $marque = "1" ] then echo "" echo -e "${cyanclair}Choisissez la fonction à exécuter.${neutre}" echo "" echo -e "${cyanclair}Pour FAP OFF EDC16C34 tapez :${neutre} ${orange}1${neutre} ${cyanclair}Pour IMMO OFF SID801 tapez :${neutre} ${orange}2${neutre}" echo -e "${cyanclair}Pour IMMO VIERGE SID801 tapez :${neutre} ${orange}3${neutre} ${cyanclair}Pour IMMO OFF EDC15C2/C7 tapez :${neutre} ${orange}4${neutre}" echo -e "${cyanclair}Pour EGR CLOSE EDC16C34 tapez :${neutre} ${orange}5${neutre} ${cyanclair}Pour IMMO OFF EDC17C10 tapez :${neutre} ${orange}6${neutre}" echo -e "${cyanclair}Pour VIERGE PIN EDC17C10 tapez :${neutre} ${orange}7${neutre} ${cyanclair}Pour VIERGE EEPROM 95128 JC EVO tapez :${neutre} ${orange}8${neutre}" read fonction1 if [ $fonction1 = "1" ] then echo "" echo -e "${cyanclair}Choisissez le fichier à modifier.${neutre} ${orange}(veuillez écrire le nom complet de votre fichier.)${neutre}" read fichier xxd $fichier > copie.txt sed -e "s/02 01 01 00 0c 3b/00 00 01 00 0c 3b/g" copie.txt>fichier_mod.txt xxd -r fichier_mod.txt > fichier_DPF_OFF.bin rm fichier_mod.txt && rm copie.txt echo "" echo -e "${vertclair}TERMINÉ!${neutre}" echo -e "${vertclair}Votre fichier modifié a été enregistrer sous 'fichier_DPF_OFF.bin'.${neutre}" echo "" echo -e "${rougefonce}!!!VEUILLEZ CORRIGER LE CHECKSUM AVANT L'ÉCRITURE!!!${neutre}"
xxd pour la conversion du fichier .bin en .txt
sed pour la modification et la sauvegarde du fichier modifier
xxd pour convertir le fichier modifié du format .txt vers le format .bin
Pour la boucle pas de problème, mais je but sur la conversion du fichier ainsi que sur la modification sachant que le but est que le script puisse être compatible avec windaube
Si quelqu'un pourrait me mettre sur une piste ça serait top.
Merci par avance .
Jon
Partager