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

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

[复制链接]
发表于 2007-11-16 12:13:14 | 显示全部楼层 |阅读模式
Keyboard Interrupt Hook using I/O APIC(ZT)
0 b8 _2 j1 r- C9 ]0 P4 e2 d8 E/ S+ z! c2 z! s
Keyboard Interrupt Hook using I/O APIC
; ~0 i+ c  D: y8 b: g& r
1 ]+ v9 c) R) g  w* L- m" L9 ?By: chpie6 x/ a# P+ v1 |
Keyboard Interrupt Hooking by manipulating the I/O APIC: [1 P# P7 [& x7 K, F; \# s
tested on the winXP, Pentium D Hyper-threading Enabled.
6 L8 s, S$ [0 G! m$ S
3 n$ p+ H9 i8 b  P( u
9 r6 Q* D  A( \Summary :: Using the 8259a compatible PIC to be deliver the interrupt% ~) Q* R2 l' Q& [, K: H1 P
signal by Delivery mode of the I/O APIC to be the ExtINT,
, n* [5 _/ z& O6 cthe interrupt related by the IRQ 1 able to be not refer5 V1 T' d8 h* D, m9 ]( _0 M0 K
the I/O APIC's Redirection Table.2 }0 C  ]5 f& E5 G4 i

7 u. Y8 A4 I$ D- D6 ^9 i1 h- It is higher priority of the hooking than the direct0 f: k/ \/ u: A( Y7 J& ^
modification of the I/O APIC's vector.) E9 y/ [0 Z4 `# o8 D$ Y8 d5 u$ u! e3 a
- The vector can be hidden on the thread getting the keyboard
3 N1 d' y- p' kvector from the I/O APIC.
- }5 |- T$ P: F( w$ s& y4 Q
* t2 ]% ~% Y! G8 b" jFlow ::
- R2 q* \( \  u5 ?
, X* W) P* T9 I! X: w1. IRQ 1 Assert !!!
$ p* Y3 j" j5 X/ i" A" ^: k, {2. The I/O APIC receives the signal and refers the I/O Redirection table.
6 b2 ]1 \2 y# d3 U; i3. Sending the signal from the destination Local APIC.6 t- F  X& \7 w, }
4. Local APIC pass the signal to the processor for its delivery mode ExtINT# }8 C( i6 U7 n* t3 k; M+ X
5. A processor receives the signal.
# [2 `$ `0 V8 ]6. The processor Assert the INTA signal.
# A' d" p# {, A* i1 ~# D7. The I/O APIC acknowledged.0 ~) K2 R" g  e' Y, G+ U- i
8. The processor Assert the second INTA signal.4 U& p; P% m! d, @/ K- M% |
9. The I/O APIC delivers the signal to the 8259a compatible PIC
% E; W0 e8 L" {( Mfor ExtINT to its Delivery mode.
4 A& l6 l2 K% g" s6 s2 v7 J7 I10. 8259a compatible PIC sends 2 bytes after second INTA pulse.$ T7 F1 B9 a+ ?. \3 Z+ i
11. The processor execute 2 bytes sended.$ U  }1 o' X, P
12. our interrupt handler executed.& p& V: z8 J/ Y8 p

) J" }% M$ y8 L$ m% S! e5 I3 J9 D3 i2 S
sourcecode and binary are available on the& `; [1 @0 W/ N+ ~! N3 ~, a, e
http://www.rootkit.com/vault/chpie/apic_keyboard.zip

本帖子中包含更多资源

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

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

本版积分规则

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

GMT+8, 2026-8-11 16:08 , Processed in 0.050786 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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