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

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

?? dbkdrvr.c.svn-base

?? 這是一段游戲修改工具的源代碼.ring3功能由dephi開發,驅動是C開發.希望對大家有幫助
?? SVN-BASE
?? 第 1 頁 / 共 5 頁
字號:
/*
  Build upon the MSJDrvr.C by James M. Finnegan - Microsoft Systems Journal (1998)  
*/

#include "DBKFunc.h"
#include "rootkit.h"
#include "processlist.h"
#include "memscan.h"
#include "threads.h"

#include "vmxhelper.h"
#include "newkernel.h"


#ifdef CETC
	#include "cetc.h"
#endif

#ifdef AMD64
	#define dbkversion 2640011
#else
	#define dbkversion 2000011
#endif

#define IOCTL_UNKNOWN_BASE					FILE_DEVICE_UNKNOWN

#define IOCTL_CE_READMEMORY						CTL_CODE(IOCTL_UNKNOWN_BASE, 0x0800, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
#define IOCTL_CE_WRITEMEMORY					CTL_CODE(IOCTL_UNKNOWN_BASE, 0x0801, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
#define IOCTL_CE_OPENPROCESS    				CTL_CODE(IOCTL_UNKNOWN_BASE, 0x0802, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
#define IOCTL_CE_QUERY_VIRTUAL_MEMORY			CTL_CODE(IOCTL_UNKNOWN_BASE, 0x0803, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
#define IOCTL_CE_TEST							CTL_CODE(IOCTL_UNKNOWN_BASE, 0x0804, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
#define IOCTL_CE_GETPEPROCESS					CTL_CODE(IOCTL_UNKNOWN_BASE, 0x0805, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
#define IOCTL_CE_READPHYSICALMEMORY				CTL_CODE(IOCTL_UNKNOWN_BASE, 0x0806, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
#define IOCTL_CE_WRITEPHYSICALMEMORY			CTL_CODE(IOCTL_UNKNOWN_BASE, 0x0807, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
#define IOCTL_CE_GETPHYSICALADDRESS				CTL_CODE(IOCTL_UNKNOWN_BASE, 0x0808, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
#define IOCTL_CE_PROTECTME						CTL_CODE(IOCTL_UNKNOWN_BASE, 0x0809, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
#define IOCTL_CE_GETCR3 						CTL_CODE(IOCTL_UNKNOWN_BASE, 0x080a, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
#define IOCTL_CE_SETCR3 						CTL_CODE(IOCTL_UNKNOWN_BASE, 0x080b, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
#define IOCTL_CE_GETSDT 						CTL_CODE(IOCTL_UNKNOWN_BASE, 0x080c, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
#define IOCTL_CE_INITIALIZE     		    	CTL_CODE(IOCTL_UNKNOWN_BASE, 0x080d, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
#define IOCTL_CE_DONTPROTECTME					CTL_CODE(IOCTL_UNKNOWN_BASE, 0x080e, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
#define IOCTL_CE_GETIDT 						CTL_CODE(IOCTL_UNKNOWN_BASE, 0x080f, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
#define IOCTL_CE_HOOKINTS 						CTL_CODE(IOCTL_UNKNOWN_BASE, 0x0810, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
#define IOCTL_CE_DEBUGPROCESS 					CTL_CODE(IOCTL_UNKNOWN_BASE, 0x0811, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
#define IOCTL_CE_RETRIEVEDEBUGDATA				CTL_CODE(IOCTL_UNKNOWN_BASE, 0x0812, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
#define IOCTL_CE_STARTPROCESSWATCH				CTL_CODE(IOCTL_UNKNOWN_BASE, 0x0813, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
#define IOCTL_CE_GETPROCESSEVENTS				CTL_CODE(IOCTL_UNKNOWN_BASE, 0x0814, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
#define IOCTL_CE_GETTHREADEVENTS				CTL_CODE(IOCTL_UNKNOWN_BASE, 0x0815, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
#define IOCTL_CE_GETVERSION						CTL_CODE(IOCTL_UNKNOWN_BASE, 0x0816, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
#define IOCTL_CE_GETCR4 						CTL_CODE(IOCTL_UNKNOWN_BASE, 0x0817, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
#define IOCTL_CE_OPENTHREAD	    				CTL_CODE(IOCTL_UNKNOWN_BASE, 0x0818, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
#define IOCTL_CE_MAKEWRITABLE					CTL_CODE(IOCTL_UNKNOWN_BASE, 0x0819, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
#define IOCTL_CE_DEBUGPROCESS_CHANGEREG			CTL_CODE(IOCTL_UNKNOWN_BASE, 0x081a, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
#define IOCTL_CE_STOPDEBUGGING					CTL_CODE(IOCTL_UNKNOWN_BASE, 0x081b, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
#define	IOCTL_CE_STOP_DEBUGPROCESS_CHANGEREG	CTL_CODE(IOCTL_UNKNOWN_BASE, 0x081c, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
#define	IOCTL_CE_USEALTERNATEMETHOD				CTL_CODE(IOCTL_UNKNOWN_BASE, 0x081d, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
#define	IOCTL_CE_ISUSINGALTERNATEMETHOD			CTL_CODE(IOCTL_UNKNOWN_BASE, 0x081e, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
#define	IOCTL_CE_ALLOCATEMEM					CTL_CODE(IOCTL_UNKNOWN_BASE, 0x081f, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
#define IOCTL_CE_CREATEAPC						CTL_CODE(IOCTL_UNKNOWN_BASE, 0x0820, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
#define IOCTL_CE_GETPETHREAD					CTL_CODE(IOCTL_UNKNOWN_BASE, 0x0821, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)

#define IOCTL_CE_SUSPENDTHREAD					CTL_CODE(IOCTL_UNKNOWN_BASE, 0x0822, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
#define IOCTL_CE_RESUMETHREAD					CTL_CODE(IOCTL_UNKNOWN_BASE, 0x0823, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
#define IOCTL_CE_SUSPENDPROCESS					CTL_CODE(IOCTL_UNKNOWN_BASE, 0x0824, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
#define IOCTL_CE_RESUMEPROCESS					CTL_CODE(IOCTL_UNKNOWN_BASE, 0x0825, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)

#define IOCTL_CE_ALLOCATEMEM_NONPAGED			CTL_CODE(IOCTL_UNKNOWN_BASE, 0x0826, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
#define IOCTL_CE_GETPROCADDRESS					CTL_CODE(IOCTL_UNKNOWN_BASE, 0x0827, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
#define IOCTL_CE_SETSDTADDRESS					CTL_CODE(IOCTL_UNKNOWN_BASE, 0x0828, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
#define IOCTL_CE_GETSDTADDRESS					CTL_CODE(IOCTL_UNKNOWN_BASE, 0x0829, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)

#define IOCTL_CE_GETGDT 						CTL_CODE(IOCTL_UNKNOWN_BASE, 0x082a, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
#define IOCTL_CE_SETCR4 						CTL_CODE(IOCTL_UNKNOWN_BASE, 0x082b, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
#define IOCTL_CE_GETTR 							CTL_CODE(IOCTL_UNKNOWN_BASE, 0x082c, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
#define IOCTL_CE_VMXCONFIG						CTL_CODE(IOCTL_UNKNOWN_BASE, 0x082d, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
#define IOCTL_CE_GETCR0 						CTL_CODE(IOCTL_UNKNOWN_BASE, 0x082e, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
#define IOCTL_CE_MAKEKERNELCOPY					CTL_CODE(IOCTL_UNKNOWN_BASE, 0x082f, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
#define IOCTL_CE_SETGLOBALDEBUGSTATE			CTL_CODE(IOCTL_UNKNOWN_BASE, 0x0830, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)


void MSJUnloadDriver(PDRIVER_OBJECT DriverObject);

NTSTATUS MSJDispatchCreate(IN PDEVICE_OBJECT DeviceObject,
                       IN PIRP Irp);

NTSTATUS MSJDispatchClose(IN PDEVICE_OBJECT DeviceObject,
                       IN PIRP Irp);

NTSTATUS MSJDispatchIoctl(IN PDEVICE_OBJECT DeviceObject,
                            IN PIRP Irp);


//-----NtUserSetWindowsHookEx----- //prevent global hooks
typedef ULONG (NTUSERSETWINDOWSHOOKEX)(
    IN HANDLE hmod,
    IN PUNICODE_STRING pstrLib OPTIONAL,
    IN DWORD idThread,
    IN int nFilterType,
    IN PVOID pfnFilterProc,
    IN DWORD dwFlags
);
NTUSERSETWINDOWSHOOKEX OldNtUserSetWindowsHookEx;
ULONG NtUserSetWindowsHookEx_callnumber;
//HHOOK NewNtUserSetWindowsHookEx(IN HANDLE hmod,IN PUNICODE_STRING pstrLib OPTIONAL,IN DWORD idThread,IN int nFilterType, IN PROC pfnFilterProc,IN DWORD dwFlags);

//------------------------





typedef NTSTATUS (*ZWSUSPENDPROCESS)
(
    IN ULONG ProcessHandle  // Handle to the process
);
ZWSUSPENDPROCESS ZwSuspendProcess;




//PVOID GetApiEntry(ULONG FunctionNumber);
void Unhook(void);

NTSTATUS ZwCreateThread(
	OUT PHANDLE  ThreadHandle,
	IN ACCESS_MASK  DesiredAccess,
	IN POBJECT_ATTRIBUTES  ObjectAttributes,
	IN HANDLE  ProcessHandle,
	OUT PCLIENT_ID  ClientId,
	IN PCONTEXT  ThreadContext,
	IN PVOID  UserStack,
	IN BOOLEAN  CreateSuspended);


PSERVICE_DESCRIPTOR_TABLE KeServiceDescriptorTableShadow=NULL;
PSERVICE_DESCRIPTOR_TABLE KeServiceDescriptorTable=NULL;

UNICODE_STRING  uszDeviceString;
PVOID BufDeviceString=NULL;

#define SYSTEMSERVICE(_function)		KeServiceDescriptorTable->ServiceTable[ *(PULONG)((PUCHAR)_function+1)]
#define SYSTEMSERVICELINK(_function)	KeServiceDescriptorTable->ServiceTable[*((PUCHAR)(*(PULONG)*((PULONG)((PUCHAR)_function+2)))+1)]


void hideme(PDRIVER_OBJECT DriverObject)
{
	typedef struct _MODULE_ENTRY {
	LIST_ENTRY le_mod;
	DWORD  unknown[4];
	DWORD  base;
	DWORD  driver_start;
	DWORD  unk1;
	UNICODE_STRING driver_Path;
	UNICODE_STRING driver_Name;
} MODULE_ENTRY, *PMODULE_ENTRY;

	PMODULE_ENTRY pm_current;

	pm_current =  *((PMODULE_ENTRY*)((DWORD)DriverObject + 0x14)); //eeeeew

	*((PDWORD)pm_current->le_mod.Blink)        = (DWORD) pm_current->le_mod.Flink;
	pm_current->le_mod.Flink->Blink            = pm_current->le_mod.Blink;
	HiddenDriver=TRUE;
}

void mykapc2(PKAPC Apc, PKNORMAL_ROUTINE NormalRoutine, PVOID NormalContext, PVOID SystemArgument1, PVOID SystemArgument2)
{
	ExFreePool(Apc);
	DbgPrint("My second kernelmode apc!!!!\n");
	DbgPrint("SystemArgument1=%x\n",*(PULONG)SystemArgument1);
}

void nothing2(PVOID arg1, PVOID arg2, PVOID arg3)
{
	
	return;
}

void mykapc(PKAPC Apc, PKNORMAL_ROUTINE NormalRoutine, PVOID NormalContext, PVOID SystemArgument1, PVOID SystemArgument2)
{
	//kernelmode apc, always gets executed
	PKAPC      kApc;
	LARGE_INTEGER Timeout;

	kApc = ExAllocatePool(NonPagedPool, sizeof(KAPC));


	ExFreePool(Apc);
	DbgPrint("My kernelmode apc!!!!\n");
	
	DbgPrint("NormalRoutine=%x\n",*(PULONG)NormalRoutine);
	DbgPrint("NormalContext=%x\n",*(PULONG)NormalContext);
	DbgPrint("SystemArgument1=%x\n",*(PULONG)SystemArgument1);
	DbgPrint("SystemArgument1=%x\n",*(PULONG)SystemArgument2);
	
	
	KeInitializeApc(kApc,
		            (PKTHREAD)PsGetCurrentThread(),
                    0,
                    (PKKERNEL_ROUTINE)mykapc2,
                    NULL,
                    (PKNORMAL_ROUTINE)*(PULONG)SystemArgument1,
                    UserMode,
                    (PVOID)*(PULONG)NormalContext
                    );

	KeInsertQueueApc (kApc, (PVOID)*(PULONG)SystemArgument1, (PVOID)*(PULONG)SystemArgument2, 0);


	//wait in usermode (to interruptable by a usermode apc)
	Timeout.QuadPart = 0;
	KeDelayExecutionThread(UserMode, TRUE, &Timeout);

	return;
}

void nothing(PVOID arg1, PVOID arg2, PVOID arg3)
{
	return;
}

void CreateRemoteAPC(ULONG threadid,PVOID addresstoexecute)
{
	PKTHREAD   kThread;
	PKAPC      kApc;

	kApc = ExAllocatePool(NonPagedPool, sizeof(KAPC));

	kThread=(PKTHREAD)getPEThread(threadid);
	DbgPrint("(PVOID)KThread=%p\n",kThread);


   
	KeInitializeApc(kApc,
		            kThread,
                    0,
                    (PKKERNEL_ROUTINE)mykapc,
                    NULL,
                    (PKNORMAL_ROUTINE)nothing,
                    KernelMode,
                    0
                    );

	KeInsertQueueApc (kApc, addresstoexecute, addresstoexecute, 0);
}


/*
PVOID GetApiEntry(ULONG FunctionNumber)
{
	
#ifndef AMD64
	int direction=0; //0=down 1=up
	PUCHAR x;
	//Get the start address of a known function (ZwOpenProcess)
	ULONG LastFunctionNumber=*(PULONG)((PUCHAR)ZwOpenProcess+1);  //0x7a in xp pro sp1
	
	x=(PUCHAR)ZwOpenProcess;

	if (FunctionNumber==LastFunctionNumber) //If you're retarded this is usefull
		return (PVOID)ZwOpenProcess;

	if (FunctionNumber<LastFunctionNumber)
		direction=1;
	else
		direction=0;

    //now search for e8,functionnumber,  (and perhaps also 8d,54,24,04
	if (direction==1)
	{
		return (PVOID)0x12345678;
		//go back in the list
		while (LastFunctionNumber>0)
		{
			if (*x==0xb8)
			{
				//it's a mov eax,........
				//now get the function number if this address

				//make sure it's not function e8
				if (*(PULONG)((ULONG)(x)-1)==0xb8)
					x--;
				
				LastFunctionNumber=*(PULONG)((ULONG)(x)+1);

				if (LastFunctionNumber==FunctionNumber)
					return x; //found it				
			}
			x--;
		}
	}
	else
	{
		x++;		
		while (1)
		{
			//move forward
			if (*x==0xb8)
			{
				if (*(PULONG)((ULONG)(x)+1)==0xb8) //the previous byte was also a 0xb8, so this has to be the identifier
				{
					x++; //next;
					continue;
				}				
				
				LastFunctionNumber=*(PULONG)((ULONG)x+1);

				if (LastFunctionNumber==FunctionNumber)
					return x;
			}
			x++;
		}		
	}

#endif //amd64
	
	return NULL;
}*/

int testfunction(int p1,int p2)
{
	DbgPrint("Hello\nParam1=%d\nParam2=%d\n",p1,p2);
	return 0x666;
}


void* functionlist[1];
char  paramsizes[1];
int registered=0;


void AddSystemServices(void)
{
/*	if (registered)
		return; //no need to register again

	DbgPrint("Registering SystemServiceTable\n");
	
	
	functionlist[0] = (void *)&testfunction;
	paramsizes[0] = 2*4;

	if (KeServiceDescriptorTableShadow)
	{
		//override if any other exists
		KeServiceDescriptorTableShadow[1].ArgumentTable=NULL;
		KeServiceDescriptorTableShadow[1].CounterTable=NULL;
		KeServiceDescriptorTableShadow[1].ServiceTable=NULL;
		KeServiceDescriptorTableShadow[1].TableSize=0;

		KeServiceDescriptorTable[2].ArgumentTable=NULL;
		KeServiceDescriptorTable[2].CounterTable=NULL;
		KeServiceDescriptorTable[2].ServiceTable=NULL;
		KeServiceDescriptorTable[2].TableSize=0;
	}

  
	if (KeAddSystemServiceTable((PULONG_PTR)functionlist, 0, 1, (PUCHAR)paramsizes, 2))
	{
		registered=1;
		DbgPrint("Register successfull\n");
	}
	else
	{
		DbgPrint("Register failed.\n");
	}

	

	DbgPrint("KeServiceDescriptorTable[0]=%p",&KeServiceDescriptorTable[0]);
	DbgPrint("KeServiceDescriptorTable[1]=%p",&KeServiceDescriptorTable[1]);
	DbgPrint("KeServiceDescriptorTable[2]=%p",&KeServiceDescriptorTable[2]);
	DbgPrint("KeServiceDescriptorTable[3]=%p",&KeServiceDescriptorTable[3]);

	*/

}






NTSTATUS DriverEntry(IN PDRIVER_OBJECT DriverObject,
                     IN PUNICODE_STRING RegistryPath)
/*++

Routine Description:

    This routine is called when the driver is loaded by NT.

Arguments:

    DriverObject - Pointer to driver object created by system.
    RegistryPath - Pointer to the name of the services node for this driver.

Return Value:

    The function value is the final status from the initialization operation.

--*/
{
    NTSTATUS        ntStatus;
    PVOID           BufDriverString=NULL,BufProcessEventString=NULL,BufThreadEventString=NULL;
    UNICODE_STRING  uszDriverString;
    
    UNICODE_STRING  uszProcessEventString;
	UNICODE_STRING	uszThreadEventString;
    PDEVICE_OBJECT  pDeviceObject;
	int				i;
	ULONG cr4reg;

	HANDLE reg;
	OBJECT_ATTRIBUTES oa;

	UNICODE_STRING temp; 


	//DbgPrint("%S",oa.ObjectName.Buffer);  


	WORD this_cs, this_ss, this_ds, this_es, this_fs, this_gs;
	__asm
	{
		mov ax,cs
		mov [this_cs],ax

		mov ax,ss
		mov [this_ss],ax

		mov ax,ds
		mov [this_ds],ax

		mov ax,es
		mov [this_es],ax

		mov ax,fs
		mov [this_fs],ax

		mov ax,gs
		mov [this_gs],ax
	}
	DbgPrint("cs=%x ss=%x ds=%x es=%x fs=%x gs=%x\n",this_cs, this_ss, this_ds, this_es, this_fs, this_gs);



	//lame antiviruses and more lamer users that keep crying rootkit virus....
	RtlInitUnicodeString(&temp, L"KeServiceDescriptorTable"); 
	KeServiceDescriptorTable=MmGetSystemRoutineAddress(&temp);         

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产日韩精品一区二区三区在线| 麻豆一区二区三区| 亚洲电影在线播放| 久久激五月天综合精品| 97久久精品人人做人人爽| 欧美一区二区在线不卡| 亚洲欧美色综合| 看国产成人h片视频| 91激情五月电影| 国产精品看片你懂得| 免费高清不卡av| 欧美日韩一区小说| 亚洲男人天堂av| 成人一二三区视频| 久久久99久久| 麻豆精品视频在线观看视频| 欧美在线小视频| 伊人性伊人情综合网| 成人福利在线看| 国产亚洲自拍一区| 国产主播一区二区三区| 日韩欧美在线不卡| 日韩电影免费一区| 欧美日韩视频专区在线播放| 国产精品国产三级国产普通话99| 久久99热国产| 日韩精品资源二区在线| 日日夜夜精品视频免费| 欧美日韩综合一区| 亚洲一区二区在线播放相泽| 91性感美女视频| 亚洲欧洲精品一区二区精品久久久 | 中文字幕欧美日本乱码一线二线| 美女视频网站久久| 欧美大片国产精品| 精品一区二区三区在线播放视频 | 青青草国产成人99久久| 欧美色视频在线观看| 亚洲福利视频一区| 精品视频在线免费看| 婷婷激情综合网| 亚洲已满18点击进入久久| 国产精品久久久久久久久免费相片 | 7777女厕盗摄久久久| 亚洲一区二区五区| 欧美伊人久久大香线蕉综合69 | 国产精品午夜久久| 不卡高清视频专区| 亚洲与欧洲av电影| 欧美乱熟臀69xxxxxx| 麻豆精品新av中文字幕| 久久精品日产第一区二区三区高清版 | 亚洲欧美国产77777| 色噜噜狠狠色综合中国| 亚洲va国产va欧美va观看| 777a∨成人精品桃花网| 国产毛片精品视频| 亚洲日本护士毛茸茸| 欧美系列一区二区| 美女被吸乳得到大胸91| 国产精品久久777777| 91九色最新地址| 久久精品久久久精品美女| 国产精品三级视频| 色激情天天射综合网| 日韩高清中文字幕一区| 国产清纯白嫩初高生在线观看91 | 一区二区三区四区高清精品免费观看| 色婷婷国产精品| 蓝色福利精品导航| 亚洲欧美日韩系列| 欧美一区二区三区播放老司机| 国产精品羞羞答答xxdd| 亚洲无人区一区| 久久精品在线免费观看| 色狠狠桃花综合| 久久精品99久久久| 偷拍自拍另类欧美| 久久久久久9999| 欧美午夜精品电影| 成人av在线播放网址| 一区二区在线观看免费| 91精品麻豆日日躁夜夜躁| 国产麻豆91精品| 五月天激情综合| 亚洲欧美成人一区二区三区| 日韩一级片网址| 欧美在线观看18| 国产成人综合视频| 日韩电影在线免费| 亚洲综合999| 国产精品福利电影一区二区三区四区| 欧美一级二级三级乱码| 欧美性高清videossexo| 成年人网站91| 国产69精品久久99不卡| 卡一卡二国产精品| 午夜欧美视频在线观看| 一区二区在线观看视频在线观看| 久久精品视频一区| 久久综合色8888| 884aa四虎影成人精品一区| 色综合天天综合网天天狠天天| 国产在线视频一区二区| 麻豆成人久久精品二区三区红 | 久久精品国产**网站演员| 亚洲精品视频观看| 中文字幕在线一区二区三区| 国产亚洲综合在线| 久久久不卡网国产精品二区 | 亚洲另类在线制服丝袜| 国产精品国产三级国产a| 久久久久久亚洲综合| 久久综合狠狠综合久久综合88 | 成人99免费视频| 国产98色在线|日韩| 国产精品一区二区不卡| 国产成人亚洲精品青草天美| 国产98色在线|日韩| 成人黄色777网| av一区二区三区黑人| av电影天堂一区二区在线| 91亚洲精品一区二区乱码| 色呦呦一区二区三区| 欧美午夜精品久久久| 欧美日韩1234| 欧美mv日韩mv国产网站app| 久久亚洲私人国产精品va媚药| 久久精品亚洲乱码伦伦中文| 欧美国产日韩亚洲一区| 国产精品国产成人国产三级| 一区二区三区久久久| 亚洲大片在线观看| 麻豆91精品91久久久的内涵| 国产精品18久久久| 97久久精品人人澡人人爽| 在线视频一区二区三| 欧美一二三在线| 国产婷婷一区二区| 亚洲黄色录像片| 六月婷婷色综合| 成人美女视频在线观看| 欧美性大战久久| 久久久天堂av| 亚洲精品国产精华液| 日韩**一区毛片| 国产**成人网毛片九色| 欧美性猛交xxxx乱大交退制版| 精品人伦一区二区色婷婷| 国产欧美日韩精品a在线观看| 一区二区三区电影在线播| 免费视频最近日韩| av网站免费线看精品| 欧美一区在线视频| 国产精品免费视频一区| 日本中文在线一区| 白白色 亚洲乱淫| 91精品国产日韩91久久久久久| 国产精品久久久久久久久久免费看| 亚洲影院在线观看| 经典三级视频一区| 在线观看日韩精品| 国产精品无人区| 裸体在线国模精品偷拍| 色爱区综合激月婷婷| 久久久久国产一区二区三区四区| 亚洲一区视频在线观看视频| 国产91精品露脸国语对白| 欧美精品免费视频| 亚洲欧洲av另类| 国产精品18久久久久久久久 | 久久国产综合精品| 欧美最猛黑人xxxxx猛交| 国产日产亚洲精品系列| 人妖欧美一区二区| 日本国产一区二区| 中文字幕精品—区二区四季| 免费在线一区观看| 欧美日韩国产综合视频在线观看| 中文字幕日韩一区二区| eeuss国产一区二区三区| 日韩欧美国产麻豆| 日韩激情在线观看| 欧美性做爰猛烈叫床潮| 亚洲欧美色综合| 不卡视频一二三| 中文字幕精品综合| 国产91丝袜在线18| 26uuu另类欧美| 蜜桃av一区二区三区电影| 欧美日韩免费一区二区三区| 亚洲欧洲韩国日本视频| 成人激情av网| 中文字幕一区二区三区精华液 | 国产婷婷精品av在线| 国产专区综合网| 久久精品男人天堂av| 国产激情视频一区二区三区欧美| 精品国产91九色蝌蚪| 国产精品一区二区免费不卡|