Zitat von
p80286:
Aber was ist wenn 90 kein OpCode sodern Daten ist?
Du musst natürlich schon sicher stellen, dass du den Speicher ab einer Stelle bekommst, wo du genau weisst dass als nächstes ein Opcode folgen muss, z.B. einen Prozedureinsprung. Wenn man einfach so mal mitten hinein grabscht kann auch ein Disassembler nicht viel damit anfangen, da man ja z.B. auch mitten in ein als "
db" hinterlegtes Stringliteral fummeln könnte, wo alles mögliche drin sein kann.
Ansonsten könnte man eventuell noch versuchen das was man hat semantisch zu analysieren, und schauen ob zum Beispiel ein vermeindlicher Jump zu einer gültigen Adresse führen würde, und ob andere Interpretationen in dem Block sinnvoll erscheinen, so dass man eine
Vermutung anstellen kann, wo ein Befehl stehen könnte ab dem man dann interpretieren kann. Das ist aber schon reichlich knifflig möchte ich vermuten.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)