Partage
  • Partager sur Facebook
  • Partager sur Twitter

Un décompilateur?

Cela existe t'il?

    7 décembre 2005 à 21:00:46

    Bonjour a tous les Zero ainsi qu'a tout les autres chifres :p
    J'aurais voulu savoir si il existe un décompilateur de fichiers C/C++ compilé avec DEV C++.
    Merci d'avance.
    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      7 décembre 2005 à 21:12:07

      Un décompilateur ne peut te sortir que de l'assembleur (langage très proche du fonctionnement de l'ordinateur) mais pas directement du C, et en plus à la compilation tu perds les commentaires, la mise en forme, les noms de variables...

      En plus, en général tu n'as pas le droit de décompiler un programme, sauf si il est libre ou opensource et à ce momment tu peux récupérer la source.

      ;)
      • Partager sur Facebook
      • Partager sur Twitter
      Anonyme
        7 décembre 2005 à 23:37:38

        Non, il n'existe aucun décompilateur.

        Louisclem > tu fonconds décompilateur et désassembleur. Désassembleur, comme son nom l'indique, désassemble, et quand on a désassemblé un truc assemblé, on a ce qui a servi a assembler le truc assemblé, donc l'assembleur!
        Ca va? T'as suivi? Pas trop désassembrouillé?
        • Partager sur Facebook
        • Partager sur Twitter
          7 décembre 2005 à 23:53:50

          Citation : louisclem

          Un décompilateur ne peut te sortir que de l'assembleur (langage très proche du fonctionnement de l'ordinateur) mais pas directement du C, et en plus à la compilation tu perds les commentaires, la mise en forme, les noms de variables...

          En plus, en général tu n'as pas le droit de décompiler un programme, sauf si il est libre ou opensource et à ce momment tu peux récupérer la source.

          ;)


          Ouais bah si il est open source, normalement, ils s'Arrangent pour que tu n'es pas à faire des mouvements de kamasutra avancé pour pouvoir accéder à la source.
          • Partager sur Facebook
          • Partager sur Twitter
            8 décembre 2005 à 11:23:09

            Ca existe. :p Malheureusement ca pose plusieurs problèmes.
            D'une comme ca a deja été dit on perd le nom des variables , commentaires et tout ce qui peut en gros servir a comprendre le code.
            De deux le code décompilé ne marchera pas forcément a la recompilation (la méthode n'est pas tres efficace). :)
            De trois le code décompilé ne sera pas super optimisé. :)
            En fait en décompilant ca ne prend que le fonctionnement, donc le code obtenu n'a RIEN A VOIR avec le code d'origine. ;)

            Ah oui et finalement la décompilation utilise une technique de reverse engineering, ce qui est illégal en france il me semble (quoique je ne sois pas sur de cette information). :-°

            Victor, le désassemblage peut etre considéré comme une décompilation en langage assembleur non ? La non plus je connais pas assez pour me prononcer donc ... :p

            <lien url="http://fr.wikipedia.org/wiki/Décompilateur">Wikipédia sur la décompilation</lien>
            <lien url="http://fr.wikipedia.org/wiki/Rétro-ingénierie">Wikipédia sur le Reverse engineering</lien>
            • Partager sur Facebook
            • Partager sur Twitter
              8 décembre 2005 à 11:40:29

              Ce n'est pas illégal si tu as acheter le logiciel et que le fournisseur de ce logiciel ne mets pas de mise a jour ce qui fait que tu est obliegr de le désassembler ou faire du reverse ingeniering pour le faire marcher !!
              • Partager sur Facebook
              • Partager sur Twitter
                8 décembre 2005 à 12:35:02

                Faut lire les contrats de license un peu hein. C'est illégal dans pratiquement tous les cas mais évidemment personne ne te poursuivra stu le fais dans ton coin pour étudier ; ce n'est _pas_ plus légal mais personne ne le sait...
                • Partager sur Facebook
                • Partager sur Twitter
                  8 décembre 2005 à 12:37:50

                  Regarde bien le contrat qui va avec ton logiciel, dans 99.99% des cas, le retro-engineering est formellement interdit, même si le logiciel ne marche pas.

                  Et puis, je vois pas comment toi ou n'importe quelle personne lambda pourrais le débugger de cette façon
                  • Partager sur Facebook
                  • Partager sur Twitter
                    8 décembre 2005 à 12:46:57

                    Exactement, le code qui est fait ainsi est tellement incompréhensible qu'il est impossible pour nous , commun des mortels , de le comprendre. Ou alors il faudrait bien bosser dessus, mais dans ce cas la autant coder soi meme le programme.
                    • Partager sur Facebook
                    • Partager sur Twitter
                    Anonyme
                      8 décembre 2005 à 12:54:26

                      D'accord, je me suis trompé, il existe des décompilateurs C ( http://www.debugmode.com/dcompile/disc.htm )
                      Mais avouez que c'est assez useless au vu de l'output :D

                      Hum, ErGo, habituellement décompiler = trouver le code ayant servi à la compilation, dans le langage d'origine ;)
                      • Partager sur Facebook
                      • Partager sur Twitter
                        23 décembre 2005 à 16:56:40

                        A mon avis, si il y a un programme qui permet de passer du C au binaire, il y a forcement l'inverse. Mais bon, peut-être que personnr ne c'est penché dessus ( ou alors je me gourre completement :lol: ).
                        • Partager sur Facebook
                        • Partager sur Twitter
                          23 décembre 2005 à 17:05:09

                          tu te gourres complétements ...

                          Par exemple
                          En C quand tu crées une variable, tu réserves de la mémoires ou les informations vont être stocker. La nom de la variable ne veut rien dire en soit et quand tu passes en language assembleur ce n'est plus un nom de variable mais la localisation de ton espace mémoire .. donc tu as perdu le nom de ta variable.

                          Il est en effet possible de prendre de transposer de l'assembleur en C mais ça ne marche pas dans 50% des cas et ça te sort souvent du C quasi imcompréhensible. Je regarde si je retrouve le logiciel qui permet de faire ça et je vous file le liens.
                          • Partager sur Facebook
                          • Partager sur Twitter
                            23 décembre 2005 à 17:16:51

                            Un décompilateur, c'est quasi-impossible, car
                            • Le code est optimisé par le compilateur
                            • Le code est optimisé par le lieur
                            • Les types et les tableaux ne sont pas écrit
                            • Toutes les variables deviennent des pointeurs
                            • ...

                            Et ce n'est qu'un extrait de ce qui s'oppose à l'existance du décompilateur.

                            Par contre, tu peux désassembler, car le code machine est très proche du code assembleur.
                            • Partager sur Facebook
                            • Partager sur Twitter

                            Un décompilateur?

                            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                            • Editeur
                            • Markdown