Seite 1 von 3
Maschinencode => PureBasic
Verfasst: 01.06.2006 20:01
von Programie
Gibt es Decompiler, die Maschinencode in einen PureBasic Quellcode übersetzen.
Ich hab zwar welche gefunden, aber die übersetzen nur PureBasic Programme (???).
Und ich hab welche gesehen die übersetzen alle Maschinencodes ind C++ (Kann aber kein C++

).
Kennt ihr so einen Decompiler (Ausgabe: PureBasic)?

Verfasst: 01.06.2006 20:07
von MVXA
gibts nicht. Ich denke, es gibt auch keinen "Disassembler" für C++. Wo
würden wir da hin kommen? PB Disassemblen, Namen ändern und dann
als eigenes Produkt weiter geben?
Verfasst: 01.06.2006 20:20
von Programie
MVXA hat geschrieben:gibts nicht. Ich denke, es gibt auch keinen "Disassembler" für C++. Wo
würden wir da hin kommen? PB Disassemblen, Namen ändern und dann
als eigenes Produkt weiter geben?
-->
http://www.program-transformation.org/T ... ecompilers<---
Gibt es zwar für C oder C++ aber nicht für PureBasic

.
Verfasst: 01.06.2006 20:42
von Kaeru Gaman
einen Decompiler für PB halte ich für eine (endliche unwahrscheinlichkeit) unmöglichkeit,
weil durch die 2pass-compilierung zuerst ein optimierter ASM-quellcode erstellt wird.
in diesen optimierten code könnte man natürlich disassemblieren,
(also, diesen optimierten code könnte man wiederherstellen)
aber daraus rückschlüsse auf den PB-quellcode zu schliessen wäre unmöglich,
da den PB-befehlen durch den optimierungsvorgang eben
keine eindeutigen ASM-code-gruppen zugeordnet sind.
Verfasst: 01.06.2006 21:03
von ts-soft
Wenn es DeCompiler gibt, die aus einer beliebigen Win32 Exe einen
C-Source erstellen können, so ist es doch wesentlich einfacher, aus einer mit
PB erstellten Exe, einen Source zu erstellen, der der PB Syntax entspricht.
Aber besonders leserlich wird der nicht sein
Mit .NET solls wohl unter bestimmten Voraussetzungen noch einfacher sein,
da kriegste dann fast Original-Source wieder. (Nur Gerücht?) Habs mal
gehört oder gelesen.
Verfasst: 01.06.2006 21:10
von Kaeru Gaman
ts-soft hat geschrieben:Mit .NET solls wohl unter bestimmten Voraussetzungen noch einfacher sein,
da kriegste dann fast Original-Source wieder. (Nur Gerücht?) Habs mal
gehört oder gelesen.
was ja nur bedeuten kann, dass .NET
garnicht optimiert,
sondern einfach geblockerten code erzeugt.
aus dem Jahre 1988:
Ein Hauptberuflicher Programmierer hat geschrieben:Assembler brauchst du nicht mehr. Das Geschwindigkeitsproblem wird Hardwareseitig gelöst werden.
aber so läufts momentan echt:
Anonymer Microsoft-Programmierer hat geschrieben:Ist mir doch schnuppe, mit was für umständlichen Code ich die Rechner zukacke, die Dinger müssen halt groß genug und schnell genug sein!
Verfasst: 01.06.2006 21:22
von ZeHa
Wenn es DeCompiler gibt, die aus einer beliebigen Win32 Exe einen
C-Source erstellen können, so ist es doch wesentlich einfacher, aus einer mit PB erstellten Exe, einen Source zu erstellen, der der PB Syntax entspricht.
Warum sollte das wesentlich einfacher sein??
Verfasst: 01.06.2006 21:29
von AndyX
Weil PB ein Singlepass-Compiler ist.
Verfasst: 01.06.2006 21:49
von Kaeru Gaman
schätze mal
> der der PB Syntax entspricht
syntax im sinne von satzbau, da PB näher an gutem ASM ist, als der #%"§&-code in
> beliebigen Win32 Exe
..aber ob das wirklich einfacher ist, wage ich auch zu bezweifeln
@AndyX
Weil PB kein Singlepass-Compiler ist.
Verfasst: 01.06.2006 22:24
von ts-soft
Eine beliebige Exe (egal ob in C, C++, FreeBasic oder PureBasic erstellt), läßt sich in C Code DeCompilieren. Ist doch logisch, wenn die Ursprüngliche Sprache feststeht, dieses noch einfacher ist, weil der PBCompiler aus bestimmten Code-Fragmenten immer bestimmten ASM-Output erzeugen wird. Die zugelinkten Libs sind auch immer identisch.
Warum zweifelt da jemand dran, ist unlogisch
