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

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

[复制链接]
发表于 2007-11-16 12:13:14 | 显示全部楼层 |阅读模式
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

本帖子中包含更多资源

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

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

本版积分规则

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

GMT+8, 2026-4-6 17:33 , Processed in 0.189312 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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