-
-
[求助]一个程序中call的写法问题
-
发表于:
2010-5-22 22:30
3880
-
汇编的代码是这样的。
00962369 JNZ SHORT thlpt.0096238B
0096236B FLD DWORD PTR SS:[EBP+1614]
00962371 MOV EAX,DWORD PTR DS:[EBX+1C]
00962374 MOV ECX,DWORD PTR DS:[EBX+18]
00962377 FSTP DWORD PTR SS:[ESP]
0096237A PUSH EAX //压入一个参数
0096237B PUSH ECX //压入一个参数
0096237C MOV ECX,EBP //经过中断可知,ebp每次中断都相同,是固定值。
0096237E CALL thlpt.00961F40 //这个call内的返回是retn 0c,所以堆栈内有3个参数应该是对的。
00962383 POP EDI
00962384 POP ESI
00962385 POP EBP
00962386 POP EBX
00962387 ADD ESP,24
0096238A RETN
我的call是这样的写的.
FLD dword ptr ss:[10AF67C]
FSTP dword ptr ss:[esp]
push 1230 //直接从中断中得来的值。
push 01A0 //直接从中断中得来的值。
mov ecx,010AE068
call 00961F40
但是最后call出错了,我还不知道原因,写call我也刚学不久。有哪位高手指点下。
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课