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

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

[复制链接]
发表于 2007-11-16 12:13:14 | 显示全部楼层 |阅读模式
Keyboard Interrupt Hook using I/O APIC(ZT): E* Y# T$ \3 {( D% d, Y

; Z1 ^# f4 @; m% t1 }: ^" @Keyboard Interrupt Hook using I/O APIC/ ^2 x, h: L; _$ \
% N" H/ h4 v" w9 M/ R) q4 r+ L
By: chpie
7 ^# d6 F0 u7 d2 l$ x& `Keyboard Interrupt Hooking by manipulating the I/O APIC( _! X! c! Y  ^& V
tested on the winXP, Pentium D Hyper-threading Enabled.' _/ d0 H9 I( ]; I; Y3 F' o& x5 H

1 y7 z" Z7 B+ z% _& ^+ [5 W4 U% \
! p7 t. u# D& n+ `, NSummary :: Using the 8259a compatible PIC to be deliver the interrupt
1 k6 l4 q! @+ Q2 a: U% Lsignal by Delivery mode of the I/O APIC to be the ExtINT,0 E# a+ U; O/ J+ a" i; c% s
the interrupt related by the IRQ 1 able to be not refer
; t( u& x3 b+ |' v) p& wthe I/O APIC's Redirection Table.) \& O, O8 p. D( C' t8 |
/ `1 t7 @" |# ]3 r6 d( {4 j
- It is higher priority of the hooking than the direct8 ?6 x- t0 A+ z- E2 O2 W7 Q
modification of the I/O APIC's vector.' U/ O- i! b* ]% }! Q3 o  _7 t
- The vector can be hidden on the thread getting the keyboard
; u( v1 k$ |- U7 u, C) g7 ~/ Hvector from the I/O APIC.) Y: z' V% j0 i7 o

) S& e, E& G5 i. \Flow ::/ y9 O$ B) P" O! t) h5 b1 V

% z  s/ L& K( ~2 F1. IRQ 1 Assert !!!$ C2 t$ y1 e0 N/ [, a0 h
2. The I/O APIC receives the signal and refers the I/O Redirection table., l! y! R! [5 K% u! A. |' `
3. Sending the signal from the destination Local APIC.! b* a* q. P5 J6 u* A4 i  t
4. Local APIC pass the signal to the processor for its delivery mode ExtINT
0 z' {( E1 A1 B* N5. A processor receives the signal.
4 t9 ?, x+ o0 ~6. The processor Assert the INTA signal." B3 H. I' y8 l
7. The I/O APIC acknowledged.
! q1 p0 X. l' Y8. The processor Assert the second INTA signal.
  P) M7 Z) Q' t& b% d& p5 r. L7 L9. The I/O APIC delivers the signal to the 8259a compatible PIC
/ D# Z- y% x  ]for ExtINT to its Delivery mode.+ o. V! {) X% }, P1 e2 @& w3 [
10. 8259a compatible PIC sends 2 bytes after second INTA pulse.* I/ S5 Z( w) E# C
11. The processor execute 2 bytes sended.! ]& z5 n4 ]8 r3 X
12. our interrupt handler executed.4 {9 P- ~) F, d5 x! A* v: \% ?; e

" A1 \5 d- r/ C, c5 L
1 V! V- S% E: _; d9 [1 [" Usourcecode and binary are available on the( A( X6 J2 Z* V. d& o
http://www.rootkit.com/vault/chpie/apic_keyboard.zip

本帖子中包含更多资源

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

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

本版积分规则

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

GMT+8, 2026-4-19 21:53 , Processed in 0.072538 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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