Bestimmter Codeabschnitt bring mein Programm zum Absturz
-
Hi,
ich hab das Problem, das mein geschriebenes Programm immer abstürzt. Kompilieren ließ es sich aber Fehlerfrei. Mithilfe eines Debuggers hab ich herausgefunden, das der folgende Code Probleme macht:cmp esi, eax sprung: jbe Ende mov edi, offset sprung mov byte ptr [edi], 7Dh
Weiß einer von euch wo der Fehler liegt, ich weiß nicht mehr weiter
-
du holst die position von sprung und lädst sie in edi. dann versuchst du den wert an der stelle zu verändern. das ist aber mittem im code und damit readonly
-
Richtig, ich versuch dort ein self-modifying code Abschnitt reinzubauen. Kannst du mir sagen wie ich es dann schreiben muss
-
kommt drauf an
-
und worauf?
-
zB. auf Ziel-CPU und -OS...
-
Also ich programmier auf Windows
-
oder meintest du das nicht?
-
Doch schon, aber ich muss gestehen, dass ich keinen blassen habe, wie du Windows davon ueberzeugen kannst, dich in den Code schreiben zu lassen.
Das ist dann eigentlich auch eher ein Fall fuer ausgiebige MSDN-Recherche oder das WinAPI-Forum.
-
Dann frag ich mal im WinAPI forum, trotzdem danke für eure bemühungen
-
Ok, ich hab eine Lösung gefunden. Man muss die Section Flags für die Code Section ändern. Wie das gleich im Assembler geht weiß ich auch nich, aber es soll wohl für den Linker so nen Parameter geben wie:
/SECTION:Name der Codesection,ERW
Hab ich auch noch nicht ausprobiert, werd ich aber gleich machen
Mit LordPe geht's auch.