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

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

[复制链接]
发表于 2007-11-16 12:13:14 | 显示全部楼层 |阅读模式
Keyboard Interrupt Hook using I/O APIC(ZT)
8 r$ H& Z' _8 J+ @( _" ^4 u5 W( |/ ^& Z* ?7 J5 T
Keyboard Interrupt Hook using I/O APIC- I( a/ D/ ~" C3 ~, t% Q7 c5 P

7 z; p: ]: c/ q% l( V3 _By: chpie
. O1 g! k: p7 n- @$ |4 K) lKeyboard Interrupt Hooking by manipulating the I/O APIC
9 N! g8 g6 g; h6 W2 S0 ktested on the winXP, Pentium D Hyper-threading Enabled.  C4 P& d" d' A- W
. ~5 V% ~; k7 I! S& G- Z6 l2 T9 |1 q7 C

8 }' k5 u9 ?) j# LSummary :: Using the 8259a compatible PIC to be deliver the interrupt
3 X) h5 f* v0 S+ asignal by Delivery mode of the I/O APIC to be the ExtINT,$ v: J7 g( Z5 M7 n' ?' o
the interrupt related by the IRQ 1 able to be not refer$ N1 ^" Z) a% l$ N7 e' N
the I/O APIC's Redirection Table.
" A, g: Y4 \# s8 z* r( t
& z+ b" b( e5 |( O1 ~3 j2 B- It is higher priority of the hooking than the direct
0 w! z3 J# g+ J2 C# E8 ?modification of the I/O APIC's vector., \% Q/ ?' S) t( x0 P
- The vector can be hidden on the thread getting the keyboard
, s9 z( X5 D4 [0 T; vvector from the I/O APIC.
: D3 j5 `& G2 z5 |& M5 W
5 K- o- r* {2 D& v- K3 `Flow ::
# f" S9 c1 @' ^7 z8 V
  ?/ ?) N4 W( b+ k1 l2 W$ D4 a1. IRQ 1 Assert !!!
  i5 d7 e9 h) [4 o2. The I/O APIC receives the signal and refers the I/O Redirection table.# \' H+ U& C- N, l7 `+ o
3. Sending the signal from the destination Local APIC.' `4 b5 ~+ }5 V) R: b% z" j1 p& V
4. Local APIC pass the signal to the processor for its delivery mode ExtINT; G- `% ]/ H- D) O
5. A processor receives the signal.
! f6 j2 ?4 k8 G. Y* f6. The processor Assert the INTA signal.
! Z) h$ b- F$ ?) ^/ }7. The I/O APIC acknowledged.3 b. c* `. C) ^/ j. H
8. The processor Assert the second INTA signal.
- |1 _' O3 k% m( r9. The I/O APIC delivers the signal to the 8259a compatible PIC
$ ?7 n7 [# L5 t- J3 v0 y0 s: Ufor ExtINT to its Delivery mode.
* Q* t8 `2 P  X6 Z4 J' F10. 8259a compatible PIC sends 2 bytes after second INTA pulse.
+ P' z: l$ V% F+ i0 e$ b! ?, `) p11. The processor execute 2 bytes sended.- |4 T1 F8 x# w2 H# Q, M  M& f" |
12. our interrupt handler executed.
! [. b8 H1 ~! e( B" ^- Q# ~$ Z5 \+ W) A/ H1 F8 U* R5 h+ }
# |/ k6 l) x" t; V6 N0 L. Z* c. r
sourcecode and binary are available on the2 P8 G( a* [0 i
http://www.rootkit.com/vault/chpie/apic_keyboard.zip

本帖子中包含更多资源

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

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

本版积分规则

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

GMT+8, 2025-5-22 02:21 , Processed in 0.069225 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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