【发布时间】:2017-04-16 18:31:17
【问题描述】:
如果我使用call,
push b
push a
call address
有效,但使用 call 让我对地址感到困惑。
所以我想像这样使用push+ret 方法:
push b
push a
push address
ret
但这一次,传递参数似乎无法正常工作。
如何用这种方法传递地址?
【问题讨论】:
-
我不太明白您为什么要这样做,但如果是这样,您还需要手动推送返回地址,否则被调用者将尝试返回到
a。类似于push return_address的内容,紧接在push address之前,以及您希望继续执行的任何位置的return_address:标签。 -
是什么让您认为参数在堆栈上不可用?你没有为你的信仰提供任何理由。此外,我们真的应该有一个关闭选项,“OP 正试图以错误的方式做某事。”