ASM调用指令导致堆栈溢出?

时间:2014-01-16 00:26:56

标签: assembly x86 stack-overflow

这是我的ASM功能代码:

PUSH EBP
MOV EBP, ESP
SUB ESP, 8
CALL 00401E20
LEAVE
RETN

0x00401E20处有一个函数,它不带参数,也不返回任何值。调用函数的正确方法是什么?

OllyDbg说“堆栈溢出”并评论第4行。对不起,我是ASM的新手,有什么想法吗?

提前致谢。

1 个答案:

答案 0 :(得分:3)

也许你应该在离开和返回之前尝试POP。

试试这个:

PUSH EBP
MOV EBP, ESP
SUB ESP, 8

CALL 00401E20

MOV ESP, EBP
POP EBP

LEAVE
RETN