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


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

     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寄存器

     6.中断门执行的时候,第一件事就是会对EFLAGS寄存器下标为9的IF位进行清零,而陷阱门并不会这么做.

     注:当中断门,执行完毕要返回的时候,记得把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
      }
    }
     
  • 相关阅读:
    [模板]洛谷T3369 普通平衡树 链表&普通Treap
    C++语法知识点整理
    [模板]洛谷T3373 线段树 模板2
    [模板]洛谷T3372 线段树 模板1
    [模板]洛谷T3368 树状数组 模板2
    JSON
    code first迁移和部署
    序列化 (C#)
    Linq小记
    文件和注册表
  • 原文地址:https://www.cnblogs.com/jszyx/p/12422408.html
Copyright © 2020-2023  润新知