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Ă©compilateursBoomerangL'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.

