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)