Was ist ein Decompiler?
Ein Decompiler ist ein Programm, die ausführbaren Code und erzeugt Quellcode ist.
Ein Compiler erzeugt ausführbaren Code aus Source-Code; A Decompiler versucht, um diesen Prozess.
Ein Decompiler ist eine spezielle Version eines Disassembler. Während ein Disassembler wandelt ausführbaren Code zu Assembler, ein Decompiler versucht, weiter zu gehen und wandeln die ausführbare Datei in den Quellcode in einer Hochsprache, wie C oder C + +.
Decompilers
Boomerang
Das Ziel ist die Boomerang-Projekt ist ein Versuch zur Entwicklung einer echten Decompiler für den Maschinen-Code-Programme durch die Open-Source-Community. Ein Decompiler nimmt als Eingabe eine ausführbare Datei, und versucht, ein hohes Niveau, compilierbaren, möglicherweise sogar wartbare Quelldatei für die gleiche Sache. Es ist daher das Gegenteil von einem Compiler, die eine Datei und eine ausführbare Datei. Jedoch eine allgemeine Decompiler versucht nicht, um jede Aktion der Decompiler, sondern wandelt die Eingabe Programm so oft, bis das Ergebnis hohes Quell-Code. Es wird daher nicht die ursprünglichen Source-Datei, wie es wohl nichts. Dabei spielt es keine Rolle, wenn die ausführbare Datei hat Symbole oder nicht, oder wurde aus einer bestimmten Sprache. (Allerdings, deklarative Sprachen wie ML werden nicht berücksichtigt.)
Die Absicht ist die Schaffung eines retargetable Decompiler (dh eine, dekompilieren kann verschiedene Arten von Maschinen-Code-Dateien mit geringen Aufwand, z. B. X86-Fenster, sparc-solaris, etc). Es war auch zu sehr modular aufgebaut, so dass verschiedene Teile des Decompiler kann ersetzt werden mit experimentellen Module. Man hatte die Absicht, auch interaktiv, a la IDA Pro, da einige Dinge (und nicht nur Variablennamen und Kommentare, aber diese sind natürlich sehr wichtig) von Experten Intervention. Ob die Interaktivität gehört in die Decompiler oder in einem separaten Instrument nach wie vor unklar.
Mit der Umwandlung der Semantik der einzelnen Anweisungen und mit leistungsfähigen Techniken wie Static Single Assignment Dataflow Analyse, Boomerang werden (weitgehend) unabhängig von der genaue Verhalten der Compiler, der es verwendet werden soll. Optimierung sollte keinen Einfluss auf die Ergebnisse. Daher ist das Ziel ist eine allgemeine Decompiler.
|
Bookmark Was ist ein Decompiler?

