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

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

[复制链接]
发表于 2007-11-16 12:13:14 | 显示全部楼层 |阅读模式
Keyboard Interrupt Hook using I/O APIC(ZT)' C* E+ g4 p# [  |2 a% m

% C; O% J  @# k8 e. p; h4 o4 WKeyboard Interrupt Hook using I/O APIC
2 J' f# `7 m2 z, w
# ~: S2 w" b& j& G& U5 t  PBy: chpie- R6 L6 u2 z- E' v
Keyboard Interrupt Hooking by manipulating the I/O APIC
! F7 V+ P' `& A2 p% ]- \0 ^3 Btested on the winXP, Pentium D Hyper-threading Enabled.+ h9 q9 F7 I2 ]- f7 A

' x$ L9 B( r, y* M8 J
# X+ m9 I7 I1 ]1 ~6 r( ISummary :: Using the 8259a compatible PIC to be deliver the interrupt4 n: c# s: R7 S7 h
signal by Delivery mode of the I/O APIC to be the ExtINT,' B( d+ j2 k. X
the interrupt related by the IRQ 1 able to be not refer
( ?  X% W6 G8 ~# R* Z( G6 [the I/O APIC's Redirection Table.
8 f* E2 Z1 M3 Q, g6 K: ?  {( A$ _: f2 F
- It is higher priority of the hooking than the direct
' }/ S- F- J9 X7 e5 s- q5 ~8 |modification of the I/O APIC's vector.1 H# P$ ^0 v1 H
- The vector can be hidden on the thread getting the keyboard6 B% t( H% J9 T$ [6 ], Q7 w( ]& T) C
vector from the I/O APIC.. q4 {6 @) Q( ^* U: a: b/ f
" o5 V' B+ H  J
Flow ::1 g, U" P; p  Q( H, X

. t, t! B# y4 K7 J1. IRQ 1 Assert !!!% j  A& r3 u: h5 s- T
2. The I/O APIC receives the signal and refers the I/O Redirection table.
: ?( y( B( m" p3. Sending the signal from the destination Local APIC.
" {: ]2 I( T0 X  m: O% @4. Local APIC pass the signal to the processor for its delivery mode ExtINT
& ^! A) |; K8 `$ m" @& c5. A processor receives the signal.! D+ s# I) G7 ^7 ^' T" j
6. The processor Assert the INTA signal.
3 f1 V) q# @! X' }2 {3 d2 @7. The I/O APIC acknowledged.+ |9 d5 _4 l' D. \: a( y2 X
8. The processor Assert the second INTA signal./ R4 b! e( k0 V* w* w& b
9. The I/O APIC delivers the signal to the 8259a compatible PIC
6 R3 U7 p" E' G4 ^- Jfor ExtINT to its Delivery mode.
! d$ K& o: ]$ d5 }$ q7 ?7 E10. 8259a compatible PIC sends 2 bytes after second INTA pulse.! n" K4 A+ s# K& p6 x- s6 p" l
11. The processor execute 2 bytes sended.
+ n0 n4 z, g: V9 k* e) N! Y12. our interrupt handler executed.8 S- T4 j7 R0 c$ Y

2 X5 e4 g) q4 ]9 D! U, n+ M( ^) R* ?4 T- j: w  G, {6 e
sourcecode and binary are available on the
3 q$ k# p& e: _5 D- Ghttp://www.rootkit.com/vault/chpie/apic_keyboard.zip

本帖子中包含更多资源

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

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

本版积分规则

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

GMT+8, 2026-2-1 04:16 , Processed in 0.056904 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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