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

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

[复制链接]
发表于 2007-11-16 12:13:14 | 显示全部楼层 |阅读模式
Keyboard Interrupt Hook using I/O APIC(ZT). a5 S3 k' E2 w6 f
4 t4 C6 z6 p7 G& k6 G
Keyboard Interrupt Hook using I/O APIC  }, z6 e% X; f; t

6 r4 X+ y7 Z6 q8 e! w$ ~2 a+ WBy: chpie. u: i4 y+ c% ^8 F( H5 }3 @; F, b: w
Keyboard Interrupt Hooking by manipulating the I/O APIC
; C  O$ `3 U/ m4 M: f$ ~8 o: }tested on the winXP, Pentium D Hyper-threading Enabled.$ Q( E( ?/ ~3 y, C* o4 E) ]
4 b' S* q  c" Y8 l9 q4 z, m
; k1 [# B" {; L& X# `* \' J& c/ b
Summary :: Using the 8259a compatible PIC to be deliver the interrupt
8 g. v; J6 Q0 J1 bsignal by Delivery mode of the I/O APIC to be the ExtINT,- i5 R+ S: T3 a) e! t
the interrupt related by the IRQ 1 able to be not refer
1 J1 H/ l, I) J7 x$ ~; ithe I/O APIC's Redirection Table.
$ e% W1 B" L4 H) }% V7 ?
2 d: s! f" E5 v- It is higher priority of the hooking than the direct
8 G1 d- V# R& W! ]: qmodification of the I/O APIC's vector.
' z5 e  v1 @6 n' V3 S9 e5 d- The vector can be hidden on the thread getting the keyboard4 Q9 H, g+ ?: T3 k% C
vector from the I/O APIC.  z% E+ Q# ^8 t  A- G+ A9 W9 E
* Y/ m6 }0 o% @3 {8 ]2 b' E( S
Flow ::# l. v) \& \1 O, Y

& d" V  E/ Y  N0 I0 E1. IRQ 1 Assert !!!
/ D4 x) e% f" y2. The I/O APIC receives the signal and refers the I/O Redirection table.# ~+ `$ |1 k# y+ X* {
3. Sending the signal from the destination Local APIC.
, f! d3 d6 v; y1 @6 @3 h8 _4. Local APIC pass the signal to the processor for its delivery mode ExtINT. O/ W5 ?+ a- J, X$ `1 k
5. A processor receives the signal.
1 l. `4 S  Z/ s( O, n# o* k6. The processor Assert the INTA signal.& ?4 L: d7 N# Y
7. The I/O APIC acknowledged.+ v& d$ _: S, c( J
8. The processor Assert the second INTA signal.
0 M! ]. d/ w6 {: ]9. The I/O APIC delivers the signal to the 8259a compatible PIC% I" d% M$ n- d
for ExtINT to its Delivery mode.
0 T5 L) u4 D) N! f  h8 T10. 8259a compatible PIC sends 2 bytes after second INTA pulse." y5 U" \" W( X3 C+ k
11. The processor execute 2 bytes sended.
( m' r) r) s* K- o9 q8 H- \12. our interrupt handler executed.
7 ~9 v0 q$ n" @7 }  I  T/ w- L; A
4 i/ T4 P1 k' j2 P6 {4 W! W+ T
- x  k) R6 _& m1 r( rsourcecode and binary are available on the
! L( v$ C& t2 Phttp://www.rootkit.com/vault/chpie/apic_keyboard.zip

本帖子中包含更多资源

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

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

本版积分规则

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

GMT+8, 2025-6-17 10:54 , Processed in 0.123945 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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