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

    面向大規(guī)模源代碼的內(nèi)存安全性動態(tài)分析技術

    2021-08-02 03:35:28沖,孫毅,仵
    計算機技術與發(fā)展 2021年7期
    關鍵詞:插樁指針語句

    王 沖,孫 毅,仵 俊

    (南京航空航天大學 計算機科學與技術學院,江蘇 南京 211100)

    0 引 言

    C語言常用于諸如操作系統(tǒng)、嵌入式軟件系統(tǒng)等對性能要求較高的系統(tǒng)的編寫。然而C語言本身缺乏對內(nèi)存安全性檢測的相關功能,因此使用其編寫的程序可能存在較為嚴重的內(nèi)存安全性漏洞[1-5]。動態(tài)分析[6-8]是目前常用的對程序進行內(nèi)存安全檢測的方法,目前常用的實現(xiàn)方法有二進制代碼插樁、中間代碼插樁、源代碼插樁[9-10]等。

    二進制代碼插樁是對可執(zhí)行程序進行插樁,優(yōu)點是不需要源代碼就可以對程序進行動態(tài)分析;中間代碼插樁是對編譯后的代碼插樁,可以利用優(yōu)化,減少不必要的插樁;源代碼插樁是指對源碼上進行修改,添加行為監(jiān)代碼,對程序進行檢測,優(yōu)點是可以獲取源代碼中的位置,準確地報告錯誤信息。

    為了能更準確有效地檢測程序的錯誤并能將錯誤的變量信息準確地反饋給用戶,該文采用了源代碼插樁技術進行插樁,并在基于指針技術[11-13]的基礎上,借助開源編譯器Clang和C++語言實現(xiàn)了內(nèi)存安全分析工具Movec,完成其對大規(guī)模C程序的內(nèi)存安全性檢測,并通過實驗進行了驗證,表明該內(nèi)存分析工具對大規(guī)模程序的內(nèi)存檢測是有效且高效的。

    1 基礎知識

    基于指針的內(nèi)存安全性檢測技術的主要思想是對程序中的所有指針變量構造一個指針元數(shù)據(jù),用來記錄該指針的內(nèi)存狀態(tài)、上下界以及指向當前內(nèi)存的指針的個數(shù)。然后,當指針賦值或者以函數(shù)參數(shù)傳遞的時候,更新這個指針的元數(shù)據(jù),用來保持數(shù)據(jù)的一致性。最后,在對指針進行解引用或者通過指針對內(nèi)存進行讀寫時,根據(jù)指針元數(shù)據(jù)中記錄的內(nèi)存狀態(tài)信息,來判斷該次內(nèi)存訪問是否是合法的,從而檢測出內(nèi)存的安全性。

    采用源代碼插樁實現(xiàn)基于指針內(nèi)存安全性檢測的過程分為三個部分:一是對指針變量定義進行插樁以初始化元數(shù)據(jù),對指針變量賦值進行插樁來更新元數(shù)據(jù)的信息;二是在指針解引用的時候來檢查該指針所引用的對象的元數(shù)據(jù);三是對函數(shù)定義進行插樁以初始化函數(shù)參數(shù)的元數(shù)據(jù)、計算存儲返回值的元數(shù)據(jù)。然后,對函數(shù)定義生成一個包裝函數(shù),該包裝函數(shù)用來對程序檢測并傳遞指針元數(shù)據(jù)。接著,對原函數(shù)調用重命名,并插入元數(shù)據(jù),然后將原函數(shù)調用重定向到其包裝函數(shù)來完成檢測。

    2 大規(guī)模C程序的內(nèi)存安全性檢測的研究與實現(xiàn)

    2.1 項目插樁的改進

    目前的源代碼插樁工具對程序的插樁一般有兩種模式,一種是單文件插樁模式,一種是項目插樁模式。單文件插樁模式適用于一些文件數(shù)量比較少的情況。對于項目插樁模式,目前常采用的方法是使用搜索后綴的方法將文件中所有的.c和.h文件進行搜索,然后將所有的文件添加到插樁列表中,把每個.c和.h文件都當成一個翻譯單元進行解析插樁,插樁完成后將新的文件生成到目標文件夾中。這種方法在對大規(guī)模的程序進行插樁時過于簡單,會導致如下問題:一對每個.c和.h文件進行搜索,會將一些不必要的文件進行搜索并插樁,增加了項目插樁時間;二是當文件編譯命令中使用了-D定義了宏或者使用-I頭文件目錄時,這種項目插樁的方式獲取到的語法樹會和原語法樹完全不同,導致插樁錯誤;三是當項目中的頭文件出現(xiàn)一個不完整文件時,將該文件當作一個完整的翻譯單元處理時,無法獲取其完整的語法樹,導致程序插樁失敗。

    對于問題一和問題二,該文利用編譯數(shù)據(jù)庫的概念,對源代碼插樁工具的項目插樁模式進行改進。編譯數(shù)據(jù)庫是在項目實際編譯過程中對編譯器調用的監(jiān)控記錄,其中包含了每個文件在編譯時的編譯選項。利用編譯數(shù)據(jù)庫獲取待插樁文件的存儲路徑和該文件對應的編譯指令,構造出每個文件的原始編譯命令,從而在對文件進行解析時獲取到的語法樹和原始語法樹是一致的。同時,通過編譯數(shù)據(jù)庫,可以獲取一個可執(zhí)行文件的所有的依賴文件,不需要進行.c和.h的搜索,降低了程序插樁的時間。

    對于問題三,該文提供的解決方法是將不完整頭文件擴展到源文件中,不再對該頭文件進行單獨插樁。因此,該文提供了一個頭文件擴展算法,該算法可以將指定的文件進行擴展,當遇到該文件時,不對其插樁,同時將其內(nèi)容擴展到所有引入該頭文件的文件中。當對程序進行內(nèi)存安全性檢測時,由于系統(tǒng)庫文件中的接口是編譯器提供的標準接口,不需要對其進行插樁檢測,所以該文提供的頭文件擴展算法對所有的系統(tǒng)庫文件不進行擴展,這不僅減少了對程序的插樁時間,也減少了代碼的膨脹率。同時,該文提供的算法還支持不擴展用戶指定的頭文件。

    該算法的主要思想是:首先,創(chuàng)建一個文件輸出流,然后利用Clang前端接口創(chuàng)建一個原始詞法解析器,該解析器只解析當前主文件中的內(nèi)容,然后當解析到#include指令時,在頭文件列表中查找該include的文件標識,然后判斷該文件是否是系統(tǒng)庫文件,若不是,則將其內(nèi)容寫入到輸出流,同時遞歸地調用本方法去繼續(xù)擴展頭文件中引入的頭文件。若是系統(tǒng)庫文件則保持不變,繼續(xù)解析下一個#include命令。其中,頭文件列表是當讀取的文件發(fā)生切換時記錄的,它通過Clang提供的PPCallbacks中的FileChanged()回調函數(shù)記錄,每當文件發(fā)生切換,記錄該文件的ID、類型等信息。當一個文件中所有的#include指令的內(nèi)容擴展完成后,再將#include指令后的內(nèi)容寫入到輸出流,最后寫回到原文件中,從而實現(xiàn)對頭文件的擴展。具體實現(xiàn)如圖1所示。

    圖1 頭文件擴展算法

    2.2 包裝函數(shù)插樁改進算法

    基于指針的內(nèi)存安全性動態(tài)分析技術對包含指針參數(shù)或返回值為指針類型的函數(shù),需要對其插樁包裝函數(shù),用來初始化函數(shù)參數(shù)和返回值變量的指針元數(shù)據(jù)。對函數(shù)定義生成其包裝函數(shù)定義,然后在其函數(shù)調用中重命名該方法,將其定位到包裝函數(shù)以完成內(nèi)存檢測。但是由于庫函數(shù)的定義在系統(tǒng)頭文件中,無法根據(jù)其定義生成包裝函數(shù)。通常,內(nèi)存分析工具會提供常用庫函數(shù)的包裝函數(shù),但是當程序調用的庫函數(shù)較多或者使用了第三方庫時,內(nèi)存分析工具無法提供所有的庫函數(shù)的包裝函數(shù)。若沒有提供包裝函數(shù)的庫函數(shù),則會對其進行插樁,此時會因為找不到包裝函數(shù)定義而導致編譯失敗。針對這類問題,該文提供的解決方法是:首先,對于一個函數(shù),判斷其是否是庫函數(shù),然后判斷該函數(shù)的包裝函數(shù)工具是否提供,若提供了其包裝函數(shù),則對該庫函數(shù)進行插樁,若不提供,則不對該庫函數(shù)進行插樁。

    因此該文給出一個庫函數(shù)判斷算法,該算法的思想根據(jù)是庫文件是存儲在系統(tǒng)特定位置下,通過判斷一個函數(shù)所引用的聲明的文件是否在當前工作目錄中,來判斷該函數(shù)是否為庫函數(shù)。具體的實現(xiàn)如圖2所示。

    圖2 庫函數(shù)判斷算法

    當判斷一個函數(shù)是庫函數(shù)后,此時需要判斷函數(shù)是否需要插樁,該文利用Clang獲取用戶文件語法樹,然后通過函數(shù)聲明與定義訪問函數(shù)VisitFunctionDecl記錄下每一個函數(shù)名,將其傳遞給插樁模塊,配合系統(tǒng)提供的包裝函數(shù)列表,完成函數(shù)是否需要插樁的判定。

    2.3 匿名結構體插樁改進

    對于結構體指針解引用,需要獲取該指針指向區(qū)域的上界和下界。對于指向命名結構體的指針變量如struct st *ptr,它指向區(qū)域的上界和下界分別為ptr和ptr+sizeof(struct st)。但是對于匿名結構體,無法獲取它的名字,所以sizeof的括號中缺少結構體名字,導致插樁后的程序出現(xiàn)編譯錯誤,如:struct {int a; int b;} *ptr;對*ptr插樁后獲取的下界ptr+sizeof(struct(anonymous struct at /home/a.c:3:1)。

    對于該問題,該文提供的解決方法是:對匿名結構體添加一個唯一的ID,在使用sizeof獲取匿名結構體變量類型的時候,使用該ID構造函數(shù)的名字,通過該名字確定結構體類型的大小。使用AST上該結構體定義節(jié)點的地址作為ID。在結構體定義時添加有該ID構造的名字,然后在訪問該結構體變量時獲取該變量的結構體定義節(jié)點,并獲取其地址,從而保證了構造的ID是唯一的并且是一致的。具體的實現(xiàn)算法如圖3所示。

    圖3 匿名結構體插樁算法

    2.4 循環(huán)結構和switch分支結構的改進

    當一個指針無效時,需要對該指針的元數(shù)據(jù)進行清除,以節(jié)省空間和時間。在循環(huán)結構中包含break語句和continue語句,switch分支結構中包含break語句,這些語句會改變程序的執(zhí)行流程,所以需要對break語句和continue語句進行重寫,來實現(xiàn)對程序的指針元數(shù)據(jù)的清除,具體重寫的規(guī)則如下:

    循環(huán)中的break替換為:{bc_flag_LOOP_BLOCK_ID=1;goto PRFlbl_THIS_BLOCK_ID;}。

    continue語句替換為:{bc_flag_LOOP_BLOCK_ID=2;goto PRFlbl_THIS_BLOCK_ID;}。

    switch中的break替換為:{bc_flag_SWIT_BLOCK_ID=1;goto PRFlbl_THIS_BLOCK_ID;}。

    其中bc_flag_LOOP_BLOCK_ID值為1時表示循環(huán)中的break語句,值為2時表示continue語句,bc_flag_SWIT_BLOCK_ID表示switch語句中的break語句。LOOP_BLOCK_ID表示該循環(huán)語句塊的ID,SWIT_BLOCK_ID表示語句switch語句塊的ID,lbl_THIS_BLOCK_ID插入在該語句塊最后用來清除在該語句塊內(nèi)定義的元數(shù)據(jù),然后再根據(jù)bc_flag判斷執(zhí)行流程。

    在對break的替換的時候,需要考慮一些復雜結構,如循環(huán)中嵌套switch結構或switch語句中嵌套循環(huán)結構,此時插樁時需要對該break語句進行判斷來實現(xiàn)不同的替換。針對該問題,該文提出的解決方法是:對于一個break語句,在插樁前需要記錄它的父語句塊PBS,在進行函數(shù)插樁時記錄循環(huán)結構語句塊LBS和switch語句塊SBS,如果不存在循環(huán)結構或switch結構體,則LBS和SBS為空。然后通過比較break語句父語句塊PBS和LBS、SBS的關系,判斷出break語句是屬于循環(huán)結構還是屬于switch分支結構,從而根據(jù)對應的方法對break語句替換,以保證程序在清除完元數(shù)據(jù)之后能正常運行。具體的算法如圖4所示。

    圖4 break語句插樁算法

    3 工具實現(xiàn)

    該文所述的對大規(guī)模C程序的應用理論在內(nèi)存動態(tài)分析Movec上進行了實現(xiàn)。該工具實現(xiàn)采用的是基于Clang編譯器來對源代碼進行檢測邏輯的插樁,插樁過后的代碼仍然是標準C程序。同時,保證了改進過的Movec能正常地插樁和檢測大規(guī)模C程序。其架構如圖5所示。

    圖5 Movec架構

    在對大規(guī)模程序內(nèi)存安全性進行分析時,Movec的輸入是待檢測項目和一個編譯數(shù)據(jù)庫文件,即JSON文件,輸出是插樁完整的項目Movec對該JSON進行解析,并構造出完整的文件編譯規(guī)則,將其傳遞給C解析器,構造每個文件的抽象語法樹。最后通過AST visitor對語法樹進行訪問,在語法樹上獲取需要插樁的節(jié)點位置,通過Clang提供的SourceManager接口和Rewriter接口實現(xiàn)內(nèi)容的獲取和重寫,完成對包裝函數(shù)的插樁改進實現(xiàn),對匿名結構體的插樁實現(xiàn)以及對break語句改進的實現(xiàn),完成對項目的源代碼插樁。將該文提出的插樁改進規(guī)則應用到Movec工具上,使其能有效地對大規(guī)模C程序進行插樁,并對其進行動態(tài)內(nèi)存分析。

    4 實驗與分析

    基于上面介紹的算法,將其在Movec上進行了實現(xiàn)。本節(jié)將介紹優(yōu)化后的Movec對大規(guī)模程序分析的有效性和高效性。

    4.1 有效性實驗

    為了驗證改進部分插樁規(guī)則后工具的有效性,將Movec應用到Mibench標準測試集上。實驗平臺為64位的Ubuntu16.04操作系統(tǒng),處理器為Intel(R) Core(TM) i5-7200U CPU 2.70 GHz,內(nèi)存是8.00 GB,編譯器為gcc4.8.2。

    選取了其中8個大規(guī)模的測試集進行實驗,并與SoftBoundCets[14]、ASan[15]、Valgrind[16]進行了對比。通過實驗表明,Movec可以正確地對這8個大規(guī)模的測試集進行安全檢測。Movec和ASan在blowfish、jpeg、rijndael和rsynth中檢測出了錯誤,但是Movec還檢測出了ASan未檢測出的錯誤,如在blowfish中的數(shù)組訪問越界錯誤:

    void BF_set_key(key, int len, unsigned char* data){

    unsigned char * end=&(data[len]);}

    unsigned char ukey[8];

    BF_set_key(&key,8,ukey);

    而SoftBoundCets則對5個測試集無法正常插樁,并且其余三個沒有檢測出錯誤。Valgrind正常對程序檢測,但未發(fā)現(xiàn)任何錯誤。

    通過結果表明,Movec對大規(guī)模程序的檢測是有效的,且沒有發(fā)生漏報和誤報。

    4.2 性能實驗

    本節(jié)將Movec與內(nèi)存檢測工具SoftBoundCets、ASan、Valgrind進行性能對比。從Mibench中選取了規(guī)模較大的8個測試集進行對比驗證,考慮到誤差,選用了三次實驗結果去平均值的方式。實驗結果如表1所示。

    表1 運行時間對比結果

    綜合表中數(shù)據(jù)可以看出,SoftBoundCet由于使用了靜態(tài)分析,其在gsm和blowfish(l)優(yōu)于Movec,但它僅僅只能在其中三個測試集中運行成功;Valgrind采用的二進制代碼插樁,雖然可以成功運行在大規(guī)模C程序上,但運行時間遠遠超過Movec;ASan在gsm和lame上的性能優(yōu)于Movec,但是當在檢測出錯誤的測試集中(如blowfish、jpeg、rijndael、rsynth),Movec的性能是好于ASan的。Movec還可以設置在發(fā)現(xiàn)錯誤后繼續(xù)運行,可以檢測出整個程序中可能存在的內(nèi)存錯誤,而ASan和SoftBoundCets在發(fā)生錯誤后立即終止,導致后面的錯誤無法正常檢測。

    由以上分析結果可以看出,改進后的Movec不僅能夠正確地在所有Mibench上運行,而且在有效性和高效性上都是優(yōu)于其他工具的,是一個可靠的大規(guī)模C程序內(nèi)存安全分析工具。

    5 結束語

    對大規(guī)模C程序進行動態(tài)內(nèi)存分析時可能出現(xiàn)的問題進行了描述,并給出了相應的解決方法,然后將其在內(nèi)存動態(tài)分析工具Movec上進行了實現(xiàn),使其能對大規(guī)模C程序進行內(nèi)存安全性檢測。通過實驗,表明Movec不僅能有效地對大規(guī)模C程序進行檢測,同時在綜合性能上是更優(yōu)的。在接下來的工作中,將繼續(xù)優(yōu)化其對大規(guī)模程序檢測的運行時間,例如結合靜態(tài)分析,以減少對程序不必要的插樁和檢測。

    猜你喜歡
    插樁指針語句
    基于TXL的源代碼插樁技術研究
    重點:語句銜接
    偷指針的人
    娃娃畫報(2019年5期)2019-06-17 16:58:10
    基于性能分析的自適應插樁框架
    基于記錄重播的嵌入式系統(tǒng)死鎖檢測方法
    軟件導刊(2017年12期)2018-01-09 13:01:23
    精彩語句
    為什么表的指針都按照順時針方向轉動
    基于改進Hough變換和BP網(wǎng)絡的指針儀表識別
    電測與儀表(2015年5期)2015-04-09 11:30:42
    基于順序塊的嵌入式白盒測試插樁技術研究
    ARM Cortex—MO/MO+單片機的指針變量替換方法
    老汉色∧v一级毛片| 亚洲五月色婷婷综合| 啦啦啦视频在线资源免费观看| 成年女人毛片免费观看观看9 | 久久久精品区二区三区| 婷婷色综合www| 久久 成人 亚洲| 久久影院123| 亚洲精品国产一区二区精华液| 亚洲av成人精品一二三区| 欧美日韩成人在线一区二区| 国产高清不卡午夜福利| 国产免费又黄又爽又色| 伊人久久国产一区二区| 激情视频va一区二区三区| 欧美精品亚洲一区二区| 婷婷色综合www| 又黄又粗又硬又大视频| 卡戴珊不雅视频在线播放| 国产片内射在线| 又粗又硬又长又爽又黄的视频| 日本wwww免费看| 免费观看a级毛片全部| 亚洲av中文av极速乱| 男女免费视频国产| 天堂中文最新版在线下载| 久久精品人人爽人人爽视色| 日韩在线高清观看一区二区三区| 在线观看免费视频网站a站| 男女午夜视频在线观看| 三上悠亚av全集在线观看| 欧美精品亚洲一区二区| 亚洲欧美中文字幕日韩二区| 我要看黄色一级片免费的| 亚洲国产欧美网| 少妇猛男粗大的猛烈进出视频| 国产综合精华液| 搡老乐熟女国产| 亚洲欧洲精品一区二区精品久久久 | 最近手机中文字幕大全| 在线观看免费高清a一片| 国产片内射在线| 国产人伦9x9x在线观看 | 伊人久久国产一区二区| 日日啪夜夜爽| 乱人伦中国视频| 国产深夜福利视频在线观看| 亚洲国产欧美日韩在线播放| 欧美精品亚洲一区二区| av在线播放精品| 大片电影免费在线观看免费| 国产av精品麻豆| 国产男女超爽视频在线观看| 亚洲欧洲日产国产| 久久这里只有精品19| av免费观看日本| 免费观看a级毛片全部| 国产精品无大码| 一区二区三区精品91| 日产精品乱码卡一卡2卡三| 亚洲激情五月婷婷啪啪| 交换朋友夫妻互换小说| 亚洲一码二码三码区别大吗| 99国产综合亚洲精品| 国产男女超爽视频在线观看| 亚洲成人av在线免费| 欧美最新免费一区二区三区| 精品酒店卫生间| 精品酒店卫生间| 精品酒店卫生间| 你懂的网址亚洲精品在线观看| 大陆偷拍与自拍| 国产高清不卡午夜福利| 丝袜美腿诱惑在线| 欧美日韩一区二区视频在线观看视频在线| 肉色欧美久久久久久久蜜桃| 亚洲成人av在线免费| 亚洲人成77777在线视频| 国产av码专区亚洲av| 精品国产露脸久久av麻豆| 国产精品一区二区在线观看99| 国产av精品麻豆| 中文字幕人妻丝袜制服| 中文字幕人妻丝袜制服| 欧美精品一区二区大全| 交换朋友夫妻互换小说| 18在线观看网站| 成人手机av| 欧美日韩精品成人综合77777| 国产极品天堂在线| 免费高清在线观看视频在线观看| 欧美亚洲 丝袜 人妻 在线| 在线观看免费日韩欧美大片| 久久99蜜桃精品久久| 18在线观看网站| 免费观看a级毛片全部| 看非洲黑人一级黄片| 亚洲熟女精品中文字幕| 久久精品国产自在天天线| 国产欧美日韩综合在线一区二区| 久久精品国产自在天天线| 五月伊人婷婷丁香| 久久精品久久久久久噜噜老黄| 亚洲av男天堂| 爱豆传媒免费全集在线观看| 一本—道久久a久久精品蜜桃钙片| 99热网站在线观看| 自拍欧美九色日韩亚洲蝌蚪91| 亚洲欧洲日产国产| 在线观看国产h片| 国产高清国产精品国产三级| av天堂久久9| 91在线精品国自产拍蜜月| 久久 成人 亚洲| 最近手机中文字幕大全| 91精品国产国语对白视频| 欧美精品av麻豆av| 国产精品人妻久久久影院| 国产精品 欧美亚洲| 91久久精品国产一区二区三区| 黄片播放在线免费| 亚洲精品国产av成人精品| 亚洲欧洲日产国产| 亚洲欧洲精品一区二区精品久久久 | 777久久人妻少妇嫩草av网站| 欧美日韩精品网址| 热re99久久精品国产66热6| 国产亚洲一区二区精品| 黄色 视频免费看| 久久久a久久爽久久v久久| 欧美在线黄色| kizo精华| 国产一区二区激情短视频 | 午夜福利在线免费观看网站| 叶爱在线成人免费视频播放| 国产熟女欧美一区二区| 日本-黄色视频高清免费观看| 亚洲国产精品一区二区三区在线| 天堂中文最新版在线下载| 永久网站在线| 免费人妻精品一区二区三区视频| 日本色播在线视频| 欧美bdsm另类| 亚洲精品乱久久久久久| 国产亚洲午夜精品一区二区久久| 精品一区在线观看国产| av国产精品久久久久影院| 王馨瑶露胸无遮挡在线观看| 热re99久久国产66热| 成年人午夜在线观看视频| 一边摸一边做爽爽视频免费| 999精品在线视频| 精品国产一区二区三区久久久樱花| 欧美激情极品国产一区二区三区| 精品国产一区二区三区久久久樱花| 男的添女的下面高潮视频| 观看av在线不卡| 一本色道久久久久久精品综合| www.精华液| 精品少妇久久久久久888优播| 精品国产国语对白av| 男人爽女人下面视频在线观看| 日韩一区二区三区影片| 熟妇人妻不卡中文字幕| 日韩视频在线欧美| 亚洲在久久综合| 精品国产露脸久久av麻豆| 欧美精品一区二区大全| 国产黄频视频在线观看| 日韩精品有码人妻一区| 亚洲一级一片aⅴ在线观看| 国产人伦9x9x在线观看 | 人妻一区二区av| 国产av码专区亚洲av| 免费高清在线观看视频在线观看| 性少妇av在线| av福利片在线| 爱豆传媒免费全集在线观看| 伦理电影免费视频| 午夜91福利影院| 亚洲欧美精品综合一区二区三区 | 久久久欧美国产精品| 美女高潮到喷水免费观看| 午夜福利在线免费观看网站| 日韩人妻精品一区2区三区| 69精品国产乱码久久久| 可以免费在线观看a视频的电影网站 | 久久人妻熟女aⅴ| 婷婷色综合大香蕉| av又黄又爽大尺度在线免费看| 丰满乱子伦码专区| 国产免费视频播放在线视频| 亚洲欧美中文字幕日韩二区| 热re99久久精品国产66热6| 丁香六月天网| 十八禁网站网址无遮挡| 欧美激情高清一区二区三区 | 久久久久久久久久久久大奶| 成人黄色视频免费在线看| 女人精品久久久久毛片| 久久99热这里只频精品6学生| 99久国产av精品国产电影| 黄色 视频免费看| av视频免费观看在线观看| 伦理电影大哥的女人| 日韩av在线免费看完整版不卡| 国产欧美日韩综合在线一区二区| 欧美国产精品一级二级三级| 午夜福利视频精品| 亚洲三区欧美一区| 老女人水多毛片| 久久久久精品人妻al黑| 永久免费av网站大全| 亚洲天堂av无毛| 一边亲一边摸免费视频| 在线观看免费高清a一片| 在线 av 中文字幕| 亚洲伊人色综图| 蜜桃在线观看..| 寂寞人妻少妇视频99o| 制服诱惑二区| 国产亚洲午夜精品一区二区久久| 大片免费播放器 马上看| 亚洲三区欧美一区| 日韩视频在线欧美| 亚洲经典国产精华液单| 久久精品亚洲av国产电影网| 可以免费在线观看a视频的电影网站 | 麻豆av在线久日| 女人精品久久久久毛片| 亚洲精品久久午夜乱码| 日韩 亚洲 欧美在线| 久久精品国产鲁丝片午夜精品| 18+在线观看网站| 叶爱在线成人免费视频播放| 国产精品无大码| 搡老乐熟女国产| 在现免费观看毛片| 国产亚洲精品第一综合不卡| 国产白丝娇喘喷水9色精品| 久久精品亚洲av国产电影网| 日本猛色少妇xxxxx猛交久久| 大片免费播放器 马上看| 性色av一级| 亚洲欧美成人精品一区二区| 一级毛片黄色毛片免费观看视频| 免费在线观看黄色视频的| www.熟女人妻精品国产| 2021少妇久久久久久久久久久| 免费看av在线观看网站| 亚洲人成网站在线观看播放| 成人毛片a级毛片在线播放| 视频区图区小说| 国产激情久久老熟女| 好男人视频免费观看在线| 精品国产超薄肉色丝袜足j| 午夜福利乱码中文字幕| 老司机影院毛片| 亚洲天堂av无毛| 制服人妻中文乱码| 久久久久网色| 亚洲欧美色中文字幕在线| 看免费成人av毛片| av网站免费在线观看视频| 99久久中文字幕三级久久日本| 日本av手机在线免费观看| 一边摸一边做爽爽视频免费| 亚洲欧美色中文字幕在线| 黑丝袜美女国产一区| 观看av在线不卡| 亚洲av电影在线观看一区二区三区| 欧美日韩精品网址| 成年动漫av网址| 欧美日韩一区二区视频在线观看视频在线| 久久久久久伊人网av| 亚洲精品久久午夜乱码| 欧美亚洲日本最大视频资源| 久久毛片免费看一区二区三区| 国产免费福利视频在线观看| 精品国产一区二区久久| 久久99热这里只频精品6学生| 99热全是精品| 久热这里只有精品99| 夫妻性生交免费视频一级片| 看非洲黑人一级黄片| 9色porny在线观看| 最近的中文字幕免费完整| 日韩精品免费视频一区二区三区| 成人毛片60女人毛片免费| 七月丁香在线播放| 国产成人a∨麻豆精品| 如何舔出高潮| 黄色一级大片看看| 欧美人与性动交α欧美精品济南到 | 国产黄色免费在线视频| 午夜久久久在线观看| videossex国产| 九九爱精品视频在线观看| 亚洲在久久综合| 欧美日韩成人在线一区二区| 亚洲欧洲日产国产| www日本在线高清视频| 黑人巨大精品欧美一区二区蜜桃| 久久精品人人爽人人爽视色| 成人黄色视频免费在线看| 91在线精品国自产拍蜜月| 蜜桃国产av成人99| 精品少妇黑人巨大在线播放| 成人手机av| 天美传媒精品一区二区| 青春草国产在线视频| 赤兔流量卡办理| 男女边摸边吃奶| 激情五月婷婷亚洲| 曰老女人黄片| 精品人妻在线不人妻| 国产成人精品久久久久久| 最近最新中文字幕免费大全7| 丝袜美足系列| 乱人伦中国视频| 国产熟女欧美一区二区| 国产精品亚洲av一区麻豆 | 国产精品女同一区二区软件| 亚洲欧美中文字幕日韩二区| 亚洲第一av免费看| 欧美精品人与动牲交sv欧美| 欧美日韩亚洲国产一区二区在线观看 | 美女脱内裤让男人舔精品视频| 亚洲综合色惰| 婷婷色综合www| 午夜免费观看性视频| 1024视频免费在线观看| 人人澡人人妻人| 激情视频va一区二区三区| 深夜精品福利| 日本色播在线视频| 美女福利国产在线| 精品亚洲成a人片在线观看| 国产av精品麻豆| 久久久久视频综合| 亚洲国产精品成人久久小说| 久久狼人影院| freevideosex欧美| 人人澡人人妻人| 伊人久久大香线蕉亚洲五| 女人久久www免费人成看片| 亚洲欧洲国产日韩| 精品国产国语对白av| 免费黄频网站在线观看国产| 香蕉丝袜av| 国产精品 欧美亚洲| 亚洲精品在线美女| 亚洲中文av在线| av片东京热男人的天堂| 不卡av一区二区三区| 国产色婷婷99| a级毛片在线看网站| 搡老乐熟女国产| 如何舔出高潮| 波野结衣二区三区在线| 少妇人妻久久综合中文| av不卡在线播放| 亚洲,欧美精品.| 久久精品久久久久久噜噜老黄| 久久精品国产综合久久久| 一级爰片在线观看| 男女边摸边吃奶| 在线观看美女被高潮喷水网站| 亚洲国产成人一精品久久久| 岛国毛片在线播放| 亚洲一级一片aⅴ在线观看| 国产精品久久久久久精品电影小说| 久久久精品免费免费高清| 男女边摸边吃奶| 欧美日韩视频高清一区二区三区二| 18禁观看日本| 90打野战视频偷拍视频| 国产97色在线日韩免费| 国产 精品1| 十八禁网站网址无遮挡| 亚洲国产av新网站| 亚洲国产最新在线播放| 国产日韩欧美在线精品| 午夜福利网站1000一区二区三区| 有码 亚洲区| 亚洲三区欧美一区| 亚洲经典国产精华液单| 777米奇影视久久| 欧美成人午夜精品| 久久女婷五月综合色啪小说| 99热网站在线观看| 最近2019中文字幕mv第一页| 一本一本久久a久久精品综合妖精 国产伦在线观看视频一区 | 老熟女久久久| 亚洲av电影在线进入| 日韩大片免费观看网站| 一级a爱视频在线免费观看| 99国产精品免费福利视频| 国产麻豆69| 欧美国产精品va在线观看不卡| 日韩一区二区视频免费看| 大香蕉久久成人网| 色播在线永久视频| 少妇精品久久久久久久| 亚洲av中文av极速乱| 国产成人a∨麻豆精品| 国产又爽黄色视频| 国产极品天堂在线| 亚洲成人手机| 午夜福利乱码中文字幕| 69精品国产乱码久久久| 国语对白做爰xxxⅹ性视频网站| 精品一区二区三卡| 波多野结衣一区麻豆| 最近手机中文字幕大全| 宅男免费午夜| 极品人妻少妇av视频| 最近2019中文字幕mv第一页| 国产毛片在线视频| 日韩大片免费观看网站| 在线免费观看不下载黄p国产| 大香蕉久久网| 国产激情久久老熟女| 超碰97精品在线观看| 日本免费在线观看一区| 久久ye,这里只有精品| 自线自在国产av| av网站免费在线观看视频| 啦啦啦在线免费观看视频4| 天天影视国产精品| 日本av免费视频播放| 色婷婷久久久亚洲欧美| 免费在线观看完整版高清| 日韩制服骚丝袜av| 水蜜桃什么品种好| 女人久久www免费人成看片| 日韩av免费高清视频| 蜜桃国产av成人99| 欧美激情高清一区二区三区 | 亚洲国产欧美在线一区| 成人二区视频| 制服丝袜香蕉在线| 国精品久久久久久国模美| 国产精品久久久av美女十八| 91国产中文字幕| 2021少妇久久久久久久久久久| 宅男免费午夜| 18禁裸乳无遮挡动漫免费视频| 人妻系列 视频| 国产av精品麻豆| 国产日韩一区二区三区精品不卡| www.自偷自拍.com| 国产黄色免费在线视频| 亚洲成人手机| 国产精品不卡视频一区二区| 美女国产视频在线观看| 亚洲欧美日韩另类电影网站| 性高湖久久久久久久久免费观看| 大片电影免费在线观看免费| 欧美 日韩 精品 国产| 欧美xxⅹ黑人| av国产精品久久久久影院| 成年动漫av网址| 亚洲美女视频黄频| 一区二区三区激情视频| www.av在线官网国产| 啦啦啦在线观看免费高清www| 黄网站色视频无遮挡免费观看| 久久鲁丝午夜福利片| 2018国产大陆天天弄谢| 午夜精品国产一区二区电影| 亚洲一码二码三码区别大吗| 久久97久久精品| 国产不卡av网站在线观看| 国产成人91sexporn| 人妻系列 视频| 国产免费福利视频在线观看| 亚洲情色 制服丝袜| 国产精品麻豆人妻色哟哟久久| av免费观看日本| 久久精品夜色国产| 最近中文字幕2019免费版| 色视频在线一区二区三区| 美女午夜性视频免费| 看非洲黑人一级黄片| 狂野欧美激情性bbbbbb| 色网站视频免费| 久久精品久久精品一区二区三区| 人妻 亚洲 视频| 性少妇av在线| 999精品在线视频| 汤姆久久久久久久影院中文字幕| 又黄又粗又硬又大视频| 免费大片黄手机在线观看| 男女高潮啪啪啪动态图| av在线app专区| 观看av在线不卡| 亚洲欧美日韩另类电影网站| 狠狠婷婷综合久久久久久88av| av在线播放精品| 亚洲欧美成人精品一区二区| 色婷婷av一区二区三区视频| 亚洲成人一二三区av| 天天躁夜夜躁狠狠久久av| 99九九在线精品视频| 亚洲精品美女久久久久99蜜臀 | 极品少妇高潮喷水抽搐| 波多野结衣一区麻豆| 99热全是精品| 大话2 男鬼变身卡| 亚洲欧美清纯卡通| 女人久久www免费人成看片| 成人漫画全彩无遮挡| 欧美97在线视频| 性少妇av在线| 亚洲国产成人一精品久久久| 日韩一本色道免费dvd| 老司机亚洲免费影院| 国产在线视频一区二区| 国产高清国产精品国产三级| 国产又爽黄色视频| 亚洲av男天堂| 成年av动漫网址| 看非洲黑人一级黄片| 三级国产精品片| 欧美精品一区二区大全| 人妻人人澡人人爽人人| 人人妻人人澡人人爽人人夜夜| 观看美女的网站| 国产精品国产av在线观看| 国产精品免费大片| 精品一区二区三卡| 一本色道久久久久久精品综合| 国产欧美日韩一区二区三区在线| 亚洲精品日韩在线中文字幕| 婷婷色综合www| 亚洲成av片中文字幕在线观看 | 两个人看的免费小视频| 免费少妇av软件| 久久久久久伊人网av| 如何舔出高潮| 如日韩欧美国产精品一区二区三区| 亚洲欧美精品综合一区二区三区 | 国产熟女午夜一区二区三区| 少妇人妻精品综合一区二区| 亚洲欧美精品自产自拍| 亚洲综合精品二区| 国产成人精品在线电影| 综合色丁香网| 人人妻人人爽人人添夜夜欢视频| 久久久精品94久久精品| 男人添女人高潮全过程视频| 最近最新中文字幕免费大全7| 亚洲图色成人| 视频区图区小说| 女的被弄到高潮叫床怎么办| 青草久久国产| 亚洲精品成人av观看孕妇| 久久99一区二区三区| 中文字幕精品免费在线观看视频| 国产成人精品福利久久| 国产成人av激情在线播放| 人人妻人人爽人人添夜夜欢视频| 亚洲欧洲精品一区二区精品久久久 | 国产麻豆69| www.自偷自拍.com| 日本wwww免费看| 国产在线一区二区三区精| 免费播放大片免费观看视频在线观看| 美女视频免费永久观看网站| 黄片无遮挡物在线观看| 亚洲精品成人av观看孕妇| 午夜日本视频在线| 亚洲精品成人av观看孕妇| 婷婷色麻豆天堂久久| 亚洲欧美日韩另类电影网站| 久久免费观看电影| 国产黄色视频一区二区在线观看| 精品福利永久在线观看| 国产老妇伦熟女老妇高清| 一级毛片黄色毛片免费观看视频| 一级毛片我不卡| 免费观看在线日韩| 免费日韩欧美在线观看| 在线看a的网站| 水蜜桃什么品种好| 亚洲精品日韩在线中文字幕| 九色亚洲精品在线播放| 国产精品 国内视频| 午夜激情av网站| 国产精品 国内视频| 韩国av在线不卡| 欧美日韩一级在线毛片| 国产亚洲精品第一综合不卡| 日韩av免费高清视频| 99国产精品免费福利视频| 毛片一级片免费看久久久久| 亚洲av电影在线进入| 亚洲国产欧美网| 国产av码专区亚洲av| 高清欧美精品videossex| 男女免费视频国产| 欧美日韩精品网址| 亚洲av国产av综合av卡| 日韩中文字幕欧美一区二区 | 狂野欧美激情性bbbbbb| a级毛片在线看网站| 亚洲欧美日韩另类电影网站| 电影成人av| 韩国高清视频一区二区三区| 国产极品天堂在线| 成人二区视频| 亚洲欧洲国产日韩| 国产深夜福利视频在线观看| 亚洲国产av新网站|