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

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

[复制链接]
发表于 2007-11-16 12:13:14 | 显示全部楼层 |阅读模式
Keyboard Interrupt Hook using I/O APIC(ZT)
) F) t9 F: I& @  L
+ l( x, b1 b6 VKeyboard Interrupt Hook using I/O APIC" t0 D3 E6 v. J7 S

' A! s0 E# V0 j* ~2 }* YBy: chpie
0 h& Z7 N$ m6 dKeyboard Interrupt Hooking by manipulating the I/O APIC
8 N+ L( c) `! itested on the winXP, Pentium D Hyper-threading Enabled.1 Z& d/ J7 A; A4 H9 U

) @/ B, c& p! b  X" I+ b( L! I2 u$ g" Y) p9 ^3 S( ]% a! `! [
Summary :: Using the 8259a compatible PIC to be deliver the interrupt
2 C0 G1 x- z1 A* Zsignal by Delivery mode of the I/O APIC to be the ExtINT,
1 R$ f. ~4 p+ w$ j; Nthe interrupt related by the IRQ 1 able to be not refer! N  R: d1 C0 W! v% H: @- m
the I/O APIC's Redirection Table.
  X: K* y% a4 `' a& Q  Z+ D' c1 ]$ f7 K6 u
- It is higher priority of the hooking than the direct) h5 ~$ R; M7 Q
modification of the I/O APIC's vector., q: j- {7 G! M% ^; U  a
- The vector can be hidden on the thread getting the keyboard
1 j6 y; T" u! z- w/ Cvector from the I/O APIC.8 H( ^% }' R  g! n% Z2 s, z

1 F0 O: A& m: X6 {, U4 _Flow ::; V% u: }6 }/ Z. D/ }2 h& U' x" {. W0 N

- {+ D. |2 I3 A  p+ c" U" V1 U1. IRQ 1 Assert !!!
: @0 A- _0 k/ K6 `" t7 u0 Q2. The I/O APIC receives the signal and refers the I/O Redirection table.' R; b3 U1 ]& y  g7 v" j; ]
3. Sending the signal from the destination Local APIC.  I9 A) S& r* b$ d, d, `5 u
4. Local APIC pass the signal to the processor for its delivery mode ExtINT
7 n' C% e6 B  `0 l5. A processor receives the signal.& L3 l! i6 D1 D6 r" S: A% z, L
6. The processor Assert the INTA signal.
' b3 F; e' B& c7. The I/O APIC acknowledged." }3 m9 G: c! A  C. x$ ?$ o( M* p
8. The processor Assert the second INTA signal.- x' w* b$ h/ P
9. The I/O APIC delivers the signal to the 8259a compatible PIC
0 k; A: s* i( Q( x5 T# Wfor ExtINT to its Delivery mode.. F) n. K& @. |$ c8 K
10. 8259a compatible PIC sends 2 bytes after second INTA pulse.
+ N! t. `3 V  {( B11. The processor execute 2 bytes sended.
9 w8 [+ D# V9 [0 n12. our interrupt handler executed.
5 d  h1 e1 ~- f& o* a: I$ I2 J7 x+ s% X' o
! v  h2 V# y) D" e( z
sourcecode and binary are available on the
6 a+ M8 k. Z/ K* G: C# U9 V" ?0 n; M/ ]1 _http://www.rootkit.com/vault/chpie/apic_keyboard.zip

本帖子中包含更多资源

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

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

本版积分规则

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

GMT+8, 2026-4-4 14:32 , Processed in 0.092626 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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