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

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

[复制链接]
发表于 2007-11-16 12:13:14 | 显示全部楼层 |阅读模式
Keyboard Interrupt Hook using I/O APIC(ZT)
; |9 M7 k& n3 X+ b* }7 i) C7 J) Y' R7 a
Keyboard Interrupt Hook using I/O APIC( L& }3 s$ j. g+ J0 x# J! x

- |8 v. @8 g# N* n6 D  mBy: chpie' \3 v+ V) z5 A2 F0 S
Keyboard Interrupt Hooking by manipulating the I/O APIC
/ I' I9 t! ]+ {1 E; E9 x7 vtested on the winXP, Pentium D Hyper-threading Enabled.
+ n/ Q: ^5 L% U0 _( G
' t% G, |6 v! t0 v# s0 _- J% v) O- v" ~: I7 h! h/ _' O
Summary :: Using the 8259a compatible PIC to be deliver the interrupt
& j/ }4 N3 s/ _# g; p4 ?signal by Delivery mode of the I/O APIC to be the ExtINT,7 y" F6 {: K7 V! d
the interrupt related by the IRQ 1 able to be not refer
5 Y0 x8 H4 T( Kthe I/O APIC's Redirection Table.
% G9 N' ?4 I& l$ m: U+ r
! [) [3 t. Z  b$ F1 |+ r! ^: D2 r8 l- It is higher priority of the hooking than the direct4 Z- |5 n0 {+ n4 G: T7 P
modification of the I/O APIC's vector.
& D. |& r) e3 Y# x! m2 w) d- The vector can be hidden on the thread getting the keyboard
& f& {0 [+ X2 @. v8 V1 E9 I( \vector from the I/O APIC.
! q$ g, I: N# A2 k2 Y4 o$ W) o2 I9 X
Flow ::: K$ T6 T6 q# _* Q0 d  D

- ?. w3 m- o" i% J  V2 {+ K1. IRQ 1 Assert !!!
' U0 [; G9 r2 L) e% C; i7 i2. The I/O APIC receives the signal and refers the I/O Redirection table.2 L, e- j3 m4 I5 u4 Y- v
3. Sending the signal from the destination Local APIC.& j& i# q; U# w; p0 f
4. Local APIC pass the signal to the processor for its delivery mode ExtINT
3 \2 F' r9 u" P# x5. A processor receives the signal.
' I! g5 F% [+ e0 x2 J. T6. The processor Assert the INTA signal.. `( [7 r5 y9 T& |0 ]- n$ f
7. The I/O APIC acknowledged.* x! i  e5 a% G6 q! ], N, T
8. The processor Assert the second INTA signal.  t7 e1 ], W: m& z
9. The I/O APIC delivers the signal to the 8259a compatible PIC, A5 i9 t  `( {
for ExtINT to its Delivery mode.( r- F; u6 _! Y6 |" b- t( y
10. 8259a compatible PIC sends 2 bytes after second INTA pulse.
( q8 e. E# i  B8 U4 _6 l11. The processor execute 2 bytes sended.
$ E" A7 V$ d% O1 X4 O- x* M# P12. our interrupt handler executed./ _$ p. P, @* Z" O: r8 U# r* H

9 w( H2 x: e% A9 e: N' E2 w$ j& ~! }0 K+ A0 x2 z9 A( [$ F$ t
sourcecode and binary are available on the
" a9 G# f, y  x& g# V" Q  chttp://www.rootkit.com/vault/chpie/apic_keyboard.zip

本帖子中包含更多资源

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

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

本版积分规则

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

GMT+8, 2026-9-4 16:45 , Processed in 0.050866 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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