【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、总结:
-
跨段调用时,一旦有权限切换,就会切换堆栈.
-
CS的权限一旦改变,SS的权限也要随着改变,CS与SS的等级必须一样.
-
JMP FAR 只能跳转到同级非一致代码段,但CALL FAR可以通过调用门提权,提升CPL的权限.

浙公网安备 33010602011771号