• 保护模式(三):中断门与陷阱门


    中断门与陷阱门在IDT表中,查看IDT表

    kd> dq idtr L40h
    8003f400  80538e00`0008f19c 80538e00`0008f314
    8003f410  00008500`0058113e 8053ee00`0008f6e4
    8003f420  8053ee00`0008f864 80538e00`0008f9c0
    8003f430  80538e00`0008fb34 80548e00`0008019c
    8003f440  00008500`00501198 80548e00`000805c0
    8003f450  80548e00`000806e0 80548e00`00080820
    8003f460  80548e00`00080a7c 80548e00`00080d60
    8003f470  80548e00`00081450 80548e00`00081780
    8003f480  80548e00`000818a0 80548e00`000819d8
    8003f490  80548500`00a01780 80548e00`00081b40
    8003f4a0  80548e00`00081780 80548e00`00081780
    8003f4b0  80548e00`00081780 80548e00`00081780
    8003f4c0  80548e00`00081780 80548e00`00081780
    8003f4d0  80548e00`00081780 80548e00`00081780
    8003f4e0  80548e00`00081780 80548e00`00081780
    8003f4f0  80548e00`00081780 806d8e00`00082fd0
    8003f500  00000000`00080000 00000000`00080000
    8003f510  00000000`00080000 00000000`00080000
    8003f520  00000000`00080000 00000000`00080000
    8003f530  00000000`00080000 00000000`00080000
    8003f540  00000000`00080000 00000000`00080000
    8003f550  8053ee00`0008e9de 8053ee00`0008eae0
    8003f560  8053ee00`0008ec80 8053ee00`0008f5c0
    8003f570  8053ee00`0008e481 80548e00`00081780
    8003f580  80538e00`0008db40 80538e00`0008db4a
    8003f590  80538e00`0008db54 80538e00`0008db5e
    8003f5a0  80538e00`0008db68 80538e00`0008db72
    8003f5b0  80538e00`0008db7c 806d8e00`00082728
    8003f5c0  80538e00`0008db90 80538e00`0008db9a
    8003f5d0  80538e00`0008dba4 80538e00`0008dbae
    8003f5e0  80538e00`0008dbb8 806d8e00`00083b70
    8003f5f0  80538e00`0008dbcc 80538e00`0008dbd6

    中断门基本结构与调用门相同,但Type为1110,陷阱门Type为1111

    中断门提权实验

    构造中断门为0040ee00`00081020

    #include "stdafx.h"
    //401020
    unsigned __int32 X;
    void __declspec(naked)Test(){
        __asm{
            mov eax,dword ptr ds:[0x8003f500]
            mov X,eax
            iretd
        }
    }
    
    int main(int argc, char* argv[])
    {
        __asm{
            int 0x20
        }
        printf("%x",X);
        getchar();
        return 0;
    }

    陷阱门与中断门几乎一致,区别在于中断门执行时会将IF位清零,陷阱门不会

  • 相关阅读:
    圈水池 nyoj 78 凸包算法
    凸包算法入门
    nyoj 633 幂
    软件下载地址
    概率论与数理统计
    迷宫最短路径 问题
    将项目发布至开发环境测试环境的方法
    一些JavaScript技巧
    随机生成10个不重复的0-100的数字
    Git添加远程库和从远程库中获取(新手傻瓜式教学)
  • 原文地址:https://www.cnblogs.com/harmonica11/p/14156745.html
Copyright © 2020-2023  润新知