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

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

[复制链接]
发表于 2007-11-16 12:13:14 | 显示全部楼层 |阅读模式
Keyboard Interrupt Hook using I/O APIC(ZT)
0 X# L5 A/ p. Y, w" Q3 X5 c' O# e8 l) ~# p1 f% K
Keyboard Interrupt Hook using I/O APIC1 G- p& P0 u0 R* ~% Y
6 r: O2 w. Z5 U, G8 n& v
By: chpie" p; }( Q7 T0 D, d4 \5 M
Keyboard Interrupt Hooking by manipulating the I/O APIC
3 p  n5 n$ @4 V4 G' dtested on the winXP, Pentium D Hyper-threading Enabled.
1 ]0 N5 j* E6 A# z( f: S) z5 ^- }2 X4 Z2 L& y4 I

. k: h2 M, J- Y9 |3 [Summary :: Using the 8259a compatible PIC to be deliver the interrupt
9 z, M1 W7 |3 T% z# n4 osignal by Delivery mode of the I/O APIC to be the ExtINT," ?. w" o! A4 H+ ^
the interrupt related by the IRQ 1 able to be not refer9 \- G( S- Z5 p1 U" G
the I/O APIC's Redirection Table.5 q* y* n$ {+ W" ?% o& [( @  |/ _( f

: d" R- Z/ v( ]+ y, d$ |* Y- It is higher priority of the hooking than the direct
: j. t) q. j' k( cmodification of the I/O APIC's vector.
' s; N/ @; A! O9 f9 ?$ {, T- The vector can be hidden on the thread getting the keyboard9 ^+ H0 B8 X7 U5 M1 g
vector from the I/O APIC.( }1 i5 I. f9 S- e$ b! h0 I

$ p: m1 H! J6 |5 i$ HFlow ::
6 A+ x! r5 i$ ~3 Y3 @8 h' P
: k/ D3 y8 _! U( d3 Y1. IRQ 1 Assert !!!
0 T  N8 S  ^* i+ u4 u7 Z" _4 f2. The I/O APIC receives the signal and refers the I/O Redirection table.( ^0 }. U2 s9 y. E, F! P2 z
3. Sending the signal from the destination Local APIC.
* a& a9 [2 K  d% p4. Local APIC pass the signal to the processor for its delivery mode ExtINT
& T3 K7 j% {0 Y+ y5 j. K- K5. A processor receives the signal./ F2 L  S# t3 F. p% J3 s
6. The processor Assert the INTA signal.- I5 z. y  _0 f
7. The I/O APIC acknowledged.; t# h0 c+ D$ s: ~0 G
8. The processor Assert the second INTA signal.
# Y  k0 ?# O. Q9. The I/O APIC delivers the signal to the 8259a compatible PIC/ k/ Z. s" [% x; }6 J
for ExtINT to its Delivery mode.
) |  {* C8 v6 _3 i5 r$ ?5 k/ t10. 8259a compatible PIC sends 2 bytes after second INTA pulse.
# T! ^# b: t# g( V11. The processor execute 2 bytes sended.$ a1 K& T& N7 I9 s
12. our interrupt handler executed.
$ k3 {7 G7 [- R9 [% H2 f& {; I: j9 d' I/ p4 c0 d5 K
4 r2 d' E) z4 G# B1 T4 n8 Y2 @
sourcecode and binary are available on the
1 e2 u, q5 ]2 r' `! ^( a0 R: b! Ahttp://www.rootkit.com/vault/chpie/apic_keyboard.zip

本帖子中包含更多资源

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

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

本版积分规则

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

GMT+8, 2024-5-20 18:31 , Processed in 0.019761 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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