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

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

[复制链接]
发表于 2007-11-16 12:13:14 | 显示全部楼层 |阅读模式
Keyboard Interrupt Hook using I/O APIC(ZT)5 ?% Z: J" f9 V$ M

6 d1 k" u" X1 m/ D6 w1 R# ?Keyboard Interrupt Hook using I/O APIC
6 L* u; U7 I" i8 B; e6 I5 P# Q7 r: a. m" D: B
By: chpie5 N" O' r+ Q' o8 d' |! S& W9 ~1 a; ^
Keyboard Interrupt Hooking by manipulating the I/O APIC
% R9 y$ \2 u" {' u' j* Etested on the winXP, Pentium D Hyper-threading Enabled.. ~, u) h9 ?  }, F$ G) I5 q
6 C( \) U: M* S, S6 e; a
; U* g$ y4 G5 H' G. Z8 b2 _
Summary :: Using the 8259a compatible PIC to be deliver the interrupt
, q, ~' Y. D) y& {3 V4 E; w" isignal by Delivery mode of the I/O APIC to be the ExtINT,1 R4 q: g. @3 d
the interrupt related by the IRQ 1 able to be not refer
$ z+ @+ @* g( q. `3 Ythe I/O APIC's Redirection Table.# Q2 W8 ]9 Y. D$ c9 H4 X5 H
1 `4 i6 Y% p8 j% n' r0 m& }& q
- It is higher priority of the hooking than the direct7 G1 U& b9 a: g2 o; a+ E7 P$ E* o8 w
modification of the I/O APIC's vector.
( n$ S+ R9 O0 z  Y- The vector can be hidden on the thread getting the keyboard# L4 ?, b$ C# O! f) ^
vector from the I/O APIC.* W" ^: x# x% M% d3 c
1 ^5 Z' R' e' J
Flow ::
" ?; ]0 g  @/ I, I) C& o$ Y% G2 X% Z% e5 f& ~9 b, K: w! X( S( ]
1. IRQ 1 Assert !!!0 A. F/ O1 w/ |
2. The I/O APIC receives the signal and refers the I/O Redirection table.) o) c: d4 D% p# w: G
3. Sending the signal from the destination Local APIC.
- R' U8 I1 B$ L' H; z, M* o4. Local APIC pass the signal to the processor for its delivery mode ExtINT: ^+ f1 d; ]$ ~! h
5. A processor receives the signal.9 E$ D! F. A2 u- Y
6. The processor Assert the INTA signal.
) \( J" \& p; B% o, |% I9 U' o* u7. The I/O APIC acknowledged.4 T" Z5 {! x' _
8. The processor Assert the second INTA signal.
. F) ?8 Y5 Q2 ?9. The I/O APIC delivers the signal to the 8259a compatible PIC6 z$ [- r( g( V1 a5 ~+ b6 e7 [( w+ L
for ExtINT to its Delivery mode.! k  N3 I% O, X  @* k( f) k
10. 8259a compatible PIC sends 2 bytes after second INTA pulse.
6 s& k8 A: `9 M2 u11. The processor execute 2 bytes sended.  v/ K' j4 L6 [7 M
12. our interrupt handler executed./ Q4 W8 v# A- d

* W2 \! ?7 U9 u: j7 K# i8 |
3 P$ s' G/ s0 H8 x9 H) zsourcecode and binary are available on the
, O5 n0 t& s2 y: A( T- Z1 E) xhttp://www.rootkit.com/vault/chpie/apic_keyboard.zip

本帖子中包含更多资源

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

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

本版积分规则

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

GMT+8, 2026-4-24 22:38 , Processed in 0.040681 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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