• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    串行端口過濾器的研究與實(shí)現(xiàn)

    2014-04-29 00:00:00周鵬

    摘 要:針對在不影響系統(tǒng)現(xiàn)有驅(qū)動程序接口的前提下實(shí)現(xiàn)串行端口傳輸數(shù)據(jù)過濾功能的目的,通過對Win32驅(qū)動程序模型的驅(qū)動程序分層和IRP結(jié)構(gòu)的分析,結(jié)合驅(qū)動程序處理IRP結(jié)構(gòu)數(shù)據(jù)的方法,得出了在功能驅(qū)動程序的上層增加過濾器可以過濾串行端口傳輸數(shù)據(jù)的結(jié)論,并介紹了串行端口過濾器驅(qū)動程序的開發(fā)方法。

    關(guān)鍵詞:串行端口;過濾器;驅(qū)動程序;IRP

    中圖分類號:TP309

    用戶使用計(jì)算機(jī)串行端口傳輸數(shù)據(jù)信息時(shí),可能存在監(jiān)視傳輸數(shù)據(jù)的內(nèi)容或防止敏感數(shù)據(jù)通過串行端口流出等需求。禁止使用串行端口的方法很多,如從物理上封堵串行端口,或者編寫一個(gè)始終獨(dú)占串行端口的程序等。但是如果用戶希望記錄串行端口傳輸?shù)臄?shù)據(jù)而不影響其它程序使用串行端口,或者希望有區(qū)別地處理數(shù)據(jù),允許普通數(shù)據(jù)流出而禁止敏感數(shù)據(jù)流出,就存在一定的技術(shù)難度,這通常需要使用過濾器驅(qū)動程序開發(fā)的相關(guān)技術(shù)。

    1 過濾器技術(shù)基礎(chǔ)

    Windows系統(tǒng)的每個(gè)通信資源都有一個(gè)由庫或驅(qū)動構(gòu)成的服務(wù)提供者,使應(yīng)用程序能夠訪問該資源。該服務(wù)提供者即通信資源對應(yīng)的Windows系統(tǒng)的設(shè)備對象,用于接收外部中斷請求并完成實(shí)際硬件功能。對于串行端口的數(shù)據(jù)傳輸而言,應(yīng)用程序進(jìn)程可以調(diào)用CreateFile、ReadFile、WriteFile和DeviceIoControl等相關(guān)的Win32 API函數(shù)訪問相應(yīng)的系統(tǒng)設(shè)備對象,設(shè)備驅(qū)動程序向串行端口發(fā)出中斷請求完成數(shù)據(jù)傳輸操作并返回給API函數(shù)。為了使用戶能夠監(jiān)控串行端口的傳輸數(shù)據(jù),可以考慮在應(yīng)用程序進(jìn)程和系統(tǒng)設(shè)備對象之間增加一個(gè)過濾器來實(shí)現(xiàn)該功能。

    1997年微軟公司推出了名為Win32驅(qū)動程序模型(Win32 Driver Model,WDM)的技術(shù)[1],該項(xiàng)技術(shù)引入了硬件抽象層(HAL)的概念,并在后續(xù)的Windows系統(tǒng)中的得到了廣泛應(yīng)用。WDM是一個(gè)基于設(shè)備對象的分層化的驅(qū)動程序模型,驅(qū)動程序的層或堆棧一起工作處理I/O請求[2]。

    1.1 驅(qū)動程序分層

    WDM根據(jù)設(shè)備對象堆棧進(jìn)行分層。設(shè)備對象是系統(tǒng)為幫助軟件為管理硬件而創(chuàng)建的數(shù)據(jù)結(jié)構(gòu),代表了系統(tǒng)中一個(gè)物理的或邏輯的設(shè)備,并描述其特征。處于堆棧最底層的設(shè)備對象稱為物理設(shè)備對象(Physical Device Object,PDO),在設(shè)備對象堆棧中間的某處有一個(gè)對象稱為功能設(shè)備對象(Functional Device Object,F(xiàn)DO),在FDO的上面和下面可以有一些過濾器設(shè)備對象(Filter Device Object,F(xiàn)iDO),一個(gè)硬件設(shè)備可以有多個(gè)FDO或FiDO,但只允許有一個(gè)PDO。每個(gè)硬件設(shè)備至少有兩個(gè)驅(qū)動程序,一個(gè)是總線驅(qū)動程序,負(fù)責(zé)管理PDO代表的設(shè)備與計(jì)算機(jī)的連接;一個(gè)是功能驅(qū)動程序,負(fù)責(zé)管理FDO代表的設(shè)備,初始化I/O操作,處理I/O操作完成時(shí)產(chǎn)生的中斷事件。設(shè)備除了上述的兩種驅(qū)動程序外,還可以有過濾器驅(qū)動程序。過濾器驅(qū)動程序可以監(jiān)視或修改功能驅(qū)動程序執(zhí)行I/O操作時(shí)的行為。位于功能驅(qū)動程序上面和下面的過濾器驅(qū)動程序分別稱為上層過濾器和下層過濾器。上層過濾器可以提供功能驅(qū)動程序之外的特性,而下層過濾器則可以修改功能驅(qū)動程序?qū)⒁獔?zhí)行的總線操作流[3]。

    1.2 I/O Request Packet(IRP)

    Windows的I/O子系統(tǒng)是一個(gè)I/O請求包(I/O Request Packet,IRP)驅(qū)動的系統(tǒng),每個(gè)I/O操作都使用一個(gè)IRP結(jié)構(gòu)數(shù)據(jù)描述。I/O管理器響應(yīng)一個(gè)I/O請求并進(jìn)行參數(shù)匹配和操作的安全性檢查,然后從系統(tǒng)內(nèi)存分配的一塊大小可變的IRP結(jié)構(gòu)內(nèi)存,存放I/O請求的類型、用戶緩沖區(qū)的首地址、用戶請求數(shù)據(jù)的長度等信息。

    IRP結(jié)構(gòu)數(shù)據(jù)由兩部分組成:固定部分和一個(gè)I/O堆棧。IRP的固定部分包含如下一些請求的相關(guān)信息:該請求的類型和大小,同步或異步,一個(gè)用于緩沖類型I/O的緩沖區(qū)指針,以及一些在請求處理過程中會被改變的狀態(tài)信息。I/O堆棧包含一系列I/O堆棧單元,單元數(shù)目與驅(qū)動程序堆棧中處理該I/O請求的驅(qū)動程序數(shù)目相同,每個(gè)單元對應(yīng)一個(gè)將處理該IRP的驅(qū)動程序。IRP當(dāng)前堆棧單元中包含一個(gè)I/O功能代碼、與功能相關(guān)的參數(shù),以及一個(gè)指向調(diào)用者文件對象的指針,用以判定即將發(fā)生在特定文件對象上的特定I/O操作。I/O功能代碼由一個(gè)主功能代碼和一個(gè)次功能代碼組成。主功能代碼標(biāo)識了當(dāng)I/O管理器將一個(gè)IRP傳遞給一個(gè)驅(qū)動程序時(shí)應(yīng)該調(diào)用該驅(qū)動程序的分發(fā)例程,以IRP_MJ_開頭的符號常量進(jìn)行定義。次功能代碼是可選的,有時(shí)被用作主功能代碼的一個(gè)修飾符,以IRP_MN_開頭的符號常量進(jìn)行定義。

    I/O管理器接收一個(gè)I/O請求后,分配并初始化一個(gè)IRP結(jié)構(gòu)數(shù)據(jù),并把該數(shù)據(jù)發(fā)送到合適的設(shè)備對象堆棧的最上層驅(qū)動程序,然后逐步進(jìn)行過濾到下面的各層驅(qū)動程序,每層驅(qū)動程序都可以處理IRP結(jié)構(gòu)數(shù)據(jù)。根據(jù)硬件設(shè)備本身和IRP的內(nèi)容,驅(qū)動程序可以只向下層傳遞IRP,也可以處理完IRP后不再向下層傳遞,或者既處理IRP又向下層傳遞。驅(qū)動程序處理完一個(gè)I/O請求后,在IRP結(jié)構(gòu)中添加處理結(jié)果的有關(guān)信息,并將其返回I/O管理器,設(shè)備操作的I/O請求隨即返回[4]。

    2 串行端口過濾器的實(shí)現(xiàn)

    要對串行端口的傳輸數(shù)據(jù)進(jìn)行監(jiān)視,可以在系統(tǒng)的通用串行端口驅(qū)動程序上面增加一個(gè)上層過濾器,截取流經(jīng)它的IRP中的串行端口數(shù)據(jù),將所截取的數(shù)據(jù)通過進(jìn)程間通信的方式傳送到應(yīng)用進(jìn)程進(jìn)行分析顯示,同時(shí)將數(shù)據(jù)向下層驅(qū)動程序發(fā)送完成正常的數(shù)據(jù)傳輸,這樣可以在不影響串行端口功能的情況下實(shí)現(xiàn)監(jiān)視數(shù)據(jù)的功能。如果要對串行端口的傳輸數(shù)據(jù)進(jìn)行區(qū)別處理,可以先將所截取的數(shù)據(jù)傳送到應(yīng)用進(jìn)程根據(jù)某種規(guī)則進(jìn)行處理后,再傳送回過濾器并向下層驅(qū)動程序發(fā)送。

    串行端口過濾器可以按照功能分為三部分實(shí)現(xiàn):(1)生成過濾器設(shè)備對象并綁定;(2)獲取傳輸數(shù)據(jù)并處理;(3)入口例程DriverEntry。

    2.1 生成過濾器設(shè)備對象并綁定

    Windows系統(tǒng)中已經(jīng)許多提供了各種功能的設(shè)備對象來接收中斷請求,并完成對應(yīng)的硬件設(shè)備的功能。為了截取中斷請求,可以生成一個(gè)虛擬的設(shè)備對象,并綁定到真實(shí)的設(shè)備對象上。綁定后,要發(fā)送到真實(shí)的設(shè)備對象的中斷請求會首先被發(fā)送到該虛擬的設(shè)備對象上。實(shí)現(xiàn)該功能需要自定義一個(gè)函數(shù),如定義為FilterAttachCom(PDRIVER_OBJECT device),其參數(shù)device是一個(gè)驅(qū)動程序?qū)ο蟮闹羔?,由系統(tǒng)在入口例程DriverEntry中傳入。

    首先,調(diào)用內(nèi)核API函數(shù)IoGetDeviceObjectPointer獲取一個(gè)串行端口的設(shè)備對象指針。

    函數(shù)參數(shù)中,ObjectName是命名設(shè)備的名稱,Windows系統(tǒng)的第一個(gè)串行端口名稱是”\\Device\\Serial0”,第二個(gè)是”\\Device\\Serial1”,以此類推;DesiredAccess是期望訪問權(quán)限,可以賦值為FILE_ALL_ACCESS;FileObject是返回的文件對象指針,實(shí)現(xiàn)串行端口過濾器不需要使用該參數(shù),但調(diào)用該函數(shù)后必須調(diào)用函數(shù)ObDereferenceObject以解除對此文件對象的引用,否則會發(fā)生內(nèi)存泄漏;DeviceObject返回希望獲取的設(shè)備對象指針。

    其次,調(diào)用內(nèi)核API函數(shù)IoCreateDevice生成串行端口過濾器的虛擬設(shè)備對象,并把該虛擬設(shè)備對象的多個(gè)子域(主要是標(biāo)志和特征)設(shè)置成和要綁定的設(shè)備對象一致。

    函數(shù)參數(shù)中,DriverObject是系統(tǒng)中一個(gè)單獨(dú)的驅(qū)動程序?qū)ο蟮闹羔?,描述了?qū)動程序?qū)ο笤谖锢韮?nèi)存中的載入位置、大小和主要入口點(diǎn)等信息,每個(gè)驅(qū)動程序都要從DriverEntry例程接收該指針;DeviceExtensionSize是設(shè)備對象擴(kuò)展的大小,置為0;DeviceName是設(shè)備名稱,因?yàn)檫^濾器設(shè)備通常不需要名稱,所以置為NULL;DeviceType是設(shè)備類型,應(yīng)與被綁定的設(shè)備類型一致;DeviceObject返回希望生成的過濾器虛擬設(shè)備對象。

    該函數(shù)調(diào)用結(jié)束后,應(yīng)測試要綁定的設(shè)備對象的Flags子域是否有DO_BUFFERED_IO和DO_DIRECT_IO標(biāo)志,Characteristics子域是否有FILE_DEVICE_SECURE_OPEN標(biāo)志,如果有這些標(biāo)志,需要為過濾器的虛擬設(shè)備對象的相應(yīng)子域設(shè)置這些標(biāo)志。

    此外,還需要為過濾器的虛擬設(shè)備對象的Flags子域設(shè)置DO_POWER_PAGABLE標(biāo)志。

    最后,調(diào)用內(nèi)核API函數(shù)IoAttachDeviceToDeviceStack把過濾器虛擬設(shè)備對象綁定到串行端口的設(shè)備對象上。

    函數(shù)參數(shù)中,SourceDevice是生成的過濾器虛擬設(shè)備對象的指針;TargetDevice是要被綁定的命名設(shè)備對象的指針;函數(shù)返回值是被綁定后的設(shè)備對象指針。該函數(shù)總是綁定設(shè)備對象堆棧的最頂層的設(shè)備對象。

    2.2 獲取傳輸數(shù)據(jù)并處理

    I/O管理器在響應(yīng)來自串行端口的I/O請求時(shí)構(gòu)造一個(gè)IRP,并將其作為參數(shù)傳給驅(qū)動程序的分發(fā)例程。IRP在系統(tǒng)處理I/O請求的過程中代表此請求,請求中包含要發(fā)送的數(shù)據(jù),對請求的響應(yīng)中則包含要接收的數(shù)據(jù)。在過濾器虛擬設(shè)備對象綁定到串行端口設(shè)備對象后,首先接收到IRP的是過濾器設(shè)備對象,通過分析流經(jīng)過濾器的IRP結(jié)構(gòu)數(shù)據(jù)可以得到流經(jīng)串行端口的所有數(shù)據(jù)并進(jìn)行處理。實(shí)現(xiàn)該功能需要自定義一個(gè)分發(fā)函數(shù),如定義為ComFilterDispatch(PDEVICE_OBJECT device,PIRP irp),其參數(shù)device和irp由系統(tǒng)從入口例程DriverEntry傳入。

    IRP中的I/O堆棧由一系列I/O堆棧單元構(gòu)成。I/O堆棧單元由IO_STACK_LOCATION結(jié)構(gòu)定義,每個(gè)堆棧單元都對應(yīng)一個(gè)將處理該IRP的驅(qū)動程序。I/O管理器在構(gòu)造IRP時(shí),分配IRP結(jié)構(gòu)內(nèi)存并初始化IRP固定部分和第一個(gè)I/O堆棧單元,這個(gè)單元中的信息與要傳遞到驅(qū)動程序堆棧的第一個(gè)驅(qū)動程序的信息相對應(yīng),第一個(gè)驅(qū)動程序?qū)⒁幚碓揑/O請求。當(dāng)IRP到達(dá)最高層的驅(qū)動程序時(shí),調(diào)用內(nèi)核API函數(shù)IoGetCurrentIrpStackLocation返回指向當(dāng)前的I/O堆棧單元的指針。

    驅(qū)動程序接收到IRP后可以有三種選擇:

    2.2.1 允許IRP通過

    驅(qū)動程序不做任何事情或僅僅獲取IRP的一些信息,將IRP傳遞給下一層的驅(qū)動程序。這種情況下,驅(qū)動程序需要為下一層的驅(qū)動程序設(shè)置堆棧單元,多數(shù)情況下,它會調(diào)用內(nèi)核API函數(shù)IoSkipCurrentIrpStackLocation把當(dāng)前堆棧單元復(fù)制給下一個(gè)堆棧單元。如果需要更改下一個(gè)堆棧單元,則調(diào)用內(nèi)核API函數(shù)IoGetNextIrpStackLocation得到指向下一個(gè)堆棧單元的指針。驅(qū)動程序通過調(diào)用內(nèi)核API函數(shù)IoCallDriver調(diào)用下一層驅(qū)動程序,I/O管理器會改變當(dāng)前IRP堆棧單元指針;繼續(xù)上述過程,直到最底層的驅(qū)動程序完成對此IRP的處理。

    2.2.2 禁止IRP通過

    驅(qū)動程序不向下一層驅(qū)動程序傳遞IRP,因此,下層驅(qū)動程序不會接收到這個(gè)IRP,可能導(dǎo)致系統(tǒng)會出現(xiàn)權(quán)限錯(cuò)誤或讀取文件失敗等信息提示。

    2.2.3 完成IRP的處理

    驅(qū)動程序?qū)RP的信息進(jìn)行處理后不繼續(xù)向下一層驅(qū)動程序傳遞,調(diào)用內(nèi)核API函數(shù)IoCompleteRequest表示已經(jīng)完成該IRP的處理。串行端口的I/O請求包括打開、關(guān)閉、設(shè)置波特率、讀和寫等。因?yàn)榇卸丝谶^濾器的功能是用來過濾通過串行端口的數(shù)據(jù),所以只需要關(guān)心讀請求和寫請求,在IRP中對應(yīng)的主功能代碼分別為IRP_MJ_READ和IRP_MJ_WRITE[5]。綁定后的串行端口過濾器設(shè)備對象位于設(shè)備對象堆棧的最頂端,IRP會首先被發(fā)送到過濾器設(shè)備對象。在過濾器的分發(fā)函數(shù)中調(diào)用內(nèi)核API函數(shù)IoGetCurrentIrpStackLocation返回指向IRP當(dāng)前I/O堆棧單元的指針,通過該指針獲取IRP的主功能代碼來判定當(dāng)前的I/O請求類型。為了簡單說明過濾器的實(shí)現(xiàn)方法,如果是讀請求或?qū)懻埱?,則捕獲數(shù)據(jù)并允許IRP通過。

    IRP中共有三個(gè)域描述緩沖區(qū):MDLAddress、UserBuffer和AssociatedIrp.SystemBuffer。I/O請求的類別不同,IRP存儲數(shù)據(jù)使用的緩沖區(qū)不同。MDLAddress域指向內(nèi)核空間的緩沖區(qū)的虛擬地址;UserBuffer域指向應(yīng)用層緩沖區(qū)的地址,但該地址需在內(nèi)核空間中訪問;AssociatedIrp.SystemBuffer域指向應(yīng)用層緩沖區(qū)的地址,但需要將此緩沖區(qū)的數(shù)據(jù)拷貝到內(nèi)核空間訪問。要捕獲串行端口的數(shù)據(jù),需要依次測試這三個(gè)域是否為空,如果某個(gè)域不為空,就可以從該域指向的緩沖區(qū)中讀取數(shù)據(jù)。

    2.3 入口例程DriverEntry

    驅(qū)動程序被加載到系統(tǒng)中時(shí),I/O管理器創(chuàng)建一個(gè)驅(qū)動程序?qū)ο螅缓笳{(diào)用該驅(qū)動程序的入口例程DriverEntry[6]。DriverEntry例程是每個(gè)設(shè)備驅(qū)動程序的入口,完成大部分設(shè)備初始化工作,包括設(shè)置響應(yīng)各種用戶請求的分發(fā)例程與I/O控制例程的入口。驅(qū)動程序中只有DriverEntry例程的名字是固定的,其它所有例程都要由該例程向系統(tǒng)注冊。

    串行端口過濾器的DriverEntry例程的代碼如下:

    NTSTATUS DriverEntry(PDRIVER_OBJECT driver, PUNICODE_STRING path)

    {

    driver->DriverUnload = UnloadComFilter;

    driver->MajorFunction[0] = ComFilterDispatch;

    FilterAttachCom(driver);

    return STATUS_SUSCCESS;

    }

    系統(tǒng)開始加載設(shè)備驅(qū)動程序時(shí)傳入DriverEntry例程的參數(shù),參數(shù)driver指向一個(gè)驅(qū)動程序?qū)ο?,path是設(shè)備服務(wù)鍵的鍵名。

    DriverEntry例程負(fù)責(zé)初始化驅(qū)動程序?qū)ο骴river,參數(shù)DriverUnload是指向驅(qū)動程序動態(tài)卸載函數(shù)UnloadComFilter的指針;MajorFunction是對應(yīng)多種類型IRP處理的分發(fā)函數(shù)的指針數(shù)組,缺省情況下I/O管理器把數(shù)組的每個(gè)指針都初始化為啞分發(fā)函數(shù),由于過濾器要處理串行端口的I/O請求,所以要設(shè)置MajorFunction[0]指向分發(fā)函數(shù)ComFilterDispatch。

    完成串行端口驅(qū)動程序?qū)ο蟪跏蓟?,即可調(diào)用函數(shù)FilterAttachCom(driver)獲取串行端口設(shè)備對象,生成過濾器虛擬設(shè)備對象并綁定到串行端口設(shè)備對象上。當(dāng)I/O管理器接收到串行端口的I/O請求時(shí),創(chuàng)建一個(gè)IRP結(jié)構(gòu)并將其作為傳送給分發(fā)函數(shù)ComFilterDispatch進(jìn)行分析處理,實(shí)現(xiàn)對串行端口傳輸數(shù)據(jù)的過濾功能。

    3 結(jié)束語

    在開發(fā)與安全軟件相關(guān)的驅(qū)動程序時(shí),過濾器是一種非常重要的技術(shù)。過濾器是在系統(tǒng)內(nèi)核的驅(qū)動程序分層中增加的一層驅(qū)動程序。過濾器并不影響其它驅(qū)動程序接口,因此過濾器通常用于擴(kuò)展系統(tǒng)硬件設(shè)備的功能。為了過濾串行端口的傳輸數(shù)據(jù),可以在應(yīng)用程序和串行端口功能驅(qū)動程序之間增加一個(gè)過濾器,表示I/O請求的IRP會先被發(fā)送到過濾器,分析IRP就可以獲取到串行端口的傳輸數(shù)據(jù)進(jìn)行處理,從而實(shí)現(xiàn)數(shù)據(jù)過濾功能。從串行端口過濾器的開發(fā)方法可以看出,運(yùn)用過濾器開發(fā)技術(shù)能夠以很小的代價(jià)來擴(kuò)展使用通用驅(qū)動程序的硬件設(shè)備的功能。

    參考文獻(xiàn):

    [1]姜元建,王斌,徐偉.虛擬串口管理軟件的設(shè)計(jì)與應(yīng)用[J].微型電腦應(yīng)用,2010(04):55-56.

    [2]張小川,陳最,涂飛.基于過濾驅(qū)動的透明加密文件系統(tǒng)研究與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用與軟件,2013(04):44-47.

    [3]尤晉元,史美林,陳向群等.Windows操作系統(tǒng)原理[M].北京:機(jī)械工業(yè)出版社,2001.

    [4]龔建偉,熊光明.Visual C++/Turbo C串口通信編程實(shí)踐[M].北京:電子工業(yè)出版社,2004.

    [5]譚文,楊瀟,邵堅(jiān)磊.寒江獨(dú)釣:Windows內(nèi)核安全編程[M].北京:電子工業(yè)出版社,2009.

    [6]竹武林,范惠林,龐帥.串行通信接口卡驅(qū)動及測試軟件設(shè)計(jì)和實(shí)現(xiàn)[J].長春理工大學(xué)學(xué)報(bào)(自然科學(xué)版),2011(03):156-159.

    作者簡介:周鵬(1978-),男,山東膠州人,工程師,畢業(yè)于武漢測繪科技大學(xué)計(jì)算機(jī)軟件專業(yè),現(xiàn)從事研究分布式系統(tǒng)、軟件工程工作。

    作者單位:92124部隊(duì),遼寧大連 116023

    亚洲成人免费电影在线观看| 天天躁夜夜躁狠狠躁躁| 亚洲av成人不卡在线观看播放网| 女人高潮潮喷娇喘18禁视频| 午夜福利在线在线| 午夜福利欧美成人| 丰满人妻一区二区三区视频av | 搞女人的毛片| 午夜福利18| 一二三四社区在线视频社区8| 18美女黄网站色大片免费观看| 老司机午夜福利在线观看视频| 亚洲国产欧美网| 国产午夜福利久久久久久| 在线观看一区二区三区| 一a级毛片在线观看| 欧美不卡视频在线免费观看 | 18禁观看日本| 一级黄色大片毛片| 日韩大尺度精品在线看网址| 国产伦在线观看视频一区| 成人特级黄色片久久久久久久| 婷婷精品国产亚洲av在线| 在线永久观看黄色视频| 欧美性猛交黑人性爽| 国产成人精品久久二区二区91| 日日干狠狠操夜夜爽| 91国产中文字幕| 日韩有码中文字幕| 99久久精品国产亚洲精品| 亚洲精品国产一区二区精华液| 久久午夜综合久久蜜桃| 成人一区二区视频在线观看| 特级一级黄色大片| 在线a可以看的网站| 午夜视频精品福利| 搡老岳熟女国产| 亚洲成人国产一区在线观看| 久久久精品欧美日韩精品| 色播亚洲综合网| 日韩有码中文字幕| 欧美国产日韩亚洲一区| 日韩中文字幕欧美一区二区| 久久精品影院6| 禁无遮挡网站| 可以在线观看毛片的网站| 国产精品亚洲美女久久久| 夜夜看夜夜爽夜夜摸| 99久久久亚洲精品蜜臀av| 国产真人三级小视频在线观看| 午夜a级毛片| 狂野欧美白嫩少妇大欣赏| 一边摸一边抽搐一进一小说| 国产成人一区二区三区免费视频网站| 欧洲精品卡2卡3卡4卡5卡区| 9191精品国产免费久久| 手机成人av网站| 人妻夜夜爽99麻豆av| 国内少妇人妻偷人精品xxx网站 | 777久久人妻少妇嫩草av网站| 一a级毛片在线观看| 精华霜和精华液先用哪个| 亚洲片人在线观看| 五月伊人婷婷丁香| av天堂在线播放| 成人三级黄色视频| 欧美又色又爽又黄视频| www日本黄色视频网| 国产又色又爽无遮挡免费看| 亚洲精品久久成人aⅴ小说| 久久精品国产亚洲av香蕉五月| 国产成人系列免费观看| 香蕉av资源在线| 久久国产乱子伦精品免费另类| 国产三级中文精品| 五月伊人婷婷丁香| av有码第一页| 色精品久久人妻99蜜桃| 麻豆国产av国片精品| 欧美3d第一页| xxx96com| 99国产精品一区二区三区| 欧美日韩黄片免| 无遮挡黄片免费观看| 十八禁网站免费在线| 国产高清有码在线观看视频 | 久久午夜综合久久蜜桃| 91在线观看av| 精品少妇一区二区三区视频日本电影| 亚洲专区中文字幕在线| 国产精品久久久av美女十八| 中亚洲国语对白在线视频| 蜜桃久久精品国产亚洲av| 在线观看66精品国产| 久久中文看片网| 制服诱惑二区| 男男h啪啪无遮挡| 精品人妻1区二区| 在线观看美女被高潮喷水网站 | 日韩欧美国产一区二区入口| 久久中文字幕人妻熟女| 99热这里只有精品一区 | 亚洲 国产 在线| 国产精品精品国产色婷婷| 国产单亲对白刺激| 国产精品99久久99久久久不卡| 他把我摸到了高潮在线观看| 女警被强在线播放| 国产精品一区二区三区四区免费观看 | 久久草成人影院| 成人高潮视频无遮挡免费网站| 亚洲美女视频黄频| 亚洲一卡2卡3卡4卡5卡精品中文| 国产成+人综合+亚洲专区| 18禁黄网站禁片免费观看直播| 欧美zozozo另类| 国产精品永久免费网站| 国产午夜福利久久久久久| 国产一区二区激情短视频| 国内精品久久久久久久电影| 国产精品98久久久久久宅男小说| 琪琪午夜伦伦电影理论片6080| 国产日本99.免费观看| 国产免费男女视频| 美女黄网站色视频| 国产精品亚洲av一区麻豆| 757午夜福利合集在线观看| 欧美黑人精品巨大| 别揉我奶头~嗯~啊~动态视频| netflix在线观看网站| 亚洲国产精品sss在线观看| 亚洲国产精品成人综合色| 日韩欧美国产在线观看| ponron亚洲| 丝袜美腿诱惑在线| 久久午夜综合久久蜜桃| 伊人久久大香线蕉亚洲五| 日韩欧美免费精品| xxx96com| 美女大奶头视频| 国模一区二区三区四区视频 | 一进一出抽搐gif免费好疼| 亚洲无线在线观看| 伦理电影免费视频| 欧美日本亚洲视频在线播放| 男人的好看免费观看在线视频 | 两个人视频免费观看高清| 高清在线国产一区| 99国产极品粉嫩在线观看| 亚洲欧美一区二区三区黑人| 精品国产乱子伦一区二区三区| 女人高潮潮喷娇喘18禁视频| 日韩高清综合在线| 中文资源天堂在线| 久久精品aⅴ一区二区三区四区| 久久午夜亚洲精品久久| 欧美高清成人免费视频www| 啦啦啦免费观看视频1| 免费看十八禁软件| 男男h啪啪无遮挡| 国产不卡一卡二| 黄片大片在线免费观看| 国产伦一二天堂av在线观看| 草草在线视频免费看| 制服诱惑二区| 手机成人av网站| 亚洲熟妇中文字幕五十中出| 婷婷丁香在线五月| 午夜视频精品福利| 成在线人永久免费视频| 国产精品久久电影中文字幕| 欧美+亚洲+日韩+国产| av视频在线观看入口| 久久国产精品人妻蜜桃| 日韩精品青青久久久久久| av视频在线观看入口| 淫妇啪啪啪对白视频| 婷婷精品国产亚洲av在线| 一级片免费观看大全| 啦啦啦观看免费观看视频高清| 久久久久亚洲av毛片大全| 亚洲aⅴ乱码一区二区在线播放 | 听说在线观看完整版免费高清| 色av中文字幕| 午夜福利高清视频| 中国美女看黄片| 国产高清videossex| 成人特级黄色片久久久久久久| 国产午夜精品久久久久久| 中出人妻视频一区二区| 老司机靠b影院| 国产精品精品国产色婷婷| 丰满人妻熟妇乱又伦精品不卡| 日本免费一区二区三区高清不卡| 久久精品91无色码中文字幕| 国产亚洲精品av在线| 国产精品久久久久久精品电影| 成人av在线播放网站| 日本熟妇午夜| 欧美性猛交黑人性爽| 欧美极品一区二区三区四区| 日韩欧美国产一区二区入口| 十八禁人妻一区二区| 国产亚洲精品av在线| 久久天堂一区二区三区四区| www国产在线视频色| 动漫黄色视频在线观看| 久久久久久久精品吃奶| 中文字幕av在线有码专区| 久久精品夜夜夜夜夜久久蜜豆 | 在线观看66精品国产| 国产精品爽爽va在线观看网站| 法律面前人人平等表现在哪些方面| 男人舔女人的私密视频| 久久天躁狠狠躁夜夜2o2o| 亚洲中文日韩欧美视频| 国产精品一区二区三区四区久久| 成人18禁在线播放| 巨乳人妻的诱惑在线观看| 欧美成狂野欧美在线观看| 不卡av一区二区三区| 中文字幕人妻丝袜一区二区| 日韩欧美在线二视频| 97碰自拍视频| 麻豆国产av国片精品| 婷婷亚洲欧美| 久久中文字幕人妻熟女| 麻豆一二三区av精品| 国产精品av视频在线免费观看| 国产精品美女特级片免费视频播放器 | 日本成人三级电影网站| 性色av乱码一区二区三区2| 人妻丰满熟妇av一区二区三区| 18禁黄网站禁片免费观看直播| 欧美人与性动交α欧美精品济南到| 亚洲最大成人中文| 俄罗斯特黄特色一大片| 免费一级毛片在线播放高清视频| avwww免费| 国产成人一区二区三区免费视频网站| 动漫黄色视频在线观看| 国产成人精品无人区| 中文字幕高清在线视频| 国产精品一区二区三区四区久久| 在线播放国产精品三级| 男人舔女人下体高潮全视频| 欧美丝袜亚洲另类 | 丰满人妻一区二区三区视频av | 啪啪无遮挡十八禁网站| 欧美乱色亚洲激情| 九九热线精品视视频播放| 正在播放国产对白刺激| 日韩成人在线观看一区二区三区| 欧美日韩一级在线毛片| 精品国产亚洲在线| 色精品久久人妻99蜜桃| 亚洲午夜精品一区,二区,三区| 国产精品九九99| 黄色丝袜av网址大全| 久久精品人妻少妇| 91成年电影在线观看| 狠狠狠狠99中文字幕| 巨乳人妻的诱惑在线观看| 亚洲狠狠婷婷综合久久图片| 精品欧美国产一区二区三| 亚洲av中文字字幕乱码综合| 免费在线观看完整版高清| 久久久久国产一级毛片高清牌| 日韩欧美 国产精品| 一个人观看的视频www高清免费观看 | 亚洲人成电影免费在线| 国语自产精品视频在线第100页| 听说在线观看完整版免费高清| 久久久精品大字幕| 丰满人妻一区二区三区视频av | 久久精品91无色码中文字幕| 免费无遮挡裸体视频| 欧美性猛交╳xxx乱大交人| 午夜精品一区二区三区免费看| 国产高清激情床上av| 国产视频内射| 每晚都被弄得嗷嗷叫到高潮| 国产亚洲av嫩草精品影院| 亚洲国产精品合色在线| 欧美日韩乱码在线| 成人永久免费在线观看视频| 国产精品爽爽va在线观看网站| 欧美一级a爱片免费观看看 | 成人永久免费在线观看视频| 国产精品自产拍在线观看55亚洲| 真人做人爱边吃奶动态| 女生性感内裤真人,穿戴方法视频| 国产人伦9x9x在线观看| 一进一出好大好爽视频| 伦理电影免费视频| 欧美午夜高清在线| 中文字幕最新亚洲高清| 少妇被粗大的猛进出69影院| 亚洲男人的天堂狠狠| 国产野战对白在线观看| 桃色一区二区三区在线观看| 人人妻,人人澡人人爽秒播| 欧美成狂野欧美在线观看| 在线观看66精品国产| av视频在线观看入口| 国产午夜精品论理片| 琪琪午夜伦伦电影理论片6080| 91老司机精品| 黄色女人牲交| 色尼玛亚洲综合影院| 少妇人妻一区二区三区视频| 亚洲免费av在线视频| 午夜福利高清视频| 女警被强在线播放| www.自偷自拍.com| 久9热在线精品视频| 日韩中文字幕欧美一区二区| 丝袜人妻中文字幕| 搞女人的毛片| 亚洲七黄色美女视频| 亚洲成av人片在线播放无| АⅤ资源中文在线天堂| 免费观看精品视频网站| 国产av不卡久久| 99热这里只有是精品50| 久久久久久久久久黄片| 国产又黄又爽又无遮挡在线| 久久婷婷人人爽人人干人人爱| 精品日产1卡2卡| 男女午夜视频在线观看| 亚洲欧美激情综合另类| 精品人妻1区二区| 99久久国产精品久久久| 久久久久久人人人人人| 精品熟女少妇八av免费久了| 一区二区三区激情视频| 91国产中文字幕| 国产精品99久久99久久久不卡| 大型av网站在线播放| 国产免费男女视频| 最近最新中文字幕大全免费视频| 好看av亚洲va欧美ⅴa在| videosex国产| 日韩欧美在线乱码| 免费看美女性在线毛片视频| 国产午夜精品论理片| 黄色视频,在线免费观看| 午夜日韩欧美国产| 天天添夜夜摸| 欧美日韩国产亚洲二区| 国产片内射在线| 国产一区二区在线观看日韩 | 18禁美女被吸乳视频| 国产伦一二天堂av在线观看| 18禁美女被吸乳视频| 欧美乱色亚洲激情| 成人午夜高清在线视频| 欧美不卡视频在线免费观看 | 我的老师免费观看完整版| 桃红色精品国产亚洲av| 久久精品91蜜桃| 18禁裸乳无遮挡免费网站照片| 黄色成人免费大全| 又大又爽又粗| 中文亚洲av片在线观看爽| 18美女黄网站色大片免费观看| 777久久人妻少妇嫩草av网站| 一个人观看的视频www高清免费观看 | 欧美日韩国产亚洲二区| 18禁美女被吸乳视频| 不卡av一区二区三区| а√天堂www在线а√下载| 国产免费男女视频| 亚洲国产精品成人综合色| 欧美不卡视频在线免费观看 | 12—13女人毛片做爰片一| 一级作爱视频免费观看| 亚洲全国av大片| 可以在线观看的亚洲视频| 亚洲 国产 在线| 午夜激情福利司机影院| 欧美日本亚洲视频在线播放| 精品日产1卡2卡| 男女下面进入的视频免费午夜| 亚洲精品国产一区二区精华液| 日本 av在线| 亚洲第一电影网av| 黄片小视频在线播放| 两个人看的免费小视频| 长腿黑丝高跟| 亚洲国产欧美网| 亚洲九九香蕉| 少妇熟女aⅴ在线视频| 两个人视频免费观看高清| 曰老女人黄片| 一本久久中文字幕| 老熟妇仑乱视频hdxx| 午夜老司机福利片| 国产成人系列免费观看| 日本三级黄在线观看| 免费av毛片视频| 一本精品99久久精品77| 久久久水蜜桃国产精品网| 国产激情欧美一区二区| 中文字幕熟女人妻在线| 搞女人的毛片| 色精品久久人妻99蜜桃| 身体一侧抽搐| 国内精品久久久久久久电影| 五月伊人婷婷丁香| 天堂影院成人在线观看| 亚洲精品美女久久久久99蜜臀| 啦啦啦观看免费观看视频高清| 国产一区二区在线av高清观看| 波多野结衣巨乳人妻| 丝袜美腿诱惑在线| 精品福利观看| 久久九九热精品免费| 三级国产精品欧美在线观看 | 在线国产一区二区在线| 亚洲精品中文字幕一二三四区| 亚洲av五月六月丁香网| 久久性视频一级片| 日韩免费av在线播放| 精品一区二区三区四区五区乱码| 丁香欧美五月| 国产精品 欧美亚洲| 亚洲,欧美精品.| 国产激情欧美一区二区| 少妇裸体淫交视频免费看高清 | 黄色视频,在线免费观看| 欧美性长视频在线观看| 18美女黄网站色大片免费观看| 亚洲精品在线美女| 免费在线观看成人毛片| 美女午夜性视频免费| 亚洲精品国产一区二区精华液| 久久精品国产清高在天天线| 一级毛片精品| 欧美日韩亚洲综合一区二区三区_| 亚洲欧美日韩东京热| 黄频高清免费视频| 亚洲中文日韩欧美视频| 免费高清视频大片| 成人三级做爰电影| 国产精品综合久久久久久久免费| а√天堂www在线а√下载| 成人国产综合亚洲| 亚洲成av人片免费观看| 神马国产精品三级电影在线观看 | 午夜免费观看网址| 精品久久久久久久人妻蜜臀av| 九九热线精品视视频播放| 一本综合久久免费| 最近最新免费中文字幕在线| 久久国产乱子伦精品免费另类| 日本黄色视频三级网站网址| 国产亚洲欧美在线一区二区| 最近最新中文字幕大全电影3| 国产亚洲精品第一综合不卡| 91国产中文字幕| 国产亚洲精品综合一区在线观看 | 两人在一起打扑克的视频| 久久婷婷成人综合色麻豆| 中亚洲国语对白在线视频| 在线十欧美十亚洲十日本专区| 人成视频在线观看免费观看| 国产一区二区三区视频了| 国内精品久久久久久久电影| 久久精品夜夜夜夜夜久久蜜豆 | 久久精品夜夜夜夜夜久久蜜豆 | 色综合亚洲欧美另类图片| 免费在线观看日本一区| 香蕉丝袜av| 国产精品免费视频内射| 一级作爱视频免费观看| 97人妻精品一区二区三区麻豆| 老司机福利观看| 99热只有精品国产| 中文资源天堂在线| 国模一区二区三区四区视频 | 九九热线精品视视频播放| www日本在线高清视频| 一边摸一边抽搐一进一小说| ponron亚洲| 国产单亲对白刺激| 亚洲男人天堂网一区| 一级毛片高清免费大全| 欧美在线一区亚洲| 一区二区三区高清视频在线| 欧美3d第一页| 国产91精品成人一区二区三区| 窝窝影院91人妻| 一个人免费在线观看电影 | 精品乱码久久久久久99久播| 看黄色毛片网站| 国产高清有码在线观看视频 | 男女视频在线观看网站免费 | 桃色一区二区三区在线观看| 久久精品夜夜夜夜夜久久蜜豆 | 久久精品国产亚洲av香蕉五月| 中文字幕久久专区| 亚洲欧美一区二区三区黑人| 国产一区二区三区视频了| 久久久久久亚洲精品国产蜜桃av| 国产91精品成人一区二区三区| 国产成人精品久久二区二区免费| 大型av网站在线播放| 亚洲成人免费电影在线观看| e午夜精品久久久久久久| 亚洲美女视频黄频| 精品国内亚洲2022精品成人| 久久精品国产亚洲av高清一级| 三级男女做爰猛烈吃奶摸视频| 操出白浆在线播放| 国产主播在线观看一区二区| 国产激情欧美一区二区| 日韩av在线大香蕉| 亚洲成人久久性| 可以免费在线观看a视频的电影网站| 亚洲成人国产一区在线观看| 在线观看舔阴道视频| 男女视频在线观看网站免费 | 国产成人欧美在线观看| 色综合亚洲欧美另类图片| 国产激情偷乱视频一区二区| 性色av乱码一区二区三区2| 精品一区二区三区视频在线观看免费| 女人被狂操c到高潮| 丰满人妻一区二区三区视频av | 亚洲成av人片在线播放无| 国产精品久久视频播放| 久久久久亚洲av毛片大全| 日本三级黄在线观看| 色综合站精品国产| 在线观看舔阴道视频| 日韩高清综合在线| 久久人人精品亚洲av| 午夜久久久久精精品| 色综合站精品国产| av免费在线观看网站| 久久久精品国产亚洲av高清涩受| 少妇被粗大的猛进出69影院| 久久久久久久久中文| 亚洲aⅴ乱码一区二区在线播放 | 成人三级做爰电影| 日韩三级视频一区二区三区| 又黄又爽又免费观看的视频| 给我免费播放毛片高清在线观看| 久久久国产欧美日韩av| 夜夜躁狠狠躁天天躁| 两个人视频免费观看高清| 日韩欧美 国产精品| 国产激情久久老熟女| 国产午夜精品久久久久久| 国产乱人伦免费视频| 99热6这里只有精品| 1024香蕉在线观看| 亚洲一区二区三区不卡视频| tocl精华| 日韩 欧美 亚洲 中文字幕| 国产精品野战在线观看| 午夜福利在线观看吧| 99国产极品粉嫩在线观看| 欧美极品一区二区三区四区| 在线免费观看的www视频| 精品第一国产精品| 亚洲片人在线观看| 色综合亚洲欧美另类图片| 正在播放国产对白刺激| 深夜精品福利| 久久久久久久久免费视频了| 女生性感内裤真人,穿戴方法视频| 在线观看舔阴道视频| 啪啪无遮挡十八禁网站| 国产亚洲精品久久久久久毛片| 麻豆成人午夜福利视频| 最好的美女福利视频网| 99久久综合精品五月天人人| 亚洲成人国产一区在线观看| 波多野结衣巨乳人妻| 两个人视频免费观看高清| 动漫黄色视频在线观看| 亚洲欧美激情综合另类| 国产精品久久久av美女十八| 国产激情久久老熟女| 99精品欧美一区二区三区四区| 精品国内亚洲2022精品成人| 久久精品国产亚洲av高清一级| 动漫黄色视频在线观看| 97超级碰碰碰精品色视频在线观看| 午夜福利18| 午夜福利成人在线免费观看| 国产欧美日韩精品亚洲av| 男男h啪啪无遮挡| 床上黄色一级片| 国产成人精品久久二区二区免费| 国产黄色小视频在线观看| 午夜激情av网站| 欧美乱妇无乱码| 午夜影院日韩av| 国产片内射在线| 美女高潮喷水抽搐中文字幕| 国产1区2区3区精品| 性色av乱码一区二区三区2| 婷婷精品国产亚洲av| 一级作爱视频免费观看| 亚洲美女黄片视频| 亚洲人成网站高清观看| 人成视频在线观看免费观看| 国产av在哪里看| 99精品在免费线老司机午夜| 久久久久国内视频| 国产亚洲精品第一综合不卡| 成人欧美大片|