取得程序当前的EIP地址(x86)

Pascal 代码,原理相同的。

{$APPTYPE GUI}
{$MODE DELPHI}

Uses Windows;
Var
 dwEipTest:Pointer;
 strEipTest:QWORD;

Function sprintf(lpOut:PChar;lpFmt:PChar):LONG;
varargs;cdecl;external 'user32' name 'wsprintfA';

Function GetEIP():DWORD;
asm
 pop eax
 jmp eax
end;

Begin
 dwEipTest := Pointer(GetEIP());
 sprintf(PChar(@strEipTest),'%08X',dwEipTest);
 MessageBox(0,PChar(@strEipTest),Nil,0);
End.

你可能感兴趣的:(取得程序当前的EIP地址(x86))