-
-
[求助]请问,这里的PUSH EAX有什么作用呢,照道理说,它这样入栈那么ADD_STDCALL的参数不就是EAX,1,2,3了吗,而实际上我入栈的是1 2 3 4 啊
-
发表于:
2008-3-23 07:13
5118
-
[求助]请问,这里的PUSH EAX有什么作用呢,照道理说,它这样入栈那么ADD_STDCALL的参数不就是EAX,1,2,3了吗,而实际上我入栈的是1 2 3 4 啊
function tform1.add_stdcall(a,b,c,d:integer):integer;stdcall;
begin
result:=a+b+c+d;
end;
//STDCALL调用方式(主调用函数)
00462F8A 64FF32 push dword ptr fs:[edx]
00462F8D 648922 mov fs:[edx], esp
00462F90 6A04 push $04
00462F92 6A03 push $03
00462F94 6A02 push $02
00462F96 6A01 push $01
00462F98 50 push eax
* Reference to : TForm1.add_stdcall()
//调用ADD_STDCALL函数进行运算|
00462F99 E892FFFFFF call 00462F30
......
......
调用者函数:
procedure TForm1.Button1Click(Sender: TObject);
var
s:integer;
begin
s:=add_stdcall(1,2,3,4);
showmessage(inttostr(s));
end;
[课程]FART 脱壳王!加量不加价!FART作者讲授!