rus*_*lik 18
是的,它表现出色
pop eip
Run Code Online (Sandbox Code Playgroud)
您可以使用
mov eax, [esp]
jmp eax
Run Code Online (Sandbox Code Playgroud)
避免它.
编辑:这正是它的ret
作用.例如,jmp rel_offet
无非是隐藏add eip, offset
,或者jmp absolute_offset
是mov eip, absolute_offset
.当然处理器处理它们的方式有所不同,但从程序员的角度来看,这就是所有这一切.
此外,还有一种特殊形式ret
:ret imm8
还将此imm8值添加到esp
:例如,__stdcall
函数使用它从堆栈中丢弃其参数.更不用说retf
在16位模式下使用的版本,它也会cs
从堆栈中弹出.
EDIT2:
pop register
Run Code Online (Sandbox Code Playgroud)
手段:
mov register, [esp]
add esp, 4
Run Code Online (Sandbox Code Playgroud)