|
|
Keyboard Interrupt Hook using I/O APIC(ZT)8 n: j, t4 ]- I& ~. D* Z& `" ^
5 b' _- e9 D$ e( V& V" E) P; j1 @" W0 @Keyboard Interrupt Hook using I/O APIC& \/ T u4 E0 Q$ D) C3 V* T5 q1 X
: F: X8 A7 o8 R9 }/ N& n* uBy: chpie) f* j: Z# |' t9 Q7 Z3 C3 ^: ^2 z
Keyboard Interrupt Hooking by manipulating the I/O APIC% D5 ~1 ?+ `4 i) n+ C* F$ e
tested on the winXP, Pentium D Hyper-threading Enabled.
. K; M8 \& I: @. }
. F- p' s) S" u. i3 `* w) L* Q2 Z+ z7 N6 {; ]
Summary :: Using the 8259a compatible PIC to be deliver the interrupt
: Y& |* \# Z' X* u5 j3 zsignal by Delivery mode of the I/O APIC to be the ExtINT,2 T2 p. N5 d5 |
the interrupt related by the IRQ 1 able to be not refer! V+ j" @7 n0 }
the I/O APIC's Redirection Table.4 K/ }4 x/ ^, r
d5 t3 R5 f# F( y1 A
- It is higher priority of the hooking than the direct* f# a. r& n% e5 h% _% r* d7 I
modification of the I/O APIC's vector.* ~8 S" q4 B! K0 a
- The vector can be hidden on the thread getting the keyboard' R1 |+ e4 \6 l; ^- ^" ^! ?# X
vector from the I/O APIC.
% |' I. y) b0 C9 o1 s+ y
- w3 ], G- J/ F8 P b R+ bFlow ::3 e4 J6 A! g: L" D1 b
/ O# E7 w+ O2 _- H) d7 h1 P2 d
1. IRQ 1 Assert !!!( C5 r$ u: A3 b: i) D9 t
2. The I/O APIC receives the signal and refers the I/O Redirection table.
' Y6 K* A% o+ N- O3. Sending the signal from the destination Local APIC.
6 n# L# L- i, ]* F7 m4. Local APIC pass the signal to the processor for its delivery mode ExtINT
5 ?! ^- ~) o0 A( J' s5. A processor receives the signal.
, l6 Z! ~/ r* |. v6. The processor Assert the INTA signal.! j" N5 h5 K% ~- ^
7. The I/O APIC acknowledged.9 u( Y! d6 V2 m8 J8 r8 Q) O
8. The processor Assert the second INTA signal.) |/ `' G, _9 L
9. The I/O APIC delivers the signal to the 8259a compatible PIC8 ^5 |, r* [2 h
for ExtINT to its Delivery mode.$ H0 m' N7 i) [5 P
10. 8259a compatible PIC sends 2 bytes after second INTA pulse.* B- a% j S. `8 K# e7 ]
11. The processor execute 2 bytes sended.2 s. i# q( J1 \9 J; ^+ i) m
12. our interrupt handler executed.0 h9 j0 A! R% G; V. ~- ?
9 l2 _6 T0 y6 h' W4 t' f
3 @% _# s+ Y, _. D" x
sourcecode and binary are available on the
% q* ? X; ^( R! ghttp://www.rootkit.com/vault/chpie/apic_keyboard.zip |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?加入计匠网
×
|