我想模拟Linux x86_64服务器上的iret条件。 我发现有三条指令
我无法区分它们,以及使用哪一个。 谢谢任何人的帮助!!
我有另外一个关于模拟iret的问题,你能看看吗?http://stackoverflow.com/questions/11756274/how-to-simulate-a-iret-on-linux-x86-64
答案 0 :(得分:8)
从此link:
IRET通过中断(硬件或软件)返回 弹出IP(或EIP),CS和堆栈标志然后 从新的CS继续执行:IP。
IRETW将IP,CS和标志分别弹出2个字节,关闭6个字节 堆栈总计。 IRETD将EIP弹出为4个字节,再弹出4个字节 其中前两个被丢弃,而后两个进入CS,和 将标志弹出为4个字节,从堆栈中取出12个字节。
IRET是IRETW或IRETD的简写,具体取决于 当时默认的BITS设置。
非常类似于IRETQ