Einzelnen Beitrag anzeigen

Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Adresse einer Funktion ohne @ ermitteln (evtl über CS:IP

  Alt 14. Dez 2007, 08:24

Und was hat das mit Vista zu tun?
Das @ wird vom Compiler umgesetzt. Er weis ja, an welche Stelle er die Funktion geschrieben hat. Was machst du genau?

Der üblich Weg innerhalb der Funktion ist so:
Delphi-Quellcode:
function xyz
asm
  call @@n //dadurch landet die Rücksprungadresse auf dem Stack (diese zeigt auf den nächsten Befehl "pop eax")
@@n:
  pop eax //Adresse vom Stack holen
  add eax,-5 //und zurückrechnen auf den Anfang der Funktion

  ... //weiter im Text
end;
..aber das passt nicht ganz zu dem beschriebenen Problem .
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat