EXE-Dateien editieren bzw. lesen / Geht das?

Hallo,

ich habe da eine *.exe Datei und möchte die irgendwie lesen. Ist das Assembler? Wo wird sie im RAM abgelegt?

Vielen Dank für Eure Antworten!

Gustav

ich habe da eine *.exe Datei und möchte die irgendwie lesen.
Ist das Assembler? Wo wird sie im RAM abgelegt?

Was willst du da konkret „lesen“?
Das ist Maschinencode. Die verschiedenen Zeichen die du beim öffnen siehst stehen für verschiedene Befehle. Mit denen kannst du als normaler Mensch nichts anfangen.
Du kannst zwar einen Deassembler benutzen (ist das eigentlich legal?) aber das bringt dich auch nicht weiter, da du dann Assemblercode hast, den man als normaler Mensch auch nicht versteht.

Gruß
Mario

Hi Mario,

wo werden denn die Dateien im Speicher abgelegt?
Kann ich dann mit dem Disassembler von debug (DOS-Fenster) das anschauen? (Lesen ist legal, oder?)

Danke,
Gustav

Hom wasn zufall nach sowas habe ich auch gesucht…

Wie kann mann eigentlich den Arbeitsspeicher auslesen lassen!
Also mit Process ID und Speicherzuteilung der einzelnen Programme …

Ich mein es müssen ja schon zich leute auf diesen Gedanken gekommen sein…

Ob man mit der Information die man aus sein Speicher was anfangen kann ist ein anderes Problem.

Hallo Gustav,

dafür gibt es einen Hexeditor, zumindest unter Linux ist das kein Problem (auch wenn sie da nicht exe heissen). Einen zum programmieren geeigneten Editor kann man auf Hex-Code umschalten. Den kannst Du dann mit viel Aufwand lesen, wenn Du weißt, welcher Hexcode welchem Assembler-Code entspricht. Da gibt es 1-Byte, 2-Byte u. 3-Byte lange Befehle, Registernamen werden genannt und Speicheradressen. Wenn Du so was noch nie gemacht hast, glaube ich nicht, daß es Sinn hat überhaupt da rein zu schauen.

Gruß
Tilo

Hallo,

ich habe da eine *.exe Datei und möchte die irgendwie lesen.

Mit einem Debugger.

Ist das Assembler?

Teilweise, daneben natürlich auch alles was an Text etc. im Programm nötig ist.

Wo wird sie im RAM abgelegt?

Das steht in der Datei selbst :smile: , der Debugger (genau wie das Betriebssystem) regelt das aber für dich. Der Programstart wird dann normalerweise (Intel) im Registerpaar CS:IP abgelegt.
Wie meine Vorredner bereits erwähnten, seht in vielen „Lizenzen“, daß das Debuggen (auch teilweise) verboten ist, das liegt daran, daß es auch Debugger gibt, die den Quelltext (je nach Compiler) nahezu wiederherstellen können (oder zumindest versuchen), und der ist per Copyright geschützt.

Cu Rene

Debugger
Hallo René,

Debugger …, die den Quelltext … nahezu wiederherstellen
können (oder zumindest versuchen), und der ist per Copyright
geschützt.

ach, das ist mir neu. Kannst du mir Namen von solchen Debuggern nennen (vielleicht sogar mit einem Hinweis, wo ich die bekommen kann)?

Herzliche Grüße

Thomas Miller

Hallo Thomas!

Debugger …, die den Quelltext … nahezu wiederherstellen
können (oder zumindest versuchen), und der ist per Copyright
geschützt.

ach, das ist mir neu. Kannst du mir Namen von solchen
Debuggern nennen (vielleicht sogar mit einem Hinweis, wo ich
die bekommen kann)?

Da ich in letzter Zeit hauptsächlich in Java programmiere, fällt mir dazu beispielsweise der Decompiler JAD ein, obwohl das jetzt eigentlich nicht mehr zur Ausgansfrage paßt, da ja nach einem exe-file gefragt wurde. Mit JAD lassen sich aus class-files (Bytecode) auf jeden Fall wieder java-files (Text) erzeugen.
-> http://www.meurrens.org/ip-Links/java/codeEngineerin…

Grüße, Tanja

Hallo Tanja,

http://www.meurrens.org/ip-Links/java/codeEngineerin…

danke schön! Leider lässt er sich nicht runterladen (404).

Herzliche Grüße

Thomas Miller

Sorry,

Debugger …, die den Quelltext … nahezu wiederherstellen
können (oder zumindest versuchen), und der ist per Copyright
geschützt.

ach, das ist mir neu. Kannst du mir Namen von solchen
Debuggern nennen (vielleicht sogar mit einem Hinweis, wo ich
die bekommen kann)?

ich kenne das auch nur vom Hörensagen, und programmiere auch nur noch in Java, werde die Ohren aber mal offenhalten.
Vielleicht hat c’t (oder eine andere Zeitschrift) sowas mal vorgestellt, ein Blick in deren Archiv lohnt oft.

Cu Rene

Hallo Thomas!

http://www.meurrens.org/ip-Links/java/codeEngineerin…

danke schön! Leider lässt er sich nicht runterladen (404).

Ups. Ich habe meine Version mal unter http://www.fh-furtwangen.de/~schaett/jadnt157.zip (178 kb) zum Download bereit gelegt. JAD ist ein Kommandozeilen-Tool und Freeware.

Es gibt einige Windows-Programme, die JAD als Decompiler nutzen, aber die sind dann immer kostenpflichtig, beispielsweise Decafe. Es gibt zwar eine Trial-Version unter http://decafe.hypermart.net, mit der sich die Klassen decompilieren, aber nicht als Java-File abspeichern lassen.

Grüße, Tanja

Danke! o.w.T.

Hallo René,

werde die Ohren aber mal offenhalten.

danke, wenn du Zeit hast, halte mich auf dem Laufenden …

Herzliche Grüße

Thomas Miller

hm…
bei java-code kann man das zB sehr gut wiederherstellen…hab ich gehört*g*
da ich kein java kann,hab ich das noch net gemacht.
aber das geht, zum teil wirklich die formatierung, das einzige was dan weg ist, sind dan die kommentare…!!

gruss-Sven.

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