드디어 키보드 데이터 얻어내기 성공!!!
므흣!!! 간단하지만 키보드 입력 데이터 가져왔당!!! 쿠쿠
<ntddkbd.h> 헤더 파일에 PKEYBOARD_INPUT_DATA 구조체가 있었다…
그래서 그냥 irp->AssociatedIrp.SystemBuffer 값을 그냥 저 구조체 변수에 넣어주면 된다. 유유 유유
디버거에서 Hook Done Dispatch에 뷁포인트 걸고서
디버기에서 메모장 열고 ‘a’ 를 입력하면 뷁포인트 건 곳에 멈춰지고,
…….
else if ( irp->AssociatedIrp.SystemBuffer ) {
pBuffer = irp->AssociatedIrp.SystemBuffer;
}
…….
pBuffer에 배정하고 나면 아래와 같이
PKEYBOARD_INPUT_DATA 구조체 변수 pBuffer에
PKEYBOARD_INPUT_DATA 구조체 변수 pBuffer에
아래와 같은 스샷처럼 데이터가 들어가게 된다.
저 값을 바꿔 주면 입력된 값을 변경 가능하다.
그리고 나중에 Win32에서 원하는 키 눌러진 것 처럼
하려면 IRP 생성해서 보내주면 될 듯 한데… 그것도 고고씽~!~!
댓글 남기기