如果我使用call
,
push b
push a
call address
有效,但使用call
会让我对地址感到困惑
所以我想使用push
+ ret
这样的方法:
push b
push a
push address
ret
但这一次,通过论证看起来不正常 如何使用此方法传递地址?
答案 0 :(得分:4)
call address
这个近乎通话的指令做了两件事:
call address
指令本身后面的内存地址。EIP
寄存器,将控制权转移到地址的代码。您的替换代码仅执行后一项操作。
要更正代码,请手动按下返回地址:
push b
push a
push Back
push address
ret
Back:
这次你会看到传递参数的方式是一样的。
使用这种替代方法,完全可以将 Back:标签放在您喜欢的地方以及有意义的地方!