找回密码
 加入计匠网
搜索
热搜: BIOS ACPI CPU Windows
查看: 14829|回复: 0

[转载]Keyboard Interrupt Hook using I/O APIC

[复制链接]
发表于 2007-11-16 12:13:14 | 显示全部楼层 |阅读模式
Keyboard Interrupt Hook using I/O APIC(ZT)
8 u" y6 H! Z! L9 T' o/ j. j, H1 t' D# ^$ X4 ^# Q# `
Keyboard Interrupt Hook using I/O APIC! K0 U! T. z( A4 Z: |
) A6 a  C5 G/ |" _! a( o% L' U
By: chpie
, O& L/ A5 M: tKeyboard Interrupt Hooking by manipulating the I/O APIC
6 N. ^8 `% I. r: O! p. ]- @& Rtested on the winXP, Pentium D Hyper-threading Enabled.
# ^$ `+ V3 N: b
2 \) ?  F& k% J( `7 Z9 @
( i. K( }; L' M- oSummary :: Using the 8259a compatible PIC to be deliver the interrupt" I+ i$ h: d8 D! }1 P
signal by Delivery mode of the I/O APIC to be the ExtINT,
* l9 Q: y" e" Kthe interrupt related by the IRQ 1 able to be not refer' v. a! x" S* S1 E* }. O% O1 ?
the I/O APIC's Redirection Table.# \+ X7 A; c* F5 ~" ]

9 c- r$ m( P# ~0 k- It is higher priority of the hooking than the direct
8 V* K" F3 M5 @+ F8 W2 C/ Mmodification of the I/O APIC's vector.
' f" h7 M  A2 a- The vector can be hidden on the thread getting the keyboard
9 K9 k5 }) U# w7 Fvector from the I/O APIC.
2 {8 k; E) @6 q4 l- e6 s: t0 a. f+ Q. v
Flow ::
6 I, b, o# a' q+ f. L6 x, N5 ^& y3 J9 }
5 V; c9 W! |2 B0 S( u+ v1. IRQ 1 Assert !!!% i9 H* }/ B3 c
2. The I/O APIC receives the signal and refers the I/O Redirection table.5 R- L; Z; e9 y& ?" L/ t
3. Sending the signal from the destination Local APIC.2 D! B8 C8 T0 o3 d8 o
4. Local APIC pass the signal to the processor for its delivery mode ExtINT( p* g2 y* n7 K8 ^0 b% J
5. A processor receives the signal.
. @2 p* }9 W( @3 C3 `- S6. The processor Assert the INTA signal.
: V/ P: b6 g1 n  u" L0 g9 s* |0 W+ ]7. The I/O APIC acknowledged.% J: v# J, ^- T* b6 [! h
8. The processor Assert the second INTA signal.7 [  L- a. s3 M! q$ R
9. The I/O APIC delivers the signal to the 8259a compatible PIC
! I3 V2 ~3 f6 L7 gfor ExtINT to its Delivery mode.7 N: S4 ]! F# G$ m
10. 8259a compatible PIC sends 2 bytes after second INTA pulse.2 G8 ?; v' O+ N! e  U
11. The processor execute 2 bytes sended.
, y  m+ V+ E& m' N& U12. our interrupt handler executed.8 Q  P* M4 |" T! o" T

* c, W* b' c' b" E0 I8 B
) M! Z) z, O4 D. Q3 J/ s% Osourcecode and binary are available on the) {1 @3 L" K2 J8 p
http://www.rootkit.com/vault/chpie/apic_keyboard.zip

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入计匠网

×
您需要登录后才可以回帖 登录 | 加入计匠网

本版积分规则

Archiver|手机版|小黑屋|计匠网

GMT+8, 2025-12-1 00:53 , Processed in 0.137044 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表