【Windows内核】(6) 短调用长调用堆栈图

短调用长调用堆栈图

一、短调用

指令格式:CALL 立即数/寄存器/内存

发生改变的寄存器:ESP EIP

2、长调用(跨段不提权)

指令格式:CALL CS:EIP(EIP是废弃的)

不是EIP决定的 是段选择子查表得到的

发生改变的寄存器:ESP EIP CS

3、长调用(跨段并提权)

指令格式:CALL CS:EIP(EIP是废弃的)

发生改变的寄存器:ESP EIP CS SS

4、长调用(跨段并提权)

指令格式:CALL CS:EIP(EIP是废弃的)

发生改变的寄存器:ESP EIP CS SS

5、总结:

  1. 跨段调用时,一旦有权限切换,就会切换堆栈.

  2. CS的权限一旦改变,SS的权限也要随着改变,CS与SS的等级必须一样.

  3. JMP FAR 只能跳转到同级非一致代码段,但CALL FAR可以通过调用门提权,提升CPL的权限.

posted @ 2021-03-08 09:57  一窝吉尼斯  阅读(118)  评论(0)    收藏  举报