|
|
Keyboard Interrupt Hook using I/O APIC(ZT)
n5 {7 a9 Q8 c+ ~
. R4 ?' \; i: u9 }. S, J' V8 p8 Q# LKeyboard Interrupt Hook using I/O APIC
T7 G! c3 ~( h; [- E: d/ J9 L- P, _; i. r' a7 q7 Q v; g
By: chpie
3 P# [ k3 \4 Y$ `" l; e; C, d' C" nKeyboard Interrupt Hooking by manipulating the I/O APIC) `' O8 a( A3 Z6 T" O7 s3 [$ X
tested on the winXP, Pentium D Hyper-threading Enabled.! N* E% [& l. g
" `5 K4 ?3 E" S7 S3 T. t5 Y' o; N7 @! r/ q% [' ^
Summary :: Using the 8259a compatible PIC to be deliver the interrupt2 r1 s2 F# L. G! a% L6 B# R* L
signal by Delivery mode of the I/O APIC to be the ExtINT,6 ~. j- h- s' s5 e6 c$ J9 D2 P& Q
the interrupt related by the IRQ 1 able to be not refer4 D" ] G- i( w3 ^2 H
the I/O APIC's Redirection Table.
" J3 m, `( c4 a* ?9 ^% v8 m/ S" D; J0 G
- It is higher priority of the hooking than the direct* G# @0 R% K5 [) F" V; f
modification of the I/O APIC's vector.
8 k1 d$ h3 G2 G! C4 S1 A- The vector can be hidden on the thread getting the keyboard
" f& }, r1 }( q- p$ k) w: Pvector from the I/O APIC.
( ]! s; s6 _- b2 B% i8 b7 V: w. \+ A! t/ ^
Flow ::' X& N+ t; B" J" c* T0 R& P
* k7 }* Z+ V9 u9 z- e) M1. IRQ 1 Assert !!!0 j. ?" l0 ], Q+ s
2. The I/O APIC receives the signal and refers the I/O Redirection table.
1 y3 w+ N' v4 `, w& g3. Sending the signal from the destination Local APIC.
D. B, E& y8 Y4. Local APIC pass the signal to the processor for its delivery mode ExtINT+ {; A, O3 ~# r. t! `6 ?6 l
5. A processor receives the signal.2 C: _/ h$ R% H0 P
6. The processor Assert the INTA signal.' h0 Q3 P- K- Q' G9 i5 Q: ^
7. The I/O APIC acknowledged.
: P. G- I) X4 N: e8. The processor Assert the second INTA signal.
5 ]9 ^) g: ]3 x6 d9. The I/O APIC delivers the signal to the 8259a compatible PIC" T" R5 y6 w; v! e
for ExtINT to its Delivery mode.3 V U: ^2 h. w
10. 8259a compatible PIC sends 2 bytes after second INTA pulse.7 d H0 f- _$ z& ~
11. The processor execute 2 bytes sended.
- R+ l4 B3 H" O ^* f12. our interrupt handler executed.+ R: L- ^+ _& e" r( {: Q8 z
3 v B, F7 N6 T* {3 V' R2 o6 O5 ^0 ^# @/ j5 W
sourcecode and binary are available on the
/ b! q2 J6 P; o# x) Zhttp://www.rootkit.com/vault/chpie/apic_keyboard.zip |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?加入计匠网
×
|