Un decompiler prend en entrée un fichier exécutable, et tente de créer un niveau élevé, le fichier source compilable, peut-être même maintenable qui fait la même chose.
Il est donc à l'opposé d'un compilateur, qui prend un fichier source et fait un exécutable. Cependant, un décompilateur générale ne cherche pas à renverser toutes les actions de l'decompiler, plutôt il transforme le programme d'entrée jusqu'à ce que le résultat est le code source de haut niveau. Il ne sera donc pas recréer le fichier source d'origine; probablement rien de tel.
Il n'a pas d'importance si le fichier exécutable a des symboles ou non, ou a été compilé à partir d'une langue particulière. (Cependant, langages déclaratifs comme ML ne sont pas pris en compte.)
L'intention est de créer un décompilateur reciblable (ie celui qui peut décompiler différents types de fichiers de code de la 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 différentes parties de la decompiler peuvent être remplacés par des modules expérimentaux. Il était destiné à devenir éventuellement interactive, à la IDA Pro, parce que certaines choses (pas seulement les noms de variables et les commentaires, bien que ces sont évidemment très importants) nécessitent une intervention d'experts. Que l'interactivité appartient dans le decompiler ou dans un outil distinct reste incertaine.
En transformant la sémantique des instructions individuelles, et en utilisant des techniques puissantes telles que l'analyse statique simple affectation de flux de données, Boomerang devrait être (largement) indépendant du comportement exact du compilateur qui est arrivé à être utilisé. Optimisation ne devrait pas affecter les résultats. Par conséquent, l'objectif est un décompilateur général.
Limitations:
· Dans le cas où vous voulez essayer Boomerang car il est aussi un décompilateur (par opposition à expérimenter avec lui, ou de l'améliorer), être conscient de ses limitations sévères. Au début de 2004, Boomerang sera seulement décompiler X86 (Linux / X86 ou Windows PE), SPARC (Solaris, Linux ou vraisemblablement / SPARC), ou Power PC programmes (/ Mac OS X. Linux / PPC ou). En particulier, notez qu'il ne sera pas décompiler programmes DOS ou NE (Windows 3.1). Ajout d'un autre processeur est un grand (plusieurs mois) entreprise.
· Il ne fera que générer C, pas C ++. Il décompiler les programmes C ++ bien sûr, (et toutes sortes de programmes, y compris assembleur). Vous pouvez être en mesure de remettre modifier certains programmes C ++ C ++ utilisables dans le code source. Pour les programmes compilés MSVC, à présent que vous avez à nourrir à la cuiller le decompiler et lui dire qu'il est un paramètre de registre (thiscall convention d'appel). Les commutateurs pour gérer cette situation sont complexes; voir l'aide du commutateur -sf.
Détails logiciels:
Version: alpha 0.3
Date de transfert: 3 Jun 15
Licence: Gratuit
Popularité: 182
Commentaires non trouvées