Dekompilieren

Hallo,

welche Dateien kann man dekompilieren.
Wo gibt es die entsprechende Software.

Vielen Dank im Voraus

gruss

Simon

Moin

welche Dateien kann man dekompilieren.

Bineare ausführbare Dateien und Bib’s zu ASM.

Wo gibt es die entsprechende Software.

für welche Sprache/OS ?

cu

Moin

welche Dateien kann man dekompilieren.

Bineare ausführbare Dateien und Bib’s zu ASM.

Java Bytecode kann man bspw. auch decompilen (hab das mal mit dem Code vom Community Chat gemacht, war interessant :wink:)

Wo gibt es die entsprechende Software.

für welche Sprache/OS ?

Ich schließe mich der Frage an und warte mit Dir :smile:

Gruß,

Malte.

Hallo,

Ich möchte mehr wissen über die Programmierspachen C, C++ und ähnliche, oder anders gesagt, in jener Sprache die Programme welche unter Windows laufen gschrieben sind(z. B. der Internet Browser Opera).
Können solche Programme dekompiliert werden?
Vielen Dank!

gruss

Simon

Hallo,
etwas zum thema decompilieren steht im Archiv hier
-> http://www.wer-weiss-was.de/cgi-bin/forum/showarchiv…

Es gibt also Software, die sich „Decompiler“ nennen, aber es
funktioniert nur eingeschränkt im Gegensatz zum Reassambler.
Gruß Uwi

welche Dateien kann man dekompilieren.
Wo gibt es die entsprechende Software.

Vielen Dank im Voraus

gruss

Simon

Je nachdem, mit welcher Programmiersprache eine Software geschrieben wurde, ist das dekompilieren leichter oder schwerer.
Wenn ein Programm mit Delphi geschrieben wurde, ist das schwierig, weil der Code in Maschinencode übersetzt und verschlüsselt wird. Man kann also nie den 100%igen Quellcode wiederherstellen (Gilt eigentlich für alle Entwicklungsumgebungen).

Disassemblieren ist eine Methode, die ich kenne. Zum Neukompilieren des Codes brauchst du einen Assembler (wie z.B. TASM).

Ach ja,
Dekompilieren bzw. Disassemblieren ist (sofern im Lizenzvertrag nicht anders angegeben) illegal und stellt eine Verletzung der Urheberrechtsbestimmungen dar.

B^B

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Ich möchte mehr wissen über die Programmierspachen C, C++ und
ähnliche, oder anders gesagt, in jener Sprache die Programme
welche unter Windows laufen gschrieben sind(z. B. der Internet
Browser Opera).

Nimm Dir entsprechende Lehrbücher. Selbst wenn Du kommerzielle Programme im Sourcekode hättest, würdest Du i.d.R. nicht viel lernen können, ausser wie man es nicht macht :wink:

Können solche Programme dekompiliert werden?
Vielen Dank!

Nur Programme im Zwischencode (.net und Java) werden einigermassen wieder lesbar. Optimierter Maschinencode aus C/C++ kann man nicht mehr vernünftig in Quellcode zurückwandeln (dies erfordert genaueste Kenntnisse der Codegen-Engine des benutzten Compiler und komplizierte Heuristiken - so ein Tool schreibt keiner)

Wenn Dich der Zusammenhang zwischen Quell- und Maschinencode interessiert, so veruchs 'mal mit Lehrbüchern über Compilerbau (Aho, Seti, Ullman). Ist aber kein einfacher Stoff, so ungefähr 5. Semester Informatik.

Hallo,

Ich möchte mehr wissen über die Programmierspachen C, C++ und
ähnliche, oder anders gesagt, in jener Sprache die Programme
welche unter Windows laufen gschrieben sind(z. B. der Internet
Browser Opera).
Können solche Programme dekompiliert werden?

es gibt Decompiler, die einen Maschinencode, welcher mit einem
beliebigen Compiler erzeugt wurde wieder zurückinterpretieren,
aber es wird nie wieder das rauskommen, was vorher als Quelltext
existiert hat. Die Rückübersetzung kann nicht eindeutig geschehen,
so daß eine „echte Decompilierung“ nicht möglich ist.

Das bedeutet, daß Du den Maschinencode prinzipiell nicht mehr
ansehen kannst, welche die Hochsprache war, in der das Programm
geschrieben wurde Im Einzelnen geht das zwar schon, wenn man
weiß, wie bestimmte Objekte in C++ oder anders in Delphi aussehen
und wie die Struktur der erzeugten Maschinenprogramme ist
(da gibt es schon einige Merkmale).
Trotzdem ist es eben so, daß man mit verschiedenen Compilern
den gleichen Maschinencode erzeugen kann und umgekehrt den Maschinen-
code in beliebige Compilersprachen zurück übersetzen könnte
(und da auch noch in vielen Varianten).
Was nie mehr rauskommt, ist die Syntax und Struktur des Quelltextes,
die sich der Programmierer mal einfallen lassen hat.
Die einzige eindeutige Zuordnung geht also nur von Maschinencode
bis zum Assemblercode.
Gruß Uwi

Was anderes
Hallo,
wenn Du was lernen willst, dann würde ich Dir für Desktopprogramme
unter Windows niemals C++ empfehlen. Aus Erfahrung mit unendlichem
Leid bei der Programmierung mit C++ (bei den lieben Kollegen
Programmiern in der Fa.) kann ich Dir davon zunächst nur abraten.

Dagegen ist Delphi eine wesentlich wohltuhendere Variante, die zunächst keine bekannten Einschränkungen hat gegenüber C++.
Das ist insbesondere für Techniker und Ing. die bessere Wahl.

Für Delphi gibt’s dann auch eine Unmenge von Software und Komponenten,
Objekten (incl. Quelltext), die Du analysieren und ummodeln kannst.

Für Controllerprogramierung ist C dagegen sicher gut.
Gruß Uwi

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]