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

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

[复制链接]
发表于 2007-11-16 12:13:14 | 显示全部楼层 |阅读模式
Keyboard Interrupt Hook using I/O APIC(ZT)0 O( x' G! I, s( e3 J! u

* n/ k& f- g; J5 P7 Q+ ?Keyboard Interrupt Hook using I/O APIC2 T  t; g/ z5 J; p3 u: ~6 Q2 R

- H! m) T$ `4 V0 G6 m  hBy: chpie
, j, L1 E: Z6 G$ b9 Y( \5 I+ pKeyboard Interrupt Hooking by manipulating the I/O APIC
# m; M5 N9 q/ m' e4 p, ~0 ]4 |tested on the winXP, Pentium D Hyper-threading Enabled." ~$ l; |% p( j- P9 \" I

7 J  M' o3 J1 X1 C9 w1 M" k' n! f. v9 R
Summary :: Using the 8259a compatible PIC to be deliver the interrupt
9 u+ g( v3 d! [+ ?+ T# c% x2 Vsignal by Delivery mode of the I/O APIC to be the ExtINT,
" C5 W. S8 }4 k9 [$ ]the interrupt related by the IRQ 1 able to be not refer
5 t, B0 W! w8 D% }% Ythe I/O APIC's Redirection Table.
+ _9 v: W: }6 M0 r. K' E6 Q" b7 t5 {% t
- It is higher priority of the hooking than the direct
# w8 e* c) J7 L6 t/ Y. F- @modification of the I/O APIC's vector.6 \, ?" @' x- W- L$ q) \. M; T
- The vector can be hidden on the thread getting the keyboard, [9 }# E# ]# E4 a0 {" e: |8 D
vector from the I/O APIC.4 E. z4 y# }/ e( E3 Y! T7 f& L) L
( Y. V! [& [# z2 r1 I. T, `  R
Flow ::
# H6 c' d% \' m* T; E& V2 H' \6 i9 k8 S( J# b# e
1. IRQ 1 Assert !!!
( w4 s) i% H. R  m2. The I/O APIC receives the signal and refers the I/O Redirection table.! [, N$ c& f, Z7 q) O' p
3. Sending the signal from the destination Local APIC.$ J! v  j5 r1 [, F# g
4. Local APIC pass the signal to the processor for its delivery mode ExtINT
* y, i$ c, G4 w6 ^5. A processor receives the signal.
) B$ G3 V2 B/ e! l* G0 B, K$ d6. The processor Assert the INTA signal.
3 ]1 A4 f. r* x; U! K7. The I/O APIC acknowledged.3 X* o8 s; }+ J. z& A' b1 V
8. The processor Assert the second INTA signal.
- x! R5 ]* d- ]& U. z  {9 _, l9. The I/O APIC delivers the signal to the 8259a compatible PIC, i* v8 \0 y2 n3 |. ?1 T
for ExtINT to its Delivery mode.
, L9 d7 Q. k8 z  a, e6 s0 p# u10. 8259a compatible PIC sends 2 bytes after second INTA pulse.2 I% Z  ?1 M: q1 C6 S
11. The processor execute 2 bytes sended.; L4 e8 L$ I- [% E" V* h& M* b
12. our interrupt handler executed./ |: o( x4 R$ a. H2 Z
# _) W7 c' s  d3 W
0 A' E! H0 F" l7 n! X
sourcecode and binary are available on the
- _  K! C8 D& z; n8 V# Bhttp://www.rootkit.com/vault/chpie/apic_keyboard.zip

本帖子中包含更多资源

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

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

本版积分规则

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

GMT+8, 2024-12-23 21:33 , Processed in 0.041753 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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