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

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

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

本帖子中包含更多资源

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

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

本版积分规则

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

GMT+8, 2026-5-13 21:20 , Processed in 0.053786 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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