Aller au contenu

Comment lire un firmware.bin ?


Messages recommandés

Je voudrais savoir si il est possible d'ouvrir un firmware.bin dans Visual Studio Code, c'est pour voir comment les constructeurs configure leurs firmwares, j'ai cherché sur Google, mais, il ne parle que pour l'ouverture d'un fichier .bin qui correspond à un Cd/DVD.

Connaissez-vous une solution pour réalisé ce tour de pass-pass

 

Capture d’écran 2021-12-06 204503.png

Modifié (le) par Morganne46
Lien vers le commentaire
Partager sur d’autres sites

ben , la il est ouvert

le .bin, c'est du binaire, du langage machine incompréhensible par nous pauvres humains

ce qui apparais à l’écran , c'est la traduction en lettre, chiffres et symboles des octets

tu devrais normalement retrouver en langage clair, les messages qui peuvent apparaitre à l'écran, mais ce n'est pas sur

puisqu'ils sont mélanger avec le code d'affichage vers le processeur d'ecran

Lien vers le commentaire
Partager sur d’autres sites

@Patrick76 Oui je me doutais bien que c'est du binaire, mais je pensais qu'il était possible de l'ouvrir et de le lire comme un fichier Marlin, comme configuration.h, dommage, j'aurais bien aimé voir leurs manières de configuré.

Modifié (le) par Morganne46
Lien vers le commentaire
Partager sur d’autres sites

  • Morganne46 changed the title to Comment lire un firmware.bin ?
il y a une heure, Morganne46 a dit :

@Patrick76 Oui je me doutais bien que c'est du binaire, mais je pensais qu'il était possible de l'ouvrir et de le lire comme un fichier Marlin, comme configuration.h, dommage, j'aurais bien aimé voir leurs manières de configuré.

C'est a priori possible, cela s'appelle du "reverse engineering" et cela peut demander beaucoup de boulot et de l'expertise de haut niveau.

C'est principalement utilsé pour l'étude et la neutralisation des virus et malwares informatiques 😉 ou autres dont des firmwares !! 👹

Un exemple de type d'outil https://github.com/cea-sec/miasm

PS je ne suis pas du métier je ne connais que les principes.

🙂

  • Merci ! 1
Lien vers le commentaire
Partager sur d’autres sites

Comme le dit hyoti, cela demande beaucoup de travail et d'expertise.

(et quand tu a fait l'exercice scolaire de coder en assembleur  ... c'est déjà un beau case tête alors de faire l'opération inverse (retrouver une abstraction logique, une interprétation de haut niveau de suite d'instructions)  là c'est vraiment un hyper (... rajouter encore dix voir cent "hyper" ) super méga casse tête)

Car un en gros un fichier .bin de firmware c'est des suite d’octets qui représente des instructions et des bloc de données (mémoire qui peut être de plusieurs sorte ... ) pour le microcontrôleur.

Donc du langage assembleur https://fr.wikipedia.org/wiki/Assembleur, un langage très bas niveau, propre au microcontrôleur cible. Et les instructions/données peuvent être codé en binaire/octets selon différente convention / architecture matériel / format de fichier.

De plus le langage assembleur se trouve "épuré" lors de la compilation pour ne garder que les éléments utiles au microcontrôleur (bien souvent on perd les nom des variables (inutile pour le microcontrôleur) pour ne retrouver que la valeur de son adresse mémoire) et les abstractions "haut niveau" de logique de programmation ( les conditions, les boucles, les notion d'objet (C++)), sont transformé en une nué de suite d'instructions pour le microcontrôleur difficilement interprétable pour retrouver leur équivalent en abstraction de haut niveau.  ( sans oublier : https://fr.wikipedia.org/wiki/Assembleur#Désassemblage )

Comme le dit Patrick76, de temps en temps on retrouve des bloc de chaîne de caractères mais bien souvent elles n'apportent pas grand chose car cela reste complexe de retrouver quelles instructions les utilisent, comment, et dans quelle contexte de traitement, ...

Donc là non ... pas simple de faire quoi que se soit d'un fichier .bin ...

Modifié (le) par PPAC
  • J'aime 1
  • Wow 1
  • +1 1
Lien vers le commentaire
Partager sur d’autres sites

Je plussoie @hyoti et @PPAC 

et je rajoute qu'en plus d'obtenir un code assembleur brut avec le désassembleur, il vaut mieux connaître sur le bout des doigts le fonctionnement du processeur ciblé (instructions, registres, ...) afin d'arriver à comprendre quelque chose au programme.

à un époque lointaine j'avais désassemblé quelques morceaux du code de DR Multiuser DOS (un vieux système d'exploitation) pour faire péter étudier le dongle (une clé de protection d'époque), ce fut long et difficile et  à l'époque j'avais 80x86 en 1ère langue (j'ai toujours la version d'étude sur une disquette 5"1/4😄)

  • J'aime 2
  • Merci ! 1
Lien vers le commentaire
Partager sur d’autres sites

Hum hum, comment dire, je vais pas cherché si compliqué lol, je voulais juste ouvrir un fichier de configuration des constructeurs pour voir, mais je pensais l'ouvrir comme un fichier "classique" avant de compliqué Marlin quoi.

Bref je laisse tombé, je fais mes études de médecines, pas de programmation 😄

Merci à tous.

  • J'aime 1
Lien vers le commentaire
Partager sur d’autres sites

il y a une heure, Savate a dit :

sur une disquette 5"1/4😄

Pour la blague : "Bonjour je cherche un lecteur de floppy disk 5"1/4 https://en.wikipedia.org/wiki/Floppy_disk  a un prix raisonnable (<30€) en USB (3.0 si possible 😉 ) !" 🙂 

https://www.ebay.com/b/5-1-4-Inch-Floppy-Drives/169/bn_5756432  ( 😲  fut un temps j'en avais deux ... en fin de compte j'aurais du les garder 😉  )

  • J'aime 1
Lien vers le commentaire
Partager sur d’autres sites

Ah oui quand même, il faut que je fasse des fouilles, il doit m'en rester quelques uns dans le même carton que les vieux disques durs mfm 5'1/4 pleine hauteur de ... 10Mo 😄)

Par contre pour les faire fonctionner il va falloir ressortir aussi les vieilles cartes mères pour pouvoir les brancher ...

  • J'aime 1
Lien vers le commentaire
Partager sur d’autres sites

Il y a 3 heures, Savate a dit :

une disquette 5"1/4😄)

toute une époque , mon premier PC sous dos 5 , upgradé DOS 6 et  windows 3.0, écran monochrome, DD 40Mo, ce qui étais "énorme" pour l'époque

multiplan , un tableur génial

Lien vers le commentaire
Partager sur d’autres sites

  • 2 years later...

c'est genial de voire parler de l'informatique de passé dans un forum qui ne traite pas le sujet. vous est exelent les gas 

bref je pencais utiliser les information pour decompile un firmware mais je crois que je vais le refaire a 0 merci quand meme je me suis bien amusé

 

  • Triste... 1
Lien vers le commentaire
Partager sur d’autres sites

Navré, dé-compiler un firmware n'est pas chose simple a faire.

Et même si l'on arrive a le dé-compilé, cela ne permet pas forcement de comprendre son fonctionnement ou de le modifier pour le recompiler ensuite.

Donc partir des sources reste la méthode la plus simple.

Lien vers le commentaire
Partager sur d’autres sites

oui effectivement c'est le plus simple mais voila gros flemard comme je suis je me suis dis que c'ete la meilleurs solution pour gagnier du temps donc au final j'ai quand meme gagnier du temps parceque je n'ai pas esseyer de le dé-compilé même si j'ai pris 5 minutes a lir ce poste que dailleur je me suis amuser a le lire.

 

en bref j'ai refait un nouveaux firmward puit j'e l'ais instaler est j'ai reparametrer l'imprimente est au moment d'imprimer jai eu une erreur avec les temperature de l'hotend je supose que je n'ais pas raigler le pid corectement ou voirs je ne lais pas fait du tout est a 250 sa a planté. heuresment que c'est pas arriver pendant une impretion de 2 jours parceque la je fracasait tout 

bon je vais regler mon pid est je vais me coucher 

Lien vers le commentaire
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...