Conversion .hex en .c
Discussion fermée
Affichage des résultats 1 à 9 sur 9

Conversion .hex en .c



  1. #1
    invitee0ba7c35

    Conversion .hex en .c


    ------

    Bonjour à tous,

    J'ai un projet d'électronique à étudier (http://www.electroniquepratique.com/...idMg=67&id=682) articulé autour d'un PIC16F877.

    Je possède donc un fichier .hex à envoyer dans le PIC, cependant, en ouvrant ce fichier danss MPLAB, je ne comprend rien car ce n'est que de l'héxa.

    Ce que j'aimerais faire, c'est obtenir un fichier en C, s'il y a moyen, pour savoir de qu'elle manière sont configurées les registres du PIC, etc, pour pouvoir en parler dans mon étude.

    J'espère qu'il y a une moyen de trouver cela, j'espère vraiment.

    Merci.

    -----

  2. #2
    DAUDET78

    Re : Conversion .hex en .c

    Citation Envoyé par le fondateur du cosmos Voir le message
    J'ai un projet d'électronique à étudier
    En fait, ton étude, c'est de faire du reverse engineering d'une étude déjà faite ?

    C'est quasiment illégal et peu pédagogique. Et si tu décompiles le .HEX .... tu n'auras jamais du "C"
    J'aime pas le Grec

  3. #3
    PA5CAL

    Re : Conversion .hex en .c

    Bonjour

    D'accord avec DAUDET78.


    Il faut garder à l'esprit la manière dont les fichiers .hex sont fabriqués.

    Au départ, le programme est écrit dans un langage directement compréhensible par un humain, tel que le C, l'Assembleur, le Basic ou le Pascal, par exemple.

    Un logiciel, appelé compilateur, transcrit ensuite ce programme en instructions machine, et en déduit les codes correspondant pour un microprocesseur et configuration matérielle donnés. Ces codes sont parfois modifiés après-coup par un algorithme d'optimisation. Ce sont ces codes qu'on retrouve dans le fichier .hex .


    Concernant le reverse-engineering, on peut directement retranscrire un fichier .hex en langage machine (c'est-à-dire en langage Assembleur, mais sans les variables, ni les fonctions ou macro-commandes) à l'aide d'un logiciel appelé désassembleur.

    Mais pour remonter jusqu'à un langage de haut niveau comme le C ou le Basic, il faudrait pouvoir d'une part retrouver la corrélation entre les suites d'instructions machine et les éléments syntaxiques du langage (ce qui est assez difficile lorsqu'il y a eu optimisation du code), et d'autre part reconstituer tous les éléments qui ont été perdus lors de la compilation.

    C'est un travail éminemment complexe. À moins de disposer d'un logiciel spécifique l'architecture matérielle et au compilateur utilisés susceptible de retrouver une bonne partie des éléments perdus, on doit se résoudre à comprendre comment fonctionne le programme d'après les instructions machine, et refaire soi-même le programme en langage évolué.

    Dans la majorité des cas, on a plus vite fait à re-développer le programme soi-même sans faire ce reverse-engineering.


    .
    Dernière modification par PA5CAL ; 29/03/2009 à 10h42.

  4. #4
    invitee0ba7c35

    Re : Conversion .hex en .c

    Citation Envoyé par DAUDET78 Voir le message
    En fait, ton étude, c'est de faire du reverse engineering d'une étude déjà faite ?

    C'est quasiment illégal et peu pédagogique. Et si tu décompiles le .HEX .... tu n'auras jamais du "C"
    Euh faut pas pousser le bouchon trop loin non plus, sachant que les fichiers sont fournis sur un site en libre accès, par l'éditeur lui même.

    Deplus pour avoir accès à plus d'informations sur le projet il faut acheter la revue, qui, il me semble, est une revue pédagogue.

    Je ne vois pas ce qu'il y a de problématique à essayer comprendre le programme pour faire une étude du fonctionnement d'un pic.

    Ensuite l'étude dont vous parler n'est pas vraiment une étude. Lorsque je parle d'étud, j'entends par là, la démarche à expliquer les différentes partie du montage, déterminer la manière dont est configuré le PIC, etc.

    il n'y a rien d'illégal et la paranoïa est un comportement qui ne permet pas de progresser de nos jours.

  5. A voir en vidéo sur Futura
  6. #5
    invitee0ba7c35

    Re : Conversion .hex en .c

    Pour revenir au sujet, s'il n'y a pas moyen d'obtenir le .c, le .hex peut-il nous fournir quelques informations sur la configuration du PIC?

    Par exemple, que signifierais ADDLW 0xff ou encore TRIS 0x5?

  7. #6
    PA5CAL

    Re : Conversion .hex en .c

    Citation Envoyé par le fondateur du cosmos Voir le message
    il n'y a rien d'illégal et la paranoïa est un comportement qui ne permet pas de progresser de nos jours.
    Attention au droit de propriété intellectuelle ! Je donne tout-à-fait raison à DAUDET78 sur ce point. La volonté d'apprendre n'autorise pas tout.

    Le choix des conditions de diffusion d'une « oeuvre de l'esprit » incombe uniquement à son auteur et aux ayant-droit.

    Si seul le fichier .hex est présent, on peut raisonnablement penser que l'auteur autorise son utilisation pour fabriquer un appareil, mais qu'il n'a pas mis le fichier .c en ligne parce qu'il ne souhaite pas diffuser le travail qu'il a réalisé en amont, lequel reste en toute circonstance sa seule propriété.

    Dans ces conditions, et à défaut d'une autorisation expresse donnée par l'auteur, faire le reverse engineering de son code constitue une contrefaçon, punissable d'amende et de prison (en plus des dommages et intérêts qui pourraient être réclamés).

    Ce n'est pas de la parano, c'est la loi. Et elle est souvent appliquée.


    Cela dit, rien ne t'empêche de le faire quand même, à condition de ne pas te faire prendre, ou bien d'être sûr et certain que l'auteur et ses ayant-droit n'en prendront pas ombrage. Il est donc assez mal venu d'exposer de telles intentions sur un forum public.

    .
    Dernière modification par PA5CAL ; 29/03/2009 à 11h13.

  8. #7
    PA5CAL

    Re : Conversion .hex en .c

    Si tu veux le fichier .c correspondant au projet (à condition que le langage C ait bien été utilisé, ce qui n'est pas garanti), la meilleure chose que tu aies à faire est de demander à l'auteur de te l'envoyer ou de le mettre en ligne.

    S'il refuse, tu sauras à quoi t'en tenir au niveau de tes droits.

    S'il accepte, il faudra qu'il te précise ce qu'il t'autorise à en faire.

  9. #8
    invitee0ba7c35

    Re : Conversion .hex en .c

    D'accord merci beaucoup pour ces informations.

  10. #9
    invite03481543

    Re : Conversion .hex en .c

    Bonjour,

    Daudet et PA5CAL ont dit l'essentiel de ce qu'il y a à dire sur le sujet.
    Il n'y a rien de pédagogique à convertir un code hex en son source originel.
    Il est plus instructif de recréer soi même un code équivalent, voir de l'améliorer si possible.

    Il ne s'agit pas de paranoïa mais le pillage de code est plus fréquent que vous ne le soupçonnez on ne va donc pas ouvrir un débat sur ce sujet même si vos intentions sont saines, on ne vous met pas en cause rassurez vous, les techniques ne manquent pas invasives ou pas, donc on en restera là et je ferme la discussion.

Discussions similaires

  1. fichier hex
    Par Natacha gl dans le forum Électronique
    Réponses: 3
    Dernier message: 25/03/2009, 22h49
  2. Message.hex
    Par ePat dans le forum Électronique
    Réponses: 4
    Dernier message: 22/11/2007, 04h27
  3. fichier .HEX et XP ?
    Par inviteef8446f3 dans le forum Électronique
    Réponses: 1
    Dernier message: 28/02/2007, 20h32
  4. Pb fichier hex
    Par thomasalbert1993 dans le forum Électronique
    Réponses: 20
    Dernier message: 10/01/2007, 13h06
  5. Comparateur de HEX
    Par HULK28 dans le forum Logiciel - Software - Open Source
    Réponses: 3
    Dernier message: 06/12/2006, 09h06
Découvrez nos comparatifs produits sur l'informatique et les technologies.