中断门+陷阱门

中断门:

中断描述符在IDT表里面

kd> dq idtr
80b95400  83e48e00`0008bfc0 83e48e00`0008c150
80b95410  00008500`00580000 83e4ee00`0008c5c0
80b95420  83e4ee00`0008c748 83e48e00`0008c8a8
80b95430  83e48e00`0008ca1c 83e48e00`0008d018
80b95440  00008500`00500000 83e48e00`0008d478
80b95450  83e48e00`0008d59c 83e48e00`0008d6dc
80b95460  83e48e00`0008d93c 83e48e00`0008dc2c
80b95470  83e48e00`0008e2fc 83e48e00`0008e6b0
//每一个都是int开头的中断

如果查看INT 3中断

kd> !idt 3Dumping IDT: 80b95400844bd02600000003:	83e4c5c0 nt!KiTrap03
//83e4c5c0 是函数的调用地址
//nt!KiTrap03是INT 3中断的回调函数

构造一个中断门

1.在IDT表找未使用的位置

2.假设构造的中断回调函数的地址是:0x00401000h,P = 1、DPL = 3、cs = 0x8

3.开始构造  INT 0x20

0000 0000 0100 0000 1110 1110 0000 0000 = 0040EE00

0000 0000 0000 1000 0001 0000 0000 0000 = 00081000

eq 80b95500 0040ee0000081000

#include "stdafx.h"_declspec(naked) void func(){__asm{int 3iretd;}
}int main(int argc, char* argv[])
{__asm{push fs;int 0x20;pop fs;}return 0;
}

可以看到 中断门 压入了5个参数,iretd会返回这5个参数。

  


陷阱门:

陷阱门和中断门几乎一模一样。

#include "stdafx.h"_declspec(naked) void func(){__asm{int 3;iretd;}
}int main(int argc, char* argv[])
{__asm{push fs;int 0x20;pop fs;}return 0;
}

根据陷阱门描述符修改一下 INT 0x20的描述符

eq 80b95500 0040ef0000081000

陷阱门与中断门的唯一的区别:

中断门执行时,会将IF标志位清零,但陷阱门不会。

IF=0 时:程序不再接收可屏蔽中断(有些硬件中断不响应)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/141387.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

Tuxera NTFS for Mac 2023绿色版

​ 在数字化时代,数据的存储和传输变得至关重要。Mac用户经常需要在Windows NTFS格式的移动硬盘上进行读写操作,然而,由于MacOS系统默认不支持NTFS的写操作,这就需要我们寻找一款高效的读写软件。Tuxera NTFS for Mac 2023便是其中…

Redis入门2

在java中操作Redis Redis的Java客户端 Redis 的 Java 客户端很多,常用的几种: Jedis Lettuce Spring Data Redis Spring Data Redis 是 Spring 的一部分,对 Redis 底层开发包进行了高度封装。 在 Spring 项目中,可以使用Spring Data R…

DTU远程控制:空巢老人的智慧灌溉方案

我是老刘,大家经常这样唤我。在浙江省台州市下面的一个小乡村里,我经营着一家工厂。 说起台州,是个好地方,这里有一座天台山,就是“一座天台山,半步全唐诗”的那座山,山里有一个大瀑布&#xf…

计算机毕业设计 乡村生活垃圾管理系统的设计与实现 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点…

STM32(十四):USART串口数据包

HEX数据包 0xFF包头,0xFE包尾。 如果数据和包头包尾重复,可能会引起误判。 解决办法: 1. 限制载荷数据的范围 2. 如果无法避免载荷数据和包头包尾重复,就使用尽量使用固定长度数据包。 包头 ‘\r\n 包尾 在载荷数据中间可以出现…

用nginx-rtmp-win32-master及ffmpeg模拟rtmp视频流

效果 使用nginx-rtmp-win32-master搭建RTMP服务 双击exe就可以了。切记整个目录不能有中文 README.md ,启用后本地的RTM路径: rtmp://192.168.1.186/live/xxx ffmpeg将地本地视频推RMTP F:\rtsp\ffmpeg-7.0.2-essentials_build\bin>ffmpeg -re -i F:\rtsp\123.mp4 -c c…

分贝转换 1 mVpp = 9.03dBmV

分贝转换 1 mVpp 9.03dBmV 函数发生器调节如下参数在频谱仪器上能看到9.03dBmv的电压值函数发生器产生 30mVpp 频谱仪会显示多少dBmV 函数发生器调节如下参数 输出频率:10 MHz 波形类型:正弦波 阻抗:50 Ω 幅度:1 mVpp …

CTF-杂项隐藏在数据包中的秘密lol

题目 隐藏在数据包中的秘密 解题 首先分析一下题目,题目给出的是一个流量包,大致浏览一遍是HTTP上网请求流量,直接过滤出http流量包 可以看到,第一个包是用户通过访问网页,然后post提交上传一个文件,下一…

黑马程序员Java笔记整理(day01)

1.windowsR进入运行,输入cmd 2.环境变量 3.编写java第一步 4.使用idea 5.注释 6.字面量 7.变量 8.二进制 9.数据类型 10.关键词与标识符

echarts中tooptips提示框超出了怎么解决

我们在制作echarts表格时,有时候会遇到提示框内容较多,会让提示框超出,展示不全数据,如下: 这种情况下需要在tooltips下增加一些属性: 1.confine: true:这个配置的作用是让提示框(t…

关于Softmax,你想知道的都在这里了!

目录 1. 为什么要引入Softmax?2. Softmax的导数计算3. Softmax及其导数的一些性质4. 交叉熵损失的梯度计算5. Softmax的各种变体5.1 Naive Softmax5.2 Safe Softmax5.3 Online Softmax Ref 1. 为什么要引入Softmax? 在进行 n n n 分类任务时&#xff0…

「数组」堆排序 / 大根堆优化(C++)

目录 概述 核心概念:堆 堆结构 数组存堆 思路 算法过程 up() down() Code 优化方案 大根堆优化 Code(pro) 复杂度 总结 概述 在「数组」快速排序 / 随机值优化|小区间插入优化(C)中,我们介绍了三种基本排序中的冒泡…

四、(JS)JS中常见的加载事件

一、文档加载监听 (1)抛出疑惑,什么是文档加载监听?为什么要有这个东西? 老样子,我们先讲一个场景,带着大家熟悉为什么会有文档加载监听,是来解决什么问题来着的。 我们先看下这段…

人工智能诱导虚假记忆:MIT最新研究揭示AI与记忆的互动机制

随着人工智能技术的快速发展,ChatGPT等大型语言模型逐渐被应用于多个领域,包括法律、医疗、教育等。然而,随着这些技术的广泛应用,研究人员开始注意到一个潜在的隐患:人工智能不仅可以生成信息,甚至还可能影…

【在Linux世界中追寻伟大的One Piece】网络命令|验证UDP

目录 1 -> Ping命令 2 -> Netstat命令 3 -> Pidof命令 4 -> 验证UDP-Windows作为client访问Linux 4.1 -> UDP client样例 1 -> Ping命令 Ping命令是一种网络诊断工具,它使用ICMP(Internet Control Message Protocol,互联网控制消…

【mechine learning-九-梯度下降】

梯度下降 更加通用的梯度下降算法算法步骤 上一节讲过,随机的寻找w和b使损失最小不是一种合适的方法,梯度下降算法就是解决解决这个问题的,它不仅可以用于线性回归,还可以用于神经网络等深度学习算法,是目前的通用性算…

103.WEB渗透测试-信息收集-FOFA语法(3)

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 内容参考于: 易锦网校会员专享课 上一个内容:102.WEB渗透测试-信息收集-FOFA语法(2) FOFA使用实例 组件框架 …

floodfill算法(一)

目录 一、图像渲染 1. 题目链接:733. 图像渲染 2. 题目描述: 3. 解法 🌴算法思路: 🌴算法代码: 二、岛屿数量 1. 题目链接:200. 岛屿数量 2. 题目描述: 3. 解法 &#x1f…

cc2530按键中断实现控制LED

1开启中断的步骤 1-1使能端口组的中断 IEN1 IEN2 实例 IEN2 | 0x10 //使能P1口中断 1-2 端口中断屏蔽 P0IEN和P1IEN P2IEN 实例 P1IEN |0x10; //使能P1_2口中断 1-3设置触发方式 PICTL 实例 PICTL |0X02 ;//P1_3到P1_2口下降沿触发 1-4设置中断优先级…

element-plus的面包屑组件el-breadcrumb

面包屑组件主要用来显示当页面路径,以及快速返回之前的页面。 涉及2个组件 el-breadcrumb 和el-breadcrumb-item, el-breadcrumb的spearator指定item的分隔符 el-breadcrumb-item的to和replace属性和vue-router的一致,需要结合vue_router一起使用 用法…