Zitat von
Kedariodakon:
Und genau das ist ja mein aktuelles Problem...
sprich gehören da nun noch mehr Bytes zu dem Befehl, falls das erste Byte überhaupt den ganzen Befehl darstellt, denn das ist scheinbar nicht immer so...
Doch, das geht trotzdem. denn anders auch auch die CPU nicht. Wenn z.B. da eine $55 als erstes Byte steht, dann ist klar, dass es nur push ebp sein kann. Es gibt keinen anderen Befehl der mit $55 anfängt. Wenn da $E8 steht, dann ist klar, dass dies auch ein 1 Byte-Befehl ist, dem allerdings definitiv noch eine 32bit RVA (relativ virtual Adress) folgt.
Anders bei mov ($83 etc) -Befehlen, die haben noch einen zweiten Anteil von wo aus "gemoved" wird und evtl. noch eine Zahl. du siehst also an dem ersten Byte, ob der Befehl noch länger ist, oder ob das schon alles war.
--> Viele
ASM-Befehle haben mehrere Opcodes, je nach Anzahl und Art der Operanden.
Edit:
Trotzdem sehe ich auf Grund der zahlreichen kostenlosen Disassembler nicht die Notwendigkeit dieses unbedingt lernen zu wollen. Ausser wenn man irgendwann einmal fließend "intel x86" sprechen will.
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.