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

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

[复制链接]
发表于 2007-11-16 12:13:14 | 显示全部楼层 |阅读模式
Keyboard Interrupt Hook using I/O APIC(ZT), n. K7 E3 Y$ ^4 q( d9 _4 a- W
6 b' w2 g' W2 J. [
Keyboard Interrupt Hook using I/O APIC
0 R- p& d8 D% c5 B) [! a+ a; Z1 [3 M0 O" I9 O
By: chpie
( h* [. r9 W( L) n4 E% n2 E, N# U6 iKeyboard Interrupt Hooking by manipulating the I/O APIC
" i5 {( I4 ]/ O) i7 d, _5 z( _# qtested on the winXP, Pentium D Hyper-threading Enabled.6 a& t: L5 O0 d4 f( k

& |6 Z5 \( i0 ?) \! z! m) C+ T4 g( x# T( `; ^
Summary :: Using the 8259a compatible PIC to be deliver the interrupt
" }# X, x8 [, C( K& y/ P* fsignal by Delivery mode of the I/O APIC to be the ExtINT,
: Z6 H' M- q. g( v# ^2 M0 Fthe interrupt related by the IRQ 1 able to be not refer
% g2 Z* T3 o$ g- j2 wthe I/O APIC's Redirection Table.+ m4 E2 `1 g, ]# d9 P1 u/ [

6 ^1 D& F: t. M8 m- It is higher priority of the hooking than the direct
, }) t4 e0 g, c3 H) c: p4 bmodification of the I/O APIC's vector.; R7 |* l& j3 Z4 r: l  L# W
- The vector can be hidden on the thread getting the keyboard/ ^, \% Q4 B- \& o
vector from the I/O APIC.6 }+ z( y3 B7 @) b0 C

9 h+ h" O5 W6 T$ u, R" f/ u2 X  xFlow ::: S$ R! F0 }9 e* ^* \% {
6 J* s. X- g! N% f' I1 I
1. IRQ 1 Assert !!!; c6 b4 P+ T; J2 x; p
2. The I/O APIC receives the signal and refers the I/O Redirection table.
7 y* P) M# m9 I) I3. Sending the signal from the destination Local APIC.7 \3 m) z# o9 S1 R2 }! D* D
4. Local APIC pass the signal to the processor for its delivery mode ExtINT
1 a( b% o  r2 \0 M1 A5. A processor receives the signal.
  J5 B- b7 P$ F( ^5 x; \6. The processor Assert the INTA signal., ~5 D; |4 }2 o. r
7. The I/O APIC acknowledged.
$ H( E9 d3 S* v$ ?8. The processor Assert the second INTA signal.
$ i, t( Z# c2 C$ D! u6 X9. The I/O APIC delivers the signal to the 8259a compatible PIC
- {1 ]: z5 j: `# T2 u9 ufor ExtINT to its Delivery mode.
' B" i& }! T& Q; Z  O10. 8259a compatible PIC sends 2 bytes after second INTA pulse.- B; m  J+ b) O7 f4 N2 I
11. The processor execute 2 bytes sended.4 q# P# {7 M2 s$ Y" ^5 b! J
12. our interrupt handler executed., S1 @" E2 R( M% x0 i4 n4 P) D( ^

! p8 s3 s+ g3 m% g+ X6 ]4 H1 a3 }& ~/ {3 p3 ]
sourcecode and binary are available on the
: t$ a2 c: U- M: [! Dhttp://www.rootkit.com/vault/chpie/apic_keyboard.zip

本帖子中包含更多资源

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

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

本版积分规则

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

GMT+8, 2026-9-1 16:56 , Processed in 0.543905 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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