Identifiant   Mot de passe       Register

Decompiler

Un decompiler est un programme qui prend du code exécutable et produit du code source à partir de sa création.

Un compilateur crée le code exécutable à partir du code source; un décompilateur tentatives d'inverser ce processus.

Un decompiler est une version spĂ©cialisĂ©e d'un dĂ©sassembleur. MĂȘme si un dĂ©sassembleur convertit le code exĂ©cutable en langage assembleur, un dĂ©compilateur tentatives d'aller plus loin et convertir le code exĂ©cutable Ă  code source dans un langage de haut niveau, tels que C ou C + +.

Décompilateurs

Boomerang

L'objectif est le projet Boomerang est une tentative de dĂ©velopper un dĂ©compilateur rĂ©el pour les programmes de code machine Ă  travers la communautĂ© open source. Un decompiler prend en entrĂ©e un fichier exĂ©cutable, et tente de crĂ©er un niveau Ă©levĂ©, compilable, dossier peut-ĂȘtre mĂȘme Ă  maintenir source qui fait la mĂȘme chose. Il est donc le contraire d'un compilateur, qui prend un fichier source et rend un fichier exĂ©cutable. Toutefois, un dĂ©compilateur gĂ©nĂ©ral ne cherche pas Ă  renverser toute action de l'decompiler, plutĂŽt elle transforme le programme d'entrĂ©e jusqu'Ă  ce que le rĂ©sultat est de haut niveau du code source. Il ne sera donc pas recrĂ©er le fichier source d'origine; n'y a probablement rien de semblable. Ce n'est pas grave si le fichier exĂ©cutable a symboles ou non, ou a Ă©tĂ© compilĂ©e Ă  partir de n'importe quelle langue en particulier. (Toutefois, comme les langages dĂ©claratifs ML ne sont pas considĂ©rĂ©es.)

L'intention est de crĂ©er un dĂ©compilateur Retargetable (ie qui peut dĂ©compiler diffĂ©rents types de fichiers de code machine, avec un effort modeste, par exemple, X86-fenĂȘtres, sparc-solaris, etc.) Il a Ă©galement Ă©tĂ© conçu pour ĂȘtre trĂšs modulaire, de sorte que les diffĂ©rentes parties du decompiler peuvent ĂȘtre remplacĂ©es par des modules d'expĂ©rimentation. Elle Ă©tait destinĂ©e Ă  terme, ĂȘtre interactif, a la IDA Pro, car les noms de certaines choses (pas seulement les variables et les commentaires, si ce ne sont Ă©videmment trĂšs important) nĂ©cessitent l'intervention d'experts. Que l'interactivitĂ© appartient Ă  la decompiler ou dans un outil distinct reste floue.

En transformant la sĂ©mantique des instructions individuelles, et en utilisant des techniques puissantes telles que les flux de donnĂ©es d'analyse statique Affectation Individuelle, Boomerang devrait ĂȘtre (largement) indĂ©pendant du comportement exact du compilateur qui est arrivĂ© Ă  ĂȘtre utilisĂ©. Optimisation ne doit pas affecter les rĂ©sultats. Par consĂ©quent, l'objectif est un dĂ©compilateur gĂ©nĂ©ral.

blog comments powered by Disqus

Discuss Decompiler in the forums.

 
(0 - user rating)