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

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

[复制链接]
发表于 2007-11-16 12:13:14 | 显示全部楼层 |阅读模式
Keyboard Interrupt Hook using I/O APIC(ZT)
9 X9 w- d8 }8 k1 Q: g3 C5 `% S1 P2 q( h5 y/ D
Keyboard Interrupt Hook using I/O APIC
: [* d' w. i- O9 ]" I- ~7 P; R( M  g7 s! O: O  ^8 p$ n8 P* }
By: chpie$ d0 ~9 Y+ O8 m# G# R
Keyboard Interrupt Hooking by manipulating the I/O APIC
: p$ W6 K; A: R9 ^* B$ @( dtested on the winXP, Pentium D Hyper-threading Enabled.
6 ^( Y% m. p1 C
8 A; O( [7 L$ Q
; O1 R& n8 Q1 o7 vSummary :: Using the 8259a compatible PIC to be deliver the interrupt6 M; v9 X0 l) b+ {7 e
signal by Delivery mode of the I/O APIC to be the ExtINT,
7 {0 @5 ^* E+ J' g1 {the interrupt related by the IRQ 1 able to be not refer( B3 r8 s7 `+ t2 ^$ D4 r
the I/O APIC's Redirection Table.
) U+ a% ~$ U; ]. s4 u1 l  p6 K1 v. s. d- F/ i6 C, _
- It is higher priority of the hooking than the direct
+ {; l3 J* L3 f3 T2 _! J) nmodification of the I/O APIC's vector.
. e3 P/ P0 x0 u+ h1 i5 |  @- The vector can be hidden on the thread getting the keyboard" R+ V0 r6 B2 m. y7 @' K
vector from the I/O APIC.
  U# e  m  y- \/ b/ I$ U% e/ I. g& L' `, s: ^
Flow ::
+ Z6 @5 p# D) K8 x" k) E
6 S5 G6 S# `8 @0 K! z1. IRQ 1 Assert !!!
0 a% s5 g7 M. B6 I/ A1 `/ z0 D2. The I/O APIC receives the signal and refers the I/O Redirection table.7 T, _6 C7 n( B
3. Sending the signal from the destination Local APIC.( f( }- j4 U& J; g% r: c( x
4. Local APIC pass the signal to the processor for its delivery mode ExtINT8 \1 W. }8 ]# }# g1 t
5. A processor receives the signal.
# K$ g+ t  h. n. S( o1 C/ F6. The processor Assert the INTA signal.
0 r2 \; R' c! s7. The I/O APIC acknowledged.
# ]# _# b5 ^9 F) a/ b/ d8. The processor Assert the second INTA signal.
% `9 \& t$ u: m2 w, W9. The I/O APIC delivers the signal to the 8259a compatible PIC/ Q1 k/ L2 }- i2 w8 B  g: K7 L- l
for ExtINT to its Delivery mode.
% u; h9 ?2 ]: f4 j6 o10. 8259a compatible PIC sends 2 bytes after second INTA pulse.) j" |$ q! g% M9 u: `% l
11. The processor execute 2 bytes sended.4 P' m: H8 u8 S, y& z
12. our interrupt handler executed.1 X5 r2 \4 v2 a; v3 i

& e' H8 L" f6 b! }' p7 J* D
; l# V1 h3 t, lsourcecode and binary are available on the
% l7 I* I% ?/ n1 ?http://www.rootkit.com/vault/chpie/apic_keyboard.zip

本帖子中包含更多资源

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

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

本版积分规则

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

GMT+8, 2026-6-4 10:29 , Processed in 3.526126 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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