Einzelnen Beitrag anzeigen

Benutzerbild von TKC
TKC

Registriert seit: 21. Apr 2004
Ort: Tuningen
367 Beiträge
 
Delphi XE2 Enterprise
 
#1

Compiler ändert asm Code ?

  Alt 14. Sep 2009, 11:47
Hallo,

ich benutze folgende Funktion um meinen Hook zu überspringen.

Delphi-Quellcode:
function xPostMessage(hWnd: hWnd; Msg: UINT; wParam: wParam; lParam: lParam): BOOL; stdcall;
asm
      mov edi, edi
      push ebp
      mov ebp, esp
      jmp OldDllFunc
end;
Warum macht der Compiler dann folgenden Code daraus, bzw. wie kann ich verhindern das er es macht ?

Code:
003A5C60 G> $  55                push   ebp
003A5C61    . 8BEC             mov    ebp, esp
003A5C63    . 89FF             mov    edi, edi
003A5C65    . 55                push   ebp
003A5C66    . 89E5              mov    ebp, esp
003A5C68    . FF25 70FF3A00     jmp    near dword ptr [3AFF70]
Wie man sieht hat er einiges geändert.
  Mit Zitat antworten Zitat