码迷,mamicode.com
首页 > Windows程序 > 详细

六.Windows内核保护机制--中断门

时间:2020-03-05 21:01:18      阅读:92      评论:0      收藏:0      [点我收藏+]

标签:png   div   class   修改   一个   asm   更改   添加   nbsp   

一.中断门,和调用门差不多,细节方面有些差异:

 1.符号表的问题,调用门中所使用的是GDT表,而中断门中使用的是IDT表.

 2.中断门,不能直接传参数.

 3.TEPY标志不一样,调用门是1100 ,32位中断门是1110 ,16位中断门是0110.

 4.调用方式不太一样,调用门使用的是CALL调用,中断门直接使用 int [ index](index使用10进制就行了),对IDT表进行搜索.

 5.前面说过了,调用门在使用的时候,会更改 CS SS EIP ESP四个寄存.中断门除了这4个,还增加了一个 EFLAGS寄存器

 注:当中断门,执行完毕要返回的时候,记得把5个寄存器弹干净,否则的话,就会嘿嘿嘿(刚才改了一下iret弹出,果然蓝了...图都没截,不过提权是已经成功了的.)

技术图片

 

 

二.中断门的使用:

r idtl  //查看idt表长度

r idtr  //查询idt表

找一块空白的地方,添加自己的段描述符.

规则和调用门差不多,就不写了.

 eq 8003f500 0040ee00`00081038  //直接在我找的地址修改,位置是idt表的32位

 

void mf()

{

  _asm

  {

    int 3

    iretd  

  }

}

void main()
{
  _asm
  {
    int 32
  }
}
 

 

六.Windows内核保护机制--中断门

标签:png   div   class   修改   一个   asm   更改   添加   nbsp   

原文地址:https://www.cnblogs.com/jszyx/p/12422408.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!