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

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

[复制链接]
发表于 2007-11-16 12:13:14 | 显示全部楼层 |阅读模式
Keyboard Interrupt Hook using I/O APIC(ZT)
- F5 O* c" H) X
" Q* P3 z4 ^8 w6 J5 QKeyboard Interrupt Hook using I/O APIC) C, D9 b8 P1 e& F, p; m: V

+ {0 ?2 q4 @8 M9 UBy: chpie
# X0 H1 |1 C' E! F8 p" ^/ AKeyboard Interrupt Hooking by manipulating the I/O APIC' h1 G. e5 l  l- G- {3 m
tested on the winXP, Pentium D Hyper-threading Enabled., w, [+ q, |: _& ]
  L2 W5 I* }6 l3 T- a+ I, z
/ a( D. `& S" P! c. U1 _8 x3 s
Summary :: Using the 8259a compatible PIC to be deliver the interrupt
! _) Y# J/ h  p; N, v' E0 msignal by Delivery mode of the I/O APIC to be the ExtINT,
5 M" b7 Q  u2 f( a! O8 kthe interrupt related by the IRQ 1 able to be not refer
2 M0 s7 ~8 f. L2 [9 ^- r$ kthe I/O APIC's Redirection Table.$ j' \) n0 u1 p, ~' h9 P! r- U

- _/ a( j. l* |3 x. O; }* k- It is higher priority of the hooking than the direct' ~+ {& Z$ @( k! r
modification of the I/O APIC's vector.: o" h( u7 g/ V* u& \9 J
- The vector can be hidden on the thread getting the keyboard* P, F5 H" W9 e+ v# ]
vector from the I/O APIC.( ?* w4 N/ u) b9 L5 e0 s0 ]$ z0 R
: X: o& o) W& {* V* k
Flow ::7 Q) }+ M- Q7 }8 h* u

4 S* V$ b. b& r: d0 _3 _- q1. IRQ 1 Assert !!!
: ]$ S- Q. C6 |2. The I/O APIC receives the signal and refers the I/O Redirection table.7 E3 h) e- x, w) j$ F6 _
3. Sending the signal from the destination Local APIC.2 R% D  a! @" R. O+ o: q
4. Local APIC pass the signal to the processor for its delivery mode ExtINT  [& K! w+ ?4 P; h# Q* ?
5. A processor receives the signal.
2 Y7 Y' [2 K/ @8 E7 B6. The processor Assert the INTA signal.# e& V: N) R6 W# Q/ h: a
7. The I/O APIC acknowledged.
" s# L' H0 B& j" A4 P/ m8. The processor Assert the second INTA signal.8 |/ r( _/ G5 A+ u; `
9. The I/O APIC delivers the signal to the 8259a compatible PIC$ J' F4 {$ @9 q. ?3 N! R
for ExtINT to its Delivery mode.& }. e$ e, O# R; o
10. 8259a compatible PIC sends 2 bytes after second INTA pulse.* ?% |/ i  v, @  ?
11. The processor execute 2 bytes sended.
! q- G: A% b+ `: \) p/ K12. our interrupt handler executed.0 {0 v: e; o$ \4 d) D3 s5 l

* G0 |: S& P; a: p& `  L
: k8 M1 m  K% S) S! k7 M% psourcecode and binary are available on the
% j1 a# o! s& h# K5 R- uhttp://www.rootkit.com/vault/chpie/apic_keyboard.zip

本帖子中包含更多资源

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

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

本版积分规则

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

GMT+8, 2026-1-18 19:14 , Processed in 0.071916 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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