Klawiatura w VxD
Writteln by [CoxoC]
Oto przyklad przejecia klawiatury przez VxD :
.486p
.xlist
include vmm.inc
include debug.inc
include vkd.inc
.list
;============================================================================
; C Z E S C I N I C J A L I Z A C Y J N A U R Z A D Z E N I A
;============================================================================
VXD_Icode_Seg
BeginProc PIERWSZY_Device_Init
GetVxDServiceOrdinal eax, VKD_Filter_Keyboard_Input
mov esi, offset32 Klawiatura
VMMCall Hook_Device_Service
mov Keyboard_Proc, esi
clc
ret
blad: stc ;zawiadom system o niepowodzeniu
ret
EndProc PIERWSZY_Device_Init
VXD_Icode_Ends
;============================================================================
; D E K L A R A C J A U R Z A D Z E N I A
;============================================================================
VXD_Locked_Code_Seg
Declare_Virtual_Device PIERWSZY,0,1,PIERWSZY_Control,Undefined_Device_ID, \
Undefined_Init_Order,,
;----------------------------------------------------------------------------
;
; Procedura kontrolna urzadzenia dla VxD
;
;----------------------------------------------------------------------------
BeginProc PIERWSZY_Control
Control_Dispatch SYS_DYNAMIC_DEVICE_INIT, PIERWSZY_Device_Init
Control_Dispatch SYS_DYNAMIC_DEVICE_EXIT, PIERWSZY_Device_Exit
Control_Dispatch W32_DEVICEIOCONTROL, PIERWSZY_ioctl
clc
ret
SWAPPAGE_Control ENDP
BeginProc PIERWSZY_ioctl
mov ecx,[esi].dwIoControlCode
xor eax, eax
clc
ret
EndProc PIERWSZY_ioctl
;----------------------------------------------------------------------------
;
; Procedura konczaca
;
;----------------------------------------------------------------------------
BeginProc PIERWSZY_Device_Exit
GetVxDServiceOrdinal eax, VKD_Filter_Keyboard_Input
mov esi, Keyboard_Proc
VMMCall Hook_Device_Service
clc
ret
EndProc PIERWSZY_Device_Exit
;============================================================================
; D A N E
;============================================================================
Keyboard_Proc dd 0
;============================================================================
; C Z E S C G L O W N A
;============================================================================
BeginProc Klawiatura
;w CL znajduje sie kod skaningowy klawisza.
call Keyboard_Proc
clc
ret
EndProc Klawiatura
VXD_LOCKED_CODE_ENDS
end
;=========================== K O N I E C K O D U ==========================
Wyszukiwarka
Podobne podstrony:
FORMATY PLIKóW VxDtut4FORMATY PLIKóW VxDtut5FORMATY PLIKóW VxDtut1FORMATY PLIKóW VxDtut0FORMATY PLIKóW VxDtut2FORMATY PLIKóW VxDtut6Dostosuj swój stary Office do nowych formatów plikówFORMATY PLIKóW GifFORMATY PLIKóW BMPFORMATY PLIKóW Mod infoFORMATY PLIKóW PEFORMATY PLIKóW bgiSylwester Zajac Multimedia Formaty plikow graficznychFORMATY PLIKóW Modform4 Formaty plikow w DTPFORMATY PLIKóW GIF89MFORMATY PLIKóW PE formatFORMATY PLIKóW Mid frm4więcej podobnych podstron