C++ Decompiler / Disasembler

Servus,
ich hätte da mal eine frage.
Kennt jemand einen guten C++ Decompiler / Disasembler der .dlls und .exes in cpp datein "umwandelt"?
Er sollte blos nicht abstürzen wenn ich ihn öffne. Und Kostenlos sollte er auch sein.
Wenn nicht Dann sagt mir trozdem bitte bescheid
MfG errox
 
Zwar nicht C++, aber einige C Decompiler: http://www.program-transformation.org/Transform/MachineCodeDecompilers

Du solltest dir aber im klaren sein, dass die Ergebnisse recht beschränkt sind, da die Dekompilerung von nativen Programmen in Hochsprachen wie C/C++ sehr kompliziert ist und du wohl niemals den originalen Quellcode erhalten wirst. Das funktioniert nur bei ByteCode-Sprachen wie z.b. Java oder C# vernünftig.
 
Den originalen C/C++ Code wirst du niemals bekommen können, das solltest du dir gleich aus dem Kopf schlagen.
Denn wo wäre dann der Sinn des Kompilierens, wenn man den Code wieder entziffern könnte?
Für solche Sachen gibt es bash-scripts, usw.

Und von den Kommentaren im Quellcode sollten wir gar nicht erst anfangen, denn
die werden beim Kompilieren einfach ignoriert ;)
 
Denn wo wäre dann der Sinn des Kompilierens, wenn man den Code wieder entziffern könnte?
Der Sinn des Compilierens besteht definitiv nicht primär darin, den Quellcode unlesbar zu machen. das ist für viele bloss ein netter nebeneffekt. Es besteht darin, das hochsprachenprogramm der maschine verständlich zu machen. scripte und interpreter-systeme waren damals etwas "teuer" auf kosten der rechner.
 
nicht zu vergessen #define präprozessoren ^^
aber es reciht mir wenn ich einen quellcode bekomme um mit dem das selbe programmnochmal zu kompilieren / editieren
 
Nochmal: Bei einem nicht-trivialen Programm ist das(Hochsprachen-Quellcode wiederherstellen) so gut wie nicht möglich. Das einzige was du machen kannst, ist den Maschinencode direkt zu editieren, das ist z.B. mit OllyDbg möglich, womit man den Maschinencode disassemblen und editieren kann. Mit C++ oder anderen Hochsprachen hat Disassembly aber nur entfernt Ähnlichkeit und es ist auch schwerer einfach Code einzufügen oder ähnliches und benötigt je nach Aufgabe auch recht solides Verständnis von Assembly und dem PE-Format.
Es gibt auf dem Board und per Google genug Infos dazu, wenn es das ist was du willst.

Ausnahme: In .net-Sprachen oder Java etc. geschrieben Programme.
 
Der Sinn des Compilierens besteht definitiv nicht primär darin, den Quellcode unlesbar zu machen.
Dies habe ich auch nicht behauptet. Es ist, wie du sagst ein Nebeneffekt.
Bloß sehen es viele als ungemeinen Vorteil und benutzen es nunmal statt Scriptsprachen.

Du verstehst, was ich meine +.~
 
Original von dietox
Der Sinn des Compilierens besteht definitiv nicht primär darin, den Quellcode unlesbar zu machen.
Dies habe ich auch nicht behauptet. Es ist, wie du sagst ein Nebeneffekt.

Das ist Quatsch. Hochsprachen wie C wurden ja extra dafür entwickelt, damit man nicht auf ASM/Hardware-Ebene programmieren muss und sich um die Register, etct kümmern muss. Von dem her ist das kein "Effekt" o.ä, anders könnten sie einfach nur nicht ausgeführt werden.
 
"REC Studio" fällt mir grad nur so ein. Google mal danach.
Ich kann dir, wenn du dich für sowas interessierst, noch diese Seite nahelegen:
exetools.com
die ging grad zwar nicht, aber vlt hatte firefox nur wieder mucken ^^
 
Der kann nicht mal das "hello world" programm decompilieren, ohne ein VC++ Runtime error zu bekommen.
Hier der source code, für hello world

#include "iostream"
int main()
{
std::cout << "Hello World" std::endl;
}

Eine exe wird ohne fehler compiliert...

Aber decompiliert ... mit fehler ): und ohne erfolg )::::
 
eins ehr interessantes und erwähnenswertes projekt btw: http://boomerang.sourceforge.net/

ein freier allround-"decompiler". in wirklichkeit wird da nichts "decompiled", er erstellt lediglich aus einer beliebigen ausführbaren datei einen hochsprachen-ähnlichen code (der aber nichts mit dem ursprünglichen code zutun hat).
 
... weil das ned geht und das jahre dauern würde....
theard kann geschlossen werden ohne hoffnung, auf einen c++ decompiler
 
Also Freeware kenn ich keinen guten Decompiler.
Der einzige den ich kenne und auch halbwegs gut funktioniert ist ein Plugin für IDA 5.1
Hier mal ein Link dazu:
http://hexblog.com/2007/04/decompilation_gets_real.html
Könnte aber etwas teuer werden wenn du es dir zulegen willst :/
Desweiteren kann ich dir gleich ssagen, dass es dieses Tool derzeit noch nicht im Internet mit C*** gibt. So kannst du dir die Suche ersparen ;D

Mfg Iarumas
 
Zurück
Oben