Keyboard Interrupt Hook using I/O APIC

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情
By: chpie

 

Keyboard Interrupt Hooking by manipulating the I/O APIC
tested on the winXP, Pentium D Hyper-threading Enabled.


Summary :: Using the 8259a compatible PIC to be deliver the interrupt
signal by Delivery mode of the I/O APIC to be the ExtINT,
the interrupt related by the IRQ 1 able to be not refer
the I/O APIC's Redirection Table.

- It is higher priority of the hooking than the direct
modification of the I/O APIC's vector.
- The vector can be hidden on the thread getting the keyboard
vector from the I/O APIC.

Flow ::

1. IRQ 1 Assert !!!
2. The I/O APIC receives the signal and refers the I/O Redirection table.
3. Sending the signal from the destination Local APIC.
4. Local APIC pass the signal to the processor for its delivery mode ExtINT
5. A processor receives the signal.
6. The processor Assert the INTA signal.
7. The I/O APIC acknowledged.
8. The processor Assert the second INTA signal.
9. The I/O APIC delivers the signal to the 8259a compatible PIC
for ExtINT to its Delivery mode.
10. 8259a compatible PIC sends 2 bytes after second INTA pulse.
11. The processor execute 2 bytes sended.
12. our interrupt handler executed.


sourcecode and binary are available on the
http://www.rootkit.com/vault/chpie/apic_keyboard.zip
【嵌入式开发】基于C语言的设计模式实现:继承封装多态在嵌入式系统中的应用研究 内容概要:本文探讨了如何在C语言中实现面向对象编程的三大核心特性——继承、封装和多态。通过结构体(struct)和函数指针的组合,文章详细演示了C语言如何模拟类的特性:利用结构体嵌套实现继承,将父类结构置于子结构体首部以保证内存布局兼容;通过结构体封装数据与对应操作函数指针实现封装,使数据和行为绑定;借助void*泛型指针和函数指针实现多态,使得同一接口可以调用不同实现,达到运行时动态绑定的效果。这些方法展示了C语言在无原生支持面向对象机制的情况下,依然能够有效应用设计模式的思想。; 适合人群:熟悉C语言基础并有一定项目经验的开发者,尤其是从事嵌入式系统开发或对底层编程感兴趣的程序员。; 使用场景及目标:① 在资源受限或无法使用C++的环境中实现面向对象设计;② 深入理解面向对象本质及其在非面向对象语言中的实现原理;③ 提升C语言大型项目的代码组织能力与可维护性; 阅读建议:学习过程中应结合代码示例动手实践,重点理解结构体内存对齐、指针转换与回调机制的应用,并尝试将其拓展到实际工程项目中进行验证与优化。 立即下载

相关推荐

2026年最新温岭市公交线路矢量数据.zip

数据格式:shp 数据坐标:GCJ02 数据更新时间:2026年9月 公交线路来源:8684网站 https://8684.com.cn/ 站点数据来源:高德API接口 数据打开方式:QGIS或Arcgis 站点数据字段:名称、序号、对应线路、几何信息 线路数据字段:名称、类型、起点、终点、开始时间、结束时间、起步价、全价、长度、公司、几何信息

第四章 Hook键盘中断和IOAPIC重定位

如果不想让键盘过滤驱动程序或回调函数首先获得按键,则必须比端口驱动更加底层一些.端口驱动再往下,USB和PS/2就不同了.     早期版本QQ的反盗号驱动的原理是这样的:在用户要输入密码时(比如把输入焦点移动到密码框里),就注册一个中断服务来接管键盘中断,比如0x93中断,之后按键就不关键盘驱动的事了.为此这个程序必须处理那些扫描码,并得出用户输入了什么密码,然后交给QQ.

流星的专栏 1257

2026年最新广州市公交、地铁线路矢量数据.zip

数据格式:shp 数据坐标:GCJ02 数据更新时间:2026年9月 公交线路来源:8684网站 https://8684.com.cn/ 站点数据来源:高德API接口 数据打开方式:QGIS或Arcgis 站点数据字段:名称、序号、对应线路、几何信息 线路数据字段:名称、类型、起点、终点、开始时间、结束时间、起步价、全价、长度、公司、几何信息

基于IOAPIC重定位的 键盘监听技术及防御

摘 要 键盘监听技术会引起个人重要信息的泄露。通过对IOAPIC重定位技术的研究,实现了针对单核系统和多核系统的键盘监听和记录。在WindowsDriver Kits7.0.1中编译生成的驱动,能够记录键盘信息,引起重要信息的泄露。通过提出的防御键盘监听的方法能够有效地预防键盘监听。 关键词 IOAPIC重定位 键盘监听 防御 中图分类号  TP3    文献标识码  A          

hou09tian的博客 1304

Python2.7: 使用Pyhook模块监听鼠标键盘事件-获取坐标

Python2.7: 使用Pyhook模块监听鼠标键盘事件-获取坐标。因该模块对Python3 有兼容性问题,故采用python2.7解释器。 原程序可监听所有事件,现注释掉部分功能,只输出鼠标左键触发的坐标,用于获取坐标,方便自动化取点。 # -*- coding: utf-8 -*- # # import pythoncom import pyHook def onMouseEve

Damon1992的博客 4064

python模拟鼠标点击事件

python模拟鼠标点击事件运行前提配置获取鼠标坐标值代码模拟点击代码 运行前提配置 1.安装python3 可以搜索安装python3的教程,有很多这种教程 2.安装相对应版本的pyhook pyhook下载网站链接: http://www.lfd.uci.edu/~gohlke/pythonlibs/. 点进去看到一大堆,不要慌,Ctrl+F寻找pyhook 图 下载相应的pyhook后,打开...

qq_41617692的博客 8886

Unity MVVM架构实战:基于UniRx的响应式数据绑定与UI开发指南

在软件架构中,关注点分离是提升代码可维护性的核心原则,MVVM(Model-View-ViewModel)模式正是这一思想的经典实践。其原理在于通过数据绑定实现数据驱动,将视图展示、用户交互与业务逻辑彻底解耦。这种模式的技术价值在于显著提升了代码的可测试性、可维护性,并增强了团队协作的规范性。在游戏开发,尤其是Unity引擎的复杂UI场景中,如动态角色状态面板、背包物品列表管理,MVVM能有效解决传统UI代码高度耦合、难以扩展的痛点。本文聚焦于Unity平台,深入探讨如何利用UniRx实现响应式编程,构建清

weixin_30423977的博客 536

修改IOAPIC重定位键盘中断处理函数

  IOAPIC重定位表就是各种硬件中断与对应的中断处理函数的映射关系,把其中的中断处理函数修改为我们自己的就完成了对IOAPIChook了,那么首先我们应该了解IOAPIC的结构和运作原理:   IOAPIC实际上是一种新型的可编程硬件,大家都知道操作硬件一般是通过读写寄存器来实现的,对于IOAPIC也不例外,所以我们可以通过访问特定的寄存器来控制IOAPIC的行为。那么该访问那些寄存器...

weixin_33804582的博客 252

利用python监听剪贴板内容,并修改。

由于我在读论文的时候常常需要复制论文片段,然后论文(pdf格式)中常常有多余的换行符,所以粘贴到txt或者markdown文本中都会很不美观,我希望能利用python脚本把换行符去掉,在此记录过程。

the Blog of 等不到天亮丶等时光 1万+

Axure PR10和RunAsDate

Axure10用于查看原型设置,旧版10 支持“时间回拨”绕过试用期限制。

政府科技项目评审效率低下,如何利用大数据提升筛选精准度?.docx

科易网基于40亿+科创知识图谱数据库,深度探索AI技术在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,研究科技创新领域的AI+数智化解决方案,推动科技创新与产业创新智能化发展。

2026年最新汕头市公交线路矢量数据.zip

数据格式:shp 数据坐标:GCJ02 数据更新时间:2026年9月 公交线路来源:8684网站 https://8684.com.cn/ 站点数据来源:高德API接口 数据打开方式:QGIS或Arcgis 站点数据字段:名称、序号、对应线路、几何信息 线路数据字段:名称、类型、起点、终点、开始时间、结束时间、起步价、全价、长度、公司、几何信息

汽车工业产销数据分析:2026年8月汽车出口超百万辆新能源占比突破60%

内容概要:2026年8月,中国汽车工业整体产销环比增长但同比略有下降,国内市场持续承压,销量同比降幅连续5个月超20%,而出口表现强劲,单月出口量达101万辆,同比增长65.3%,新能源汽车出口占比连续三个月超50%。新能源汽车产销量持续攀升,1-8月累计销量占新车总销量的52.4%,其中B级及以上车型增长显著。乘用车市场中国品牌销量占比提升至77.8%,出口贡献突出;商用车产销同比双增,货车尤其是重型货车增长明显。行业治理方面,国家加强账款支付监管,推动产业向高质量发展转型。; 适合人群:汽车行业研究人员、产业分析师、政策制定者及汽车企业战略规划人员。; 使用场景及目标:①了解2026年8月及前8月中国汽车工业产销、出口及新能源发展态势;②分析重点企业市场表现及竞争格局变化;③把握政策导向对行业可持续发展的影响; 阅读建议:本报告数据详实,图表丰富,建议结合图表深入分析趋势变化,重点关注新能源、出口及头部企业动态,用于行业研判与决策支持。

如何利用大数据提升地方科技项目筛选的精准度,避免资源错配?.docx

科易网基于40亿+科创知识图谱数据库,深度探索AI技术在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,研究科技创新领域的AI+数智化解决方案,推动科技创新与产业创新智能化发展。

NVIDIA-app-v11.0.9.251.exe

NVIDIA_app_v11.0.9.251.exe

汽车工程基于模块化平台的运动型轿跑车技术解析:2009款Scirocco整车架构与智能系统集成设计

内容概要:本文档是一份关于2009款大众Scirocco的自学手册,全面介绍了该车型的技术参数、车身结构、动力系统、底盘配置、电子设备及内饰设计等方面的信息。重点涵盖车辆的外部尺寸与重量、内部空间布局、发动机类型(包括1.4T、2.0T汽油机及2.0L柴油机)、变速箱组合、DCC自适应底盘调节系统、电动机械式助力转向、ESP电子稳定程序、视觉驻车系统(OPS)、多媒体信息娱乐系统(如RCD系列收音机与RNS导航系统)以及空调系统等核心技术内容。同时,文档还回顾了Scirocco车型的发展历史,并强调其在继承经典设计基础上融入大量先进技术的特点。; 适合人群:汽车工程技术人员、售后维修人员、汽车专业学生及对大众Scirocco车型有深入了解需求的爱好者。; 使用场景及目标:①用于掌握Scirocco 2009款车型的各项技术细节与系统工作原理;②支持车辆维护、故障诊断和维修培训;③辅助教学或技术研究,提升对现代汽车电子与机械集成系统的理解。; 阅读建议:建议结合实车操作或维修实践同步学习,重点关注各子系统的结构图示和技术参数表,注意参考文中提及的其他自学手册以获取更深入的知识延伸。

上一篇: GhostWriting: Writing to another process without opening it nor actually writing to it
下一篇: 4MB to 1024 x 4KB...
iiprogram
博客等级 码龄25年 1066粉丝 1515原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值