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

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

?? myfilespy.c

?? 使用文件過濾驅動程序實現(xiàn)對文件的加密。在IFS 2003中編譯
?? C
?? 第 1 頁 / 共 2 頁
字號:
    IN ULONG CompressedDataInfoLength, 
    IN PDEVICE_OBJECT DeviceObject 
    )
{
	PHOOK_EXTENSION HookExt;
	BOOLEAN         RetVal=FALSE;
	DbgPrint("FastIoWriteCompressed\n");
	if( !DeviceObject ) return RetVal;
	HookExt=DeviceObject->DeviceExtension;
	return RetVal;
}
BOOLEAN  
FastIoMdlReadCompleteCompressed( 
    IN PFILE_OBJECT FileObject,
    IN PMDL MdlChain, 
    IN PDEVICE_OBJECT DeviceObject 
    )
{
	PHOOK_EXTENSION HookExt;
	BOOLEAN         RetVal=FALSE;
	DbgPrint("FastIoMdlReadCompleteCompressed\n");
	if( !DeviceObject ) return RetVal;
	HookExt=DeviceObject->DeviceExtension;
	return RetVal;
}
BOOLEAN  
FastIoMdlWriteCompleteCompressed( 
    IN PFILE_OBJECT FileObject,
    IN PLARGE_INTEGER FileOffset, 
    IN PMDL MdlChain,
    IN PDEVICE_OBJECT DeviceObject 
    )
{
	PHOOK_EXTENSION HookExt;
	BOOLEAN         RetVal=FALSE;
	DbgPrint("FastIoMdlWriteCompleteCompressed\n");
	if( !DeviceObject ) return RetVal;
	HookExt=DeviceObject->DeviceExtension;
	return RetVal;
}
BOOLEAN 
FastIoQueryOpen( 
    IN struct _IRP *Irp,
    OUT PFILE_NETWORK_OPEN_INFORMATION NetworkInformation,
    IN PDEVICE_OBJECT DeviceObject 
    )
{
	PHOOK_EXTENSION HookExt;
	BOOLEAN         RetVal=FALSE;
	DbgPrint("FastIoQueryOpen\n");
	if( !DeviceObject ) return RetVal;
	HookExt=DeviceObject->DeviceExtension;
	return RetVal;
}
NTSTATUS 
FastIoReleaseForModWrite( 
    IN PFILE_OBJECT FileObject,
    IN struct _ERESOURCE *ResourceToRelease, 
    IN PDEVICE_OBJECT DeviceObject 
    )
{
	PHOOK_EXTENSION HookExt;
	BOOLEAN         RetVal=FALSE;
	DbgPrint("FastIoReleaseForModWrite\n");
	if( !DeviceObject ) return RetVal;
	HookExt=DeviceObject->DeviceExtension;
	return RetVal;
}
NTSTATUS
FastIoAcquireForCcFlush( 
    IN PFILE_OBJECT FileObject,
    IN PDEVICE_OBJECT DeviceObject 
    )
{
	PHOOK_EXTENSION HookExt;
	BOOLEAN         RetVal=FALSE;
	DbgPrint("FastIoAcquireForCcFlush\n");
	if( !DeviceObject ) return RetVal;
	HookExt=DeviceObject->DeviceExtension;
	return RetVal;
}
NTSTATUS
FastIoReleaseForCcFlush( 
    IN PFILE_OBJECT FileObject,
    IN PDEVICE_OBJECT DeviceObject 
    )
{
	PHOOK_EXTENSION HookExt;
	BOOLEAN         RetVal=FALSE;
	DbgPrint("FastIoReleaseForCcFlush\n");
	if( !DeviceObject ) return RetVal;
	HookExt=DeviceObject->DeviceExtension;
	return RetVal;
}
//快速IO例程列表;
FAST_IO_DISPATCH FastIoHook=
{
	sizeof(FAST_IO_DISPATCH),
	FastIoCheckifPossible,
    FastIoRead,
    FastIoWrite,
    FastIoQueryBasicInfo,
    FastIoQueryStandardInfo,
    FastIoLock,
    FastIoUnlockSingle,
    FastIoUnlockAll,
    FastIoUnlockAllByKey,
    FastIoDeviceControl,
    FastIoAcquireFile,
    FastIoReleaseFile,
    FastIoDetachDevice,
    // new for NT 4.0
    FastIoQueryNetworkOpenInfo,
    FastIoAcquireForModWrite,
    FastIoMdlRead,
    FastIoMdlReadComplete,
    FastIoPrepareMdlWrite,
    FastIoMdlWriteComplete,
    FastIoReadCompressed,
    FastIoWriteCompressed,
    FastIoMdlReadCompleteCompressed,
    FastIoMdlWriteCompleteCompressed,
    FastIoQueryOpen,
    FastIoReleaseForModWrite,
    FastIoAcquireForCcFlush,
    FastIoReleaseForCcFlush
};

//內部函數(shù)(子程序);
NTSTATUS
HookDisk(IN PDRIVER_OBJECT DriverObject)
{
	UNICODE_STRING     FileNameUnicodeStr;
	OBJECT_ATTRIBUTES  ObjectAttrib;
	NTSTATUS           NtStatus;
	HANDLE             NtFileHandle; 
	IO_STATUS_BLOCK    IOStatus;
	PFILE_OBJECT       FileObject;
	PDEVICE_OBJECT     FileSysDevice;
    PDEVICE_OBJECT     TopDevice;


	DbgPrint("-------------------Entry HookDisk\n");
	RtlInitUnicodeString( &FileNameUnicodeStr, DOS_DEVICE_DISK);
	//初始化對象屬性;
	InitializeObjectAttributes( &ObjectAttrib,&FileNameUnicodeStr,
		                        OBJ_CASE_INSENSITIVE,NULL, NULL);
	//打開文件根目錄;
    NtStatus = ZwCreateFile( &NtFileHandle, SYNCHRONIZE|FILE_ANY_ACCESS, 
                             &ObjectAttrib, &IOStatus, NULL, 0, 
		                     FILE_SHARE_READ|FILE_SHARE_WRITE, 
                             FILE_OPEN, 
                             FILE_SYNCHRONOUS_IO_NONALERT|FILE_DIRECTORY_FILE, 
                             NULL, 0 );
    if( !NT_SUCCESS( NtStatus ) ) 
	{
		DbgPrint("ZwCreateFile fail\n");
        return NtStatus;
    }
	//從文件句柄中得到文件對象指針;
	NtStatus = ObReferenceObjectByHandle( NtFileHandle, FILE_READ_DATA, 
                                          NULL, KernelMode, &FileObject, NULL );
    if( !NT_SUCCESS( NtStatus )) 
	{
        DbgPrint("ObReferenceObjectByHandle fail\n");
        ZwClose( NtFileHandle );
        return NtStatus;
    }
    //得到與該文件對象相關聯(lián)的文件系統(tǒng)設備對象;
    FileSysDevice = IoGetRelatedDeviceObject( FileObject );
	if( ! FileSysDevice )
	{
		DbgPrint("IoGetRelatedDeviceObject fail\n");
        ObDereferenceObject( FileObject );
        ZwClose( NtFileHandle );
        return NtStatus;
     }
    //創(chuàng)建一個設備,準備用于掛接該文件系統(tǒng)。
    NtStatus = IoCreateDevice( DriverObject,
                               sizeof(HOOK_EXTENSION),
                               NULL,//沒有名字;
                               FileSysDevice->DeviceType,//與父文件設備相同;
                               0,
                               FALSE,//不獨占;
                               &HookDevice );
    if( !NT_SUCCESS(NtStatus) ) 
	{
		DbgPrint("IoCreateDevice fail\n");
        ObDereferenceObject( FileObject );
        ZwClose( NtFileHandle );
        return NtStatus;
	}
	//DDK 文檔指出,如果從Dispatch 例程里創(chuàng)建的設備需要表明設備未初始化;
	HookDevice->Flags &= ~DO_DEVICE_INITIALIZING;
	//設置設備標志;
    ((PHOOK_EXTENSION)HookDevice->DeviceExtension)->DeviceType=DEVICE_TYPE_HOOK;
	//填寫父設備FileSystem域;
	((PHOOK_EXTENSION)HookDevice->DeviceExtension)->FileSystem=FileSysDevice;
	//掛接設備(Attach),現(xiàn)在我們就可以接受Irp了;
	//好象可以被TopDevice=IoAttachDeviceToDeviceStack( HookDevice, FileSysDevice )代替;
	NtStatus=IoAttachDeviceByPointer( HookDevice, FileSysDevice );	
	if( !NT_SUCCESS(NtStatus) )
	{
        DbgPrint("IoAttachDeviceToDeviceStack fail\n");
        ObDereferenceObject( FileObject );
        ZwClose( NtFileHandle );
        return NtStatus;
	}	
	DbgPrint("IoAttachDeviceToDeviceStack Ok,FileSystem=%x\n",FileSysDevice);
	//減少引用計數(shù);
    ObDereferenceObject( FileObject );
	//關閉句柄;
    ZwClose( NtFileHandle );
	DbgPrint("-------------------Quit HookDisk\n");
	return NtStatus;
}
VOID
//UnLoad例程;
Unload(PDRIVER_OBJECT DriverObject) 
{
	UNICODE_STRING Win32DeviceName;
	RtlInitUnicodeString(&Win32DeviceName,DOS_DEVICE_NAME);    		
	if (HookDevice)
	{		
		IoDetachDevice(((PHOOK_EXTENSION)HookDevice->DeviceExtension)->FileSystem );
		IoDeleteDevice(HookDevice); 
	}
	IoDeleteDevice(GUIDevice); 
    IoDeleteSymbolicLink(&Win32DeviceName); 
	DbgPrint (("Unload OK\n"));
}
//用戶接口Dispatch處理程序;
NTSTATUS
GUIDispatch( IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp )
{   
	PHOOK_EXTENSION     HookExt;
	PIO_STACK_LOCATION  irpStack;
    PVOID               inputBuffer;
    PVOID               outputBuffer;
    ULONG               inputBufferLength;
    ULONG               outputBufferLength;
    ULONG               ioControlCode;
	DbgPrint(("-------------------Entry GUIDispatch\n"));
	//假設成功完成Dispatch;
	Irp->IoStatus.Status      = STATUS_SUCCESS;
    Irp->IoStatus.Information = 0;
	//得到Irp的I/O棧指針;
	irpStack = IoGetCurrentIrpStackLocation (Irp);
	//得到輸入輸出緩沖區(qū)相關數(shù)據(jù);
	inputBuffer        = Irp->AssociatedIrp.SystemBuffer;
    inputBufferLength  = irpStack->Parameters.DeviceIoControl.InputBufferLength;
    outputBuffer       = Irp->AssociatedIrp.SystemBuffer;
    outputBufferLength = irpStack->Parameters.DeviceIoControl.OutputBufferLength;
	//得到DeviceIoControl控制代碼(自定義);
    ioControlCode      = irpStack->Parameters.DeviceIoControl.IoControlCode;
	//得到設備擴展(一個自定義結構);
	HookExt=DeviceObject->DeviceExtension;
	//處理Dispatch函數(shù);
    switch (irpStack->MajorFunction)
	{		
		case IRP_MJ_CREATE:
		    DbgPrint (("IRP_MJ_CREATE\n"));
		    break;
        case IRP_MJ_CLOSE:
			DbgPrint (("IRP_MJ_CLOSE\n"));
		    break;
		case IRP_MJ_DEVICE_CONTROL:
			DbgPrint (("IRP_MJ_DEVICE_CONTROL\n"));
		    //通過MDL(MemoryDescriptorList)得到輸出緩沖區(qū);
		    if( Irp->MdlAddress ) outputBuffer = MmGetSystemAddressForMdl( Irp->MdlAddress );
			switch (ioControlCode)
		    {
				case  DEVICE_IO_CTL_HOOK:
					DbgPrint (("DEVICE_IO_CTL_HOOK\n"));
				    HookDisk(DeviceObject->DriverObject);
				    break;				
			}
			break;

		default:
			DbgPrint(("IRP_MJ_UNKNOWN\n"));
			break;
		
	}
    //通知IO管理器,已經(jīng)完成IO調用;
    IoCompleteRequest( Irp, IO_NO_INCREMENT );
	DbgPrint(("-------------------Quit GUIDispatch\n"));
    return STATUS_SUCCESS;   
}

//Irp Dispatch例程;
NTSTATUS 
MyDispatch( IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp )
{	
	PIO_STACK_LOCATION  currentIrpStack = IoGetCurrentIrpStackLocation(Irp);
    PIO_STACK_LOCATION  nextIrpStack    = IoGetNextIrpStackLocation(Irp);      
    PHOOK_EXTENSION     HookExt         = DeviceObject->DeviceExtension;
    //如果是自己的調用
    if( HookExt->DeviceType==DEVICE_TYPE_GUI) return GUIDispatch( DeviceObject, Irp );
	//如果是文件系統(tǒng)HOOK
	DbgPrint(("-------------------Entry HookDispatch\n"));
    switch( currentIrpStack->MajorFunction ) 
	{
		case IRP_MJ_CREATE:
			DbgPrint(("IRP_MJ_CREATE\n"));
			break;
		case IRP_MJ_READ:
			DbgPrint(("IRP_MJ_READ\n"));
			break;
		case IRP_MJ_WRITE:
			DbgPrint(("IRP_MJ_WRITE\n"));
			break;
		case IRP_MJ_CLOSE:
			DbgPrint(("IRP_MJ_CLOSE\n"));
			break;
		case IRP_MJ_FLUSH_BUFFERS:
			DbgPrint(("IRP_MJ_FLUSH_BUFFERS\n"));
			break;
		case IRP_MJ_QUERY_INFORMATION:
			DbgPrint(("IRP_MJ_QUERY_INFORMATION\n"));
		    break;
		case IRP_MJ_SET_INFORMATION:
			DbgPrint(("IRP_MJ_SET_INFORMATION\n"));
			break;
		case IRP_MJ_QUERY_EA:
			DbgPrint(("IRP_MJ_QUERY_EA\n"));
			break;
		case IRP_MJ_SET_EA:
			DbgPrint(("IRP_MJ_SET_EA\n"));
			break;
		case IRP_MJ_QUERY_VOLUME_INFORMATION:
			DbgPrint(("IRP_MJ_QUERY_VOLUME_INFORMATION\n"));
			break;
		case IRP_MJ_SET_VOLUME_INFORMATION:
			DbgPrint(("IRP_MJ_SET_VOLUME_INFORMATION\n"));
			break;
		case IRP_MJ_DIRECTORY_CONTROL:
			DbgPrint(("case IRP_MJ_DIRECTORY_CONTROL\n"));
		    break;
		case IRP_MJ_FILE_SYSTEM_CONTROL:
			DbgPrint(("IRP_MJ_FILE_SYSTEM_CONTROL\n"));
		    break;
		case IRP_MJ_SHUTDOWN:
			DbgPrint(("IRP_MJ_SHUTDOWN\n"));
		    break;
		case IRP_MJ_LOCK_CONTROL:
			DbgPrint(("IRP_MJ_LOCK_CONTROL\n"));
		    break;
		case IRP_MJ_CLEANUP:
			DbgPrint(("IRP_MJ_CLEANUP\n"));
		    break;
		case IRP_MJ_DEVICE_CONTROL:
			DbgPrint(("IRP_MJ_DEVICE_CONTROL\n"));
		    break;
		case IRP_MJ_QUERY_SECURITY:
			DbgPrint(("IRP_MJ_QUERY_SECURITY\n"));
		    break;
		case IRP_MJ_SET_SECURITY:
			DbgPrint(("IRP_MJ_SET_SECURITY\n"));
		    break;
		case IRP_MJ_POWER:
			DbgPrint(("IRP_MJ_POWER\n"));
		    break;
        case IRP_MJ_PNP:
			DbgPrint(("IRP_MJ_PNP\n"));
		    break;
        default:
			DbgPrint(("IRP_MJ_UNKOWN\n"));
		    break;
	}
    //不做處理,直接給FileSystem處理
	//手動復制IrpStack
    *nextIrpStack = *currentIrpStack;
	//好象可以用IoCopyCurrentIrpStackLocationToNext代替
    DbgPrint(("-------------------Quit HookDispatch\n"));
    return IoCallDriver( HookExt->FileSystem, Irp );    
}

//驅動程序入口;
NTSTATUS
DriverEntry(IN PDRIVER_OBJECT DriverObject,IN PUNICODE_STRING RegistryPath)
{
	//可用變量定義;
	NTSTATUS Status; 
    UNICODE_STRING NtDeviceName; 
    UNICODE_STRING Win32DeviceName; 
	ULONG i;
	//初始化Unicode字符串, 創(chuàng)建設備對象;
	RtlInitUnicodeString(&NtDeviceName,NT_DEVICE_NAME); 
    Status=IoCreateDevice( DriverObject,sizeof(HOOK_EXTENSION),&NtDeviceName,
		                   FILE_DEVICE_DISK_FILE_SYSTEM,0,TRUE,&GUIDevice );
	//其實無須用HOOK_EXTRNSION結構,可以用全局變量GUIDevice來標識GUI Device;
	if (!NT_SUCCESS(Status))
	{
	    DbgPrint(("IoCreateDevice faild\n"));
		return Status;
	}
	//設置設備類型為:DEVICE_TYPE_GUI(應用程序接口設備)標識GUI Device;
	((PHOOK_EXTENSION)GUIDevice->DeviceExtension)->DeviceType=DEVICE_TYPE_GUI;
    //初始化Unicode字符串, 創(chuàng)建Win32符號連接,以便Win32程序能夠訪問;
    RtlInitUnicodeString(&Win32DeviceName,DOS_DEVICE_NAME); 
    Status=IoCreateSymbolicLink(&Win32DeviceName,&NtDeviceName);
	if (!NT_SUCCESS(Status))
	{
        DbgPrint (("IoCreateSymbolicLink faild\n"));
        IoDeleteDevice( GUIDevice );
        return Status;           
	}
	//填寫驅動程序Dispatch函數(shù);
    for( i = 0; i <= IRP_MJ_MAXIMUM_FUNCTION; i++ ) 
	{
        DriverObject->MajorFunction[i] = MyDispatch;
    }	
	//為了調試(DriverMonitor),特殊處理Unload,以后只提供通過DeviceIoControl來實現(xiàn)。
	DriverObject->DriverUnload =Unload;
	//掛接快速IO;	
	DriverObject->FastIoDispatch = &FastIoHook;	
	DbgPrint (("DriverEntry Ok\n"));
	return Status;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99国产精品视频免费观看| 一区二区三区高清| 日本一区二区动态图| 亚洲成人黄色小说| 亚洲亚洲人成综合网络| 日韩理论片网站| 精品一区二区三区日韩| 色综合久久久久综合99| 2023国产精品| 舔着乳尖日韩一区| 色噜噜狠狠色综合中国| 国产午夜久久久久| 精品在线观看免费| 欧美日韩国产综合一区二区| 国产精品三级av| 国内精品国产成人| 91精品国产欧美一区二区成人| 亚洲三级视频在线观看| 国产精品影视在线| 精品福利视频一区二区三区| 日韩电影在线观看电影| 欧美日韩综合在线| 一区二区三区视频在线看| 99精品桃花视频在线观看| 国产日韩欧美精品综合| 韩国一区二区在线观看| 91精品国产一区二区三区蜜臀 | 国产精品羞羞答答xxdd| 日韩三区在线观看| 日韩精品一级中文字幕精品视频免费观看 | 91在线一区二区三区| 中文字幕久久午夜不卡| 国产精品亚洲午夜一区二区三区| 久久一区二区三区国产精品| 亚洲国产精品欧美一二99| 一本大道av一区二区在线播放| 国产精品毛片大码女人 | 日韩不卡在线观看日韩不卡视频| 欧美日韩一级二级三级| 亚洲福利视频导航| 欧美久久一区二区| 日韩和的一区二区| 欧美成人一区二区三区片免费| 热久久国产精品| 久久人人爽人人爽| 成人免费观看视频| 亚洲色图都市小说| 欧美日韩高清一区二区三区| 日韩国产精品久久久| 欧美sm极限捆绑bd| 成人av网站免费观看| 亚洲人成亚洲人成在线观看图片| 91蝌蚪porny九色| 亚洲国产精品一区二区www在线| 欧美久久高跟鞋激| 久久99久久久久久久久久久| 久久精品视频在线看| 97久久精品人人澡人人爽| 五月天亚洲精品| 久久久一区二区三区捆绑**| av动漫一区二区| 无码av免费一区二区三区试看 | 日韩精品中文字幕在线不卡尤物| 国产乱码精品1区2区3区| 国产精品天美传媒| 欧美午夜不卡视频| 极品美女销魂一区二区三区免费| 中文幕一区二区三区久久蜜桃| 欧美亚洲综合另类| 韩国成人精品a∨在线观看| 国产精品麻豆视频| 欧美久久一区二区| 成人免费高清在线| 青青青伊人色综合久久| 国产精品久久久一本精品| 欧美在线看片a免费观看| 国内久久精品视频| 亚洲黄色小说网站| 26uuu久久综合| 欧美性猛交一区二区三区精品| 韩国女主播成人在线观看| 亚洲精品国产精品乱码不99| 日韩午夜精品电影| 99久久久无码国产精品| 免费在线看一区| 水野朝阳av一区二区三区| 2023国产精品| 欧美一区三区二区| 色婷婷国产精品| 国产91精品露脸国语对白| 婷婷国产在线综合| 亚洲另类在线一区| 国产日产精品1区| 日韩美女一区二区三区| 欧美三级在线看| 91欧美一区二区| 国产成人午夜99999| 久久精品av麻豆的观看方式| 亚洲国产精品人人做人人爽| 亚洲精选视频免费看| 国产欧美一区二区精品仙草咪 | 激情图片小说一区| 三级不卡在线观看| 亚洲第一久久影院| 亚洲一区中文日韩| 亚洲三级小视频| 亚洲三级在线免费观看| 中文字幕av在线一区二区三区| 精品av久久707| 欧美成人精品1314www| 日韩一区二区免费在线观看| 欧美日韩国产a| 在线免费观看视频一区| 91久久精品日日躁夜夜躁欧美| 99视频有精品| 99久精品国产| 色婷婷综合久久久中文字幕| 一本高清dvd不卡在线观看| 99精品黄色片免费大全| 一本色道久久综合亚洲aⅴ蜜桃 | 国产一区二区三区香蕉| 国产精品一区三区| 国产成人精品亚洲日本在线桃色| 欧美综合在线视频| 91久久免费观看| 欧美三区在线观看| 制服丝袜日韩国产| 日韩免费在线观看| 久久久91精品国产一区二区精品| 久久综合九色综合欧美就去吻 | 欧美r级在线观看| 久久九九影视网| 国产精品理论在线观看| 一区二区欧美国产| 蜜桃久久久久久| 国产大陆亚洲精品国产| av在线一区二区三区| 欧美色手机在线观看| 91精品国产乱码久久蜜臀| 精品国产不卡一区二区三区| 欧美极品美女视频| 亚洲美女区一区| 免费黄网站欧美| 成人自拍视频在线观看| 色偷偷久久一区二区三区| 欧美一区欧美二区| 欧美韩国日本不卡| 亚洲www啪成人一区二区麻豆| 久久国产三级精品| 不卡一区在线观看| 欧美日韩国产一级| 精品国产成人在线影院 | 免费人成精品欧美精品| 国产成人免费av在线| 欧美日韩国产片| 国产精品色噜噜| 日本va欧美va精品发布| 99久久婷婷国产综合精品电影| 91精品午夜视频| 国产精品国产三级国产普通话99 | 国产一区二区三区电影在线观看| 日本韩国一区二区三区| 精品捆绑美女sm三区| 亚洲另类春色国产| 国产精品一区2区| 欧美区一区二区三区| 亚洲欧美影音先锋| 久久精品国产一区二区三| 色嗨嗨av一区二区三区| 国产视频一区二区三区在线观看| 天天综合日日夜夜精品| 一本久久精品一区二区| 国产午夜三级一区二区三| 日本在线不卡视频一二三区| 在线一区二区三区四区| 久久久久久久久蜜桃| 蜜臀av国产精品久久久久| 91麻豆文化传媒在线观看| 久久伊人蜜桃av一区二区| 日韩中文欧美在线| 欧美在线|欧美| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 国产成人亚洲综合色影视| 日韩欧美在线1卡| 一区二区三区免费在线观看| 成人午夜电影久久影院| 精品国产99国产精品| 免费成人美女在线观看| 欧美精品一级二级三级| 一区二区三区在线免费播放| 成人精品小蝌蚪| 国产亚洲精品超碰| 国产呦精品一区二区三区网站| 欧美sm美女调教| 久久99深爱久久99精品| 日韩欧美专区在线| 秋霞午夜av一区二区三区| 欧美一区日本一区韩国一区| 日本中文字幕一区二区有限公司| 欧美高清激情brazzers|