Forum Programmation.autre décompilateur fortran 90

Posté par  (site Web personnel) .
Étiquettes : aucune
0
14
mar.
2005
Bonjour à tous,

J'ai un ami qui se pose une question existencielle, et comme il n'est pas inscrit à LinuxFr, je pose la question pour lui.

Mon ami à acheté un code de calcul scientifique, écrit en Fortran 90. Ce code est tout ce qu'il y a de plus fermé, il ne possède que l'exécutable, sans les sources. Mais justement, ce code donne des résultats bizarres dans certains cas, et mon ami voudrait bien pouvoir décompiler le binaire (enfin essayer), pour jeter un oeil aux sources et voir pourquoi le code déraille.

Je sais que ce n'est pas facile, mais comment peut-on décompiler un programme fortran 90 sous linux ?


Merci,


Darckense, par intérim
  • # Licence ?

    Posté par  (site Web personnel) . Évalué à 3.

    Je doute qu'il ai le droit (j'ai bien dit droit, pas possibilité) de faire ca. Cela depend de la licence sous laquelle lui a été vendu le soft, mais en général c'est interdit.
    Si je ne me trompe pas, en France (Europe?) on peut le faire pour des raisons d'interop, mais je ne vois rien de tel dans ce que tu nous decrit.
    Cette situation semblerai plutot impliquer un rapport de bug.

    voir http://www.avocats-publishing.com/mot.php3?id_mot=131(...) et la licence du soft.
    • [^] # Commentaire supprimé

      Posté par  . Évalué à 3.

      Ce commentaire a été supprimé par l’équipe de modération.

      • [^] # Re: Licence ?

        Posté par  (site Web personnel) . Évalué à 2.

        On est en Europe, donc, il a le droit dans des soucis d'étude du code et/ou d'interopérabilité...

        Dans un but d'interop, d'accord, c'est bien specifié dans mon message et dans la reference que j'ai donné.
        Par contre dans un but d'étude je ne crois pas. En tout cas je n'ai jamais rien trouvé qui l'indique. Dans son cas, il ne semble pas du tout s'agir d'interop, mais bien d'étude pour rechercher un bug.

        voir aussi http://www.droit-ntic.com/news/afficher.php?id=68(...)
    • [^] # Re: Licence ?

      Posté par  (site Web personnel) . Évalué à 1.

      Tant que c'est pour etudier le fonctionnement du programme et qu'il garde ca pour lui, je ne vois pas pourquoi il n'aurait pas le droit.

      Enfin, pour l'instant. On ne sais pas ce que le futur nous réserve...
  • # Re:

    Posté par  . Évalué à 2.

    Bon vant toute chose, je ne connais pas le langage Fortran 90, donc je suppose que c'est langage qui se compile tout comme C ou Pascal. Si ça n'est pas vrai, ne lisez pas la suite et moinssez-moi !

    Une fois compilé, comme tout code source, ton programme devient un exécutable, un binaire, un fichier qui ne contient que des instruction processeur. Autrement dit, si tu désassemble ton fichier binaire, tout ce que tu auras, c'est de l'assembleur, et rien d'autre. Aucune chance d'avoir le code source Fortran à partir du binaire aussi simplement, malehureusement.

    Donc, pour désassembler (j'espère que ton ami sait lire de l'assembleur), tu peux utiliser des outils génériques comme objdump. man objdump pour plus de détails. Il doit y avoir des désassembleur qui font plus de choses, mais je n'en connais pas vu que j'utilise très rarement cet outil.
    • [^] # Re: Re:

      Posté par  (site Web personnel) . Évalué à 2.

      Autrement dit, si tu désassemble ton fichier binaire, tout ce que tu auras, c'est de l'assembleur

      Desassembler tu auras de l'assembleur, oui.

      Par contre, un decompileur essaye de retrouver des patterns connues pour reecrire le programme dans un language de haut niveau. Ca marche tres tres moyennement (bon ok c'est de la merde), mais ca existe.

      Quelques exemples sur http://www.autistici.org/uncc/examples.php(...) , mais evidement, il faut pas en demander trop. (Et honnêtement je vois pas bien l'interet, la sortie etant a peine plus claire que de l'assembleur)
    • [^] # Re: Re:

      Posté par  (site Web personnel) . Évalué à 1.

      Je pensais bien que j'aurais une réponse comme ca...

      Bon, autrement dit, pour trouver pourquoi ca marche pas, c'est pas gagné !
      • [^] # Logiciel Libre

        Posté par  . Évalué à 1.

        N'existe-il pas de logiciel libre qui fait le même travail?....en mieux bien sûr :)
  • # Bug report

    Posté par  (site Web personnel) . Évalué à 3.

    La première étape avant de tenter quelque chose de plus ou moins tendencieux serait peut être de rapporter le bug au fournisseur non ?
    J'imagine que "ton ami" pourra obtenir de l'aide auprès d'eux ...

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n’en sommes pas responsables.