码迷,mamicode.com
首页 > 其他好文 > 详细

中断门

时间:2018-09-23 13:33:54      阅读:124      评论:0      收藏:0      [点我收藏+]

标签:word   fir   main   全局   window   异常   函数返回   har   clu   


#include <windows.h> #include <stdio.h> // 存放idtr寄存器的值 char sz[6]; // 声明一个全局变量 存放IDT表中的第二项的值 LONGLONG IdtSecond; // 用于间接获取IDT表第二项的地址 DWORD* MyFirst; // 存放IDT表第二项的地址 DWORD MySecond; VOID _declspec(naked) MyCAll() { // 将IDTR寄存器的值放入数组 _asm { sidt sz; } // IDT表的地址存放于第二个位置 // 获得的是IDT表基址的地址 MyFirst = (DWORD*)&sz[2]; // 获得IDT表第二项的值 MySecond = (*MyFirst) + 8; // 获取IDT表第二项的值 IdtSecond = *(LONGLONG*)(MySecond); // 从中断处理函数返回 _asm { iretd; } } int main() { // 产生异常,进入相应的中断处理函数 _asm { int 0x20; } printf("%llx\n", IdtSecond); system("pause"); return 0; }

 

中断门

标签:word   fir   main   全局   window   异常   函数返回   har   clu   

原文地址:https://www.cnblogs.com/duxie/p/9692182.html

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