Programmieren - alles kontrollieren 4.941 Themen, 20.715 Beiträge

Wie funktioniert ein Disassembler?

MP48 / 5 Antworten / Baumansicht Nickles

Hallihallo,
In einem anderen Forum postete ein Teilnehmer, er hätte die "unbekannte Datei mal disassembelt". Per google fand ich dann auch einen Diassembler, gleich ausprobiert, aber irgendwie nicht schlau geworden. Aus einer *.exe macht das Programm also einen Zahlensalat. Und was kann ich dann damit machen? Wenn ich mich recht erinnere übersetzt ein Assembler "Menschensprache" in Maschinensprache, funktioniert ein Disassembler genau andersrum? In welche (Programmier?)sprache wird dann rückübersetzt?
Ich hoffe ihr könnt mir helfen.

bei Antwort benachrichtigen
MP48 Nachtrag zu: „Wie funktioniert ein Disassembler?“
Optionen

Ich bins nochmal. Ich habe mitbekommen, dass so eine Aktion gegen Urheberrechte verstößt. Um die Gemüter zu beruhigen: Ich habe ein hello-world diassembelt (hab ich vorher in c++ geschrieben), in der Hoffnung, irgendwas vom c-code wiederzuerkennen.

bei Antwort benachrichtigen
thomas woelfer MP48 „Wie funktioniert ein Disassembler?“
Optionen

ein assembler uebersetzt von assembly in maschinencode; ein disassembler machts in der anderen richtung. bei assembly handelt es sich im wesentlichen um die direkte symbolische repräsentation von maschinen-instruktionen.

WM_HOPETHISHELPS

this posting contains no tpyos.
bei Antwort benachrichtigen
MP48 thomas woelfer „ein assembler uebersetzt von assembly in maschinencode ein disassembler machts...“
Optionen

Also sehe ich das richtig, dass ich, als Normalsterblicher, damit nix anfangen kann. Gibt es dazu Quellen (Inet, Bücher...) wo ich lernen kann diese Anweisungen zu interpretiern und zu verstehen?

bei Antwort benachrichtigen
Andreas42 MP48 „Also sehe ich das richtig, dass ich, als Normalsterblicher, damit nix anfangen...“
Optionen

Hi!

Was der Assembler macht, ist den Maschinencode eines Programmes in einen halbwegslesbaren Assembler-Code zurückzuverwandeln.

Wenn du diesen Assemblercode verstehen willst, musst du dich also mkit der Maschinensprache des Rechners befassen. In deinem Fall wird das der Code für Intel-CPUs sein.

Wenn du Google mit den suchbegriffen assembler intel tutorial fütterst, dann würde ich mich wundern, wenn es keine Fundstellen dazu gibt. ;-)

Ebenso würde ich bei Amazon einfach mal in den Büchern nach dem Wort assembler suchen. Echte aktuelle Tipps kann ich dir nicht geben. Ich hab' meinen Assemblereinstieg vor >20 Jahren mit einem C64 gemacht (sein Assemblercode unterscheidet sich natürlich von dem der Intel-CPUs, aber die Grundlagen sind übertragbar). Damals gab's sehr gute Sonderhefte des 64er-Magazins mit dem man den Einstieg problemlos schaffen konnte (wenn man die nötigen Programme, die in form seitenlanger HEX-Listings abgedruckt waren - Assembler und Disassembler/Maschinensprachemonitor - in tagelanger Arbeit abgetippt hat. ;-)
Danach habe ich mir ein reduziertes Buch zum Thema Assembler bei Intel-CPUs besorgt und den Rest dann mit dem Referenzhandbuch des Borland-Turboasseblers erschlagen. Das ist heute alles nicht mehr aktuell (bzw. nicht mehr im Handel).

Bis denn
Andreas

Hier steht was ueber mein altes Hard- und Softwaregedoens.
bei Antwort benachrichtigen
MP48 Nachtrag zu: „Wie funktioniert ein Disassembler?“
Optionen

So, ich hab mal nach nem Tutorial gegoogelt (danke Andreas). Um Gottes Willen! Ganz schön harter Tobak. Naja, das muss ich mir mal in ner ruhigen Minute zu Gemüte führen. Danke euch allen.

Bis dann
MP48

bei Antwort benachrichtigen