Hexdump-Ausgabe (insbesondere xxd) für Exec-Dateien

700
user4493605

Wenn ich einen Hexdump mit dem Befehl xxd -b "textile.txt"in OS X ausführte, druckt das Terminal sowohl das Binär- als auch das tatsächliche ASCII-Äquivalent in der rechten Spalte und zeigt den Inhalt der Textdateien in Englisch an.

Wenn ich ein einfaches C-Programm erstellt habe, das sonst wenig tut, dann "Hallo Welt" auf das Terminal drucken und als .execDatei speichern, xxd -benthält die Befehlsausgabe eine Binärdatei, die bei der Übersetzung in den Originaldateien der .exec-Dateien nirgends zu finden ist Quelltext vorkompilieren.

Beispiel:

0002034: 00000101 00000000 00000010 01011111 01101101 01101000 ..._mh 000203a: 01011111 01100101 01111000 01100101 01100011 01110101 _execu 0002040: 01110100 01100101 01011111 01101000 01100101 01100001 te_hea 0002046: 01100100 01100101 01110010 00000000 00100001 01101101 der.!m 000204c: 01100001 01101001 01101110 00000000 00100101 00000010 ain.%. 

Ich gehe davon aus, dass der Kompilierungsprozess dafür verantwortlich ist, was mich zu der Theorie veranlasst, dass diese Ausgabe in der äußersten rechten Spalte tatsächlich Assembly-Code sein kann.

Meine Frage in der Zusammenfassung: Was ist die Art der Hex-Dump-Ausgabe für .exec-Dateien, insbesondere: Ist es Assembler-Code, und wenn nicht, was ist es dann?

Danke im Voraus.

0

1 Antwort auf die Frage

0
Gombai Sándor

Nicht wirklich Versammlung; Aber ich weiß, dass es ziemlich üblich ist, Montage- und Maschinencode zu mischen. Assembly ist immer noch eine Sprache, die von (einigen) Menschen gelesen werden kann, und muss so kompiliert werden, dass sie von Maschinen essbar ist. Was Sie hier sehen, ist der Maschinencode.

https://en.wikipedia.org/wiki/Maschinencode