Wie kann ich den Code in .exe Dateien sehen?

4 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet

wenn diese zb in c# geschreiben wurde dann mit dnspy https://github.com/dnSpy/dnSpy oder wenn diese in c++ compiled wurde kannst du diese nur über zb ghidra https://ghidra-sre.org bedingt sehen

Woher ich das weiß:Hobby – Programmiere seid 6 Jahren Modifikationen für Spiele

Kommt auf die Ursprungssprache an. .NET Programme kannst Du mit ildasm sehr einfach dekompilieren. Mit ILSpy sogar nach C#.

Wenn es aber ein C/C++-Programm ist oder aus einer anderen Programmiersprache, die direkt zu Maschinencode compiliert, dann kannst Du es nur disassemblieren und das ist unschön.


BcksteinForelle  19.04.2021, 15:54

naja aber so sachen wie Ghidra und IDA haben ja etwas wo du den Decompilierten code / pseudocode sehen kannst wenn man viel arbeit reinsteckt und viel benennt könnte man auch was gut erkennen

ohwehohach  19.04.2021, 16:33
@BcksteinForelle

Also erstmal liefern beide nur Assembler-Code. Sie können eventuell noch irgendwelche API-Aufrufe (z.B. DLL Aufrufe) abbilden, aber das wars auch schon, wenn die Anwendung nicht mit Debug-Informationen kompiliert wurde.

Klar, mit genügend Aufwand kannst Du Dich natürlich auch mit Assembler rumschlagen und herausfinden, was passiert, aber schön ist anders.

Und es gibt meines Wissens nach schlicht und einfach kein Tool welches aus einem Binärkompilat wieder "schicken C++ Code" erstellen kann.

BcksteinForelle  19.04.2021, 16:34
@ohwehohach

hast du discord könnte dir da mal zeigen es ist mehr oder weniger lesbarer code bzw viel verständlicher als ASM

ohwehohach  19.04.2021, 16:35
@BcksteinForelle

Na dann ist das ja umso besser. Aber ob der Fragesteller damit was anfangen kann, steht nochmal auf einem ganz anderen Blatt. Er kann ja mal versuchen, sich in ein ihm unbekanntes Open Source Projekt einzuarbeiten und schauen, wie weit er kommt... 😀

Max123binherbei 
Beitragsersteller
 19.04.2021, 15:41

Kann ich denn irgendwie sehen was das Programm macht, also nicht nur die Benutzeroberfläche

ohwehohach  19.04.2021, 15:44
@Max123binherbei

Nein. Außer, wie gesagt, Du kannst Assembler oder das Programm kann, weil es z.B. ein .NET Programm ist, in Quellcode rückübersetzt werden.

objdump -d prog.exe >disas.asm
Woher ich das weiß:Berufserfahrung

WitchHunter0815  19.04.2021, 17:47

Die Idee ist nicht schlecht, aber ich denke kaum, dass der FA Assembler versteht :)

im allgemeinen Fall gar nicht.


Max123binherbei 
Beitragsersteller
 19.04.2021, 15:38

Oh schade danke für deine Antwort