日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

mach-o格式分析

發布時間:2025/3/15 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mach-o格式分析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

0x00 摘要

人生無根蒂,飄如陌上塵。 分散逐風轉,此已非常身。

— 陶淵明 《雜詩》

mach-o格式是OS X系統上的可執行文件格式,類似于windows的PE與linux的ELF,如果不徹底搞清楚mach-o的格式與相關知識,去做其他研究,無異于建造空中閣樓。

每個Mach-O文件斗包含一個Mach-O頭,然后是載入命令(Load Commands),最后是數據塊(Data)。

接下來就對整個Mach-O的格式做出詳細的分析。

0x01 Mach-O格式簡單介紹

Mach-O文件的格式如下圖所示:

又如下幾個部分組成:

  • Header:保存了Mach-O的一些基本信息,包括了平臺、文件類型、LoadCommands的個數等等。
  • LoadCommands:這一段緊跟Header,加載Mach-O文件時會使用這里的數據來確定內存的分布。
  • Data:每一個segment的具體數據都保存在這里,這里包含了具體的代碼、數據等等。

0x02 Headers

2.1 數據結構

Headers的定義可以在開源的內核代碼中找到。

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 /* * The 32-bit mach header appears at the very beginning of the object file for * 32-bit architectures. */ struct mach_header { uint32_t magic; /* mach magic number identifier */ cpu_type_t cputype; /* cpu specifier */ cpu_subtype_t cpusubtype; /* machine specifier */ uint32_t filetype; /* type of file */ uint32_t ncmds; /* number of load commands */ uint32_t sizeofcmds; /* the size of all the load commands */ uint32_t flags; /* flags */ }; /* Constant for the magic field of the mach_header (32-bit architectures) */ #define MH_MAGIC 0xfeedface /* the mach magic number */ #define MH_CIGAM 0xcefaedfe /* NXSwapInt(MH_MAGIC) */ /* * The 64-bit mach header appears at the very beginning of object files for * 64-bit architectures. */ struct mach_header_64 { uint32_t magic; /* mach magic number identifier */ cpu_type_t cputype; /* cpu specifier */ cpu_subtype_t cpusubtype; /* machine specifier */ uint32_t filetype; /* type of file */ uint32_t ncmds; /* number of load commands */ uint32_t sizeofcmds; /* the size of all the load commands */ uint32_t flags; /* flags */ uint32_t reserved; /* reserved */ }; /* Constant for the magic field of the mach_header_64 (64-bit architectures) */ #define MH_MAGIC_64 0xfeedfacf /* the 64-bit mach magic number */ #define MH_CIGAM_64 0xcffaedfe /* NXSwapInt(MH_MAGIC_64) */

根據mach_header與mach_header_64的定義,很明顯可以看出,Headers的主要作用就是幫助系統迅速的定位Mach-O文件的運行環境,文件類型。

2.2 實例

使用工具分析一個mach-o文件來具體的看一下Mach-O Headers。

通過otool可以得到Mach header的具體的情況,但是可讀性略微有一點差。

1 2 3 4 5 ? bin otool -h git git: Mach header magic cputype cpusubtype caps filetype ncmds sizeofcmds flags 0xfeedfacf 16777223 3 0x80 2 17 1432 0x00200085

還有一個工具是MachOview可以看的更清楚一點。

  • MagicNumber的值為0xFEEDFACF所以該文件是一個64位平臺上的文件
  • CPU Type和CPU SubType也很容易理解,運行在X86_64的CPU平臺上
  • File Type標示了該文件是一個可執行文件,后面具體分析
  • Flags標示了這個MachO文件的四個特性,后面具體分析

2.3 具體參數

2.3.1 FileType

因為Mach-O文件不僅僅用來實現可執行文件,同時還用來實現了其他內容

  • 內核擴展
  • 庫文件
  • CoreDump

他的源碼定義如下:

1 2 3 4 5 6 7 8 9 10 11 12 13 #define MH_OBJECT 0x1 /* relocatable object file */ #define MH_EXECUTE 0x2 /* demand paged executable file */ #define MH_FVMLIB 0x3 /* fixed VM shared library file */ #define MH_CORE 0x4 /* core file */ #define MH_PRELOAD 0x5 /* preloaded executable file */ #define MH_DYLIB 0x6 /* dynamically bound shared library */ #define MH_DYLINKER 0x7 /* dynamic link editor */ #define MH_BUNDLE 0x8 /* dynamically bound bundle file */ #define MH_DYLIB_STUB 0x9 /* shared library stub for static */ /* linking only, no section contents */ #define MH_DSYM 0xa /* companion file with only debug */ /* sections */ #define MH_KEXT_BUNDLE 0xb /* x86_64 kexts */

解釋一下一些常用到的文件類型。

File Type用處例子
MH_OBJECT編譯過程中產生的*.obj文件gcc -c xxx.c 生成xxx.o文件
MH_EXECUTABLE可執行二進制文件/usr/bin/git
MH_CORECoreDump崩潰時的Dump文件
MH_DYLIB動態庫/usr/lib/里面的那些庫文件
MH_DYLINKER連接器linker/usr/lib/dyld文件
MH_KEXT_BUNDLE內核擴展文件自己開發的簡單內核模塊

2.3.2 flags

Mach-O headers還包含了一些很重要的dyld的加載參數。代碼中的定義如下:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 #define MH_INCRLINK 0x2 /* the object file is the output of an incremental link against a base file and can't be link edited again */ #define MH_DYLDLINK 0x4 /* the object file is input for the dynamic linker and can't be staticly link edited again */ #define MH_BINDATLOAD 0x8 /* the object file's undefined references are bound by the dynamic linker when loaded. */ #define MH_PREBOUND 0x10 /* the file has its dynamic undefined references prebound. */ #define MH_SPLIT_SEGS 0x20 /* the file has its read-only and read-write segments split */ #define MH_LAZY_INIT 0x40 /* the shared library init routine is to be run lazily via catching memory faults to its writeable segments (obsolete) */ #define MH_TWOLEVEL 0x80 /* the image is using two-level name space bindings */ ... //太長,有興趣可以自己看源碼 // EXTERNAL_HEADERS/mach-o/x86_64/loader.h

同樣簡單的介紹幾個比較重要的。

Flag Type含義
MH_NOUNDEFS目標沒有未定義的符號,不存在鏈接依賴
MH_DYLDLINK該目標文件是dyld的輸入文件,無法被再次的靜態鏈接
MH_PIE允許隨機的地址空間
MH_ALLOW_STACK_EXECUTION棧內存可執行代碼,一般是默認關閉的。
MH_NO_HEAP_EXECUTION堆內存無法執行代碼

2.4 Headers小結

0x03 Load Commands

這是load_command的數據結構

1 2 3 4 struct load_command { uint32_t cmd; /* type of load command */ uint32_t cmdsize; /* total size of command in bytes */ };

Load Commands 直接就跟在Header后面,所有command占用內存的總和在Mach-O Header里面已經給出了。在加載過Header之后就是通過解析LoadCommand來加載接下來的數據了。我簡單的看了一下內核中是如何解析macho數據的,拋開內核的實現細節,邏輯其實也十分簡單。

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 static load_return_t parse_machfile( struct vnode *vp, vm_map_t map, thread_t thread, struct mach_header *header, off_t file_offset, off_t macho_size, int depth, int64_t aslr_offset, int64_t dyld_aslr_offset, load_result_t *result ) { [...] //此處省略大量初始化與檢測 /* * Loop through each of the load_commands indicated by the * Mach-O header; if an absurd value is provided, we just * run off the end of the reserved section by incrementing * the offset too far, so we are implicitly fail-safe. */ offset = mach_header_sz; ncmds = header->ncmds; while (ncmds--) { /* * Get a pointer to the command. */ lcp = (struct load_command *)(addr + offset); //lcp設為當前要解析的cmd的地址 oldoffset = offset; //oldoffset是從macho文件內存開始的地方偏移到當前command的偏移量 offset += lcp->cmdsize; //重新計算offset,再加上當前command的長度,offset的值為文件內存起始地址到下一個command的偏移量 /* * Perform prevalidation of the struct load_command * before we attempt to use its contents. Invalid * values are ones which result in an overflow, or * which can not possibly be valid commands, or which * straddle or exist past the reserved section at the * start of the image. */ if (oldoffset > offset || lcp->cmdsize < sizeof(struct load_command) || offset > header->sizeofcmds + mach_header_sz) { ret = LOAD_BADMACHO; break; } //做了一個檢測,與如何加載進入內存無關 /* * Act on struct load_command's for which kernel * intervention is required. */ switch(lcp->cmd) { case LC_SEGMENT: [...] ret = load_segment(lcp, header->filetype, control, file_offset, macho_size, vp, map, slide, result); break; case LC_SEGMENT_64: [...] ret = load_segment(lcp, header->filetype, control, file_offset, macho_size, vp, map, slide, result); break; case LC_UNIXTHREAD: if (pass != 1) break; ret = load_unixthread( (struct thread_command *) lcp, thread, slide, result); break; case LC_MAIN: if (pass != 1) break; if (depth != 1) break; ret = load_main( (struct entry_point_command *) lcp, thread, slide, result); break; case LC_LOAD_DYLINKER: if (pass != 3) break; if ((depth == 1) && (dlp == 0)) { dlp = (struct dylinker_command *)lcp; dlarchbits = (header->cputype & CPU_ARCH_MASK); } else { ret = LOAD_FAILURE; } break; case LC_UUID: if (pass == 1 && depth == 1) { ret = load_uuid((struct uuid_command *) lcp, (char *)addr + mach_header_sz + header->sizeofcmds, result); } break; case LC_CODE_SIGNATURE: [...] ret = load_code_signature( (struct linkedit_data_command *) lcp, vp, file_offset, macho_size, header->cputype, result); [...] break; #if CONFIG_CODE_DECRYPTION case LC_ENCRYPTION_INFO: case LC_ENCRYPTION_INFO_64: if (pass != 3) break; ret = set_code_unprotect( (struct encryption_info_command *) lcp, addr, map, slide, vp, file_offset, header->cputype, header->cpusubtype); if (ret != LOAD_SUCCESS) { printf("proc %d: set_code_unprotect() error %d " "for file \"%s\"\n", p->p_pid, ret, vp->v_name); /* * Don't let the app run if it's * encrypted but we failed to set up the * decrypter. If the keys are missing it will * return LOAD_DECRYPTFAIL. */ if (ret == LOAD_DECRYPTFAIL) { /* failed to load due to missing FP keys */ proc_lock(p); p->p_lflag |= P_LTERM_DECRYPTFAIL; proc_unlock(p); } psignal(p, SIGKILL); } break; #endif default: /* Other commands are ignored by the kernel */ ret = LOAD_SUCCESS; break; } if (ret != LOAD_SUCCESS) break; } if (ret != LOAD_SUCCESS) break; } [...] //此處略去加載之后的處理代碼 }

3.1cmdsize字段

這里主要看while循環剛剛進入的時候幾行代碼,來理解是如何通過load_command的cmd字段來解析Macho文件的數據。

1 2 3 4 5 6 7 8 ... lcp = (struct load_command *)(addr + offset); //lcp設為當前要解析的cmd的地址 oldoffset = offset; //oldoffset是從macho文件內存開始的地方偏移到當前command的偏移量 offset += lcp->cmdsize; //重新計算offset,再加上當前command的長度,offset的值為文件內存起始地址到下一個command的偏移量 ...

3.2 cmd字段

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 switch(lcp->cmd) { case LC_SEGMENT: [...] ret = load_segment(lcp, header->filetype, control, file_offset, macho_size, vp, map, slide, result); break; case LC_SEGMENT_64: [...] ret = load_segment(lcp, header->filetype, control, file_offset, macho_size, vp, map, slide, result); break; case LC_UNIXTHREAD: if (pass != 1) break; ret = load_unixthread( (struct thread_command *) lcp, thread, slide, result); break; case LC_MAIN: if (pass != 1) break; if (depth != 1) break; ret = load_main( (struct entry_point_command *) lcp, thread, slide, result); break; case LC_LOAD_DYLINKER: if (pass != 3) break; if ((depth == 1) && (dlp == 0)) { dlp = (struct dylinker_command *)lcp; dlarchbits = (header->cputype & CPU_ARCH_MASK); } else { ret = LOAD_FAILURE; } break; case LC_UUID: if (pass == 1 && depth == 1) { ret = load_uuid((struct uuid_command *) lcp, (char *)addr + mach_header_sz + header->sizeofcmds, result); } break; case LC_CODE_SIGNATURE: [...] ret = load_code_signature( (struct linkedit_data_command *) lcp, vp, file_offset, macho_size, header->cputype, result); [...] break; #if CONFIG_CODE_DECRYPTION case LC_ENCRYPTION_INFO: case LC_ENCRYPTION_INFO_64: if (pass != 3) break; ret = set_code_unprotect( (struct encryption_info_command *) lcp, addr, map, slide, vp, file_offset, header->cputype, header->cpusubtype); if (ret != LOAD_SUCCESS) { printf("proc %d: set_code_unprotect() error %d " "for file \"%s\"\n", p->p_pid, ret, vp->v_name); /* * Don't let the app run if it's * encrypted but we failed to set up the * decrypter. If the keys are missing it will * return LOAD_DECRYPTFAIL. */ if (ret == LOAD_DECRYPTFAIL) { /* failed to load due to missing FP keys */ proc_lock(p); p->p_lflag |= P_LTERM_DECRYPTFAIL; proc_unlock(p); } psignal(p, SIGKILL); } break; #endif default: /* Other commands are ignored by the kernel */ ret = LOAD_SUCCESS; break; }

從這一段代碼可以看出,根據cmd字段的類型不同,使用了不同的函數來加載。簡單的列出一張表看一看在內核代碼中不同的command類型都有哪些作用。

Command類型處理函數用途
LC_SEGMENT;LC_SEGMENT_64load_segment將segment中的數據加載并映射到進程的內存空間去
LC_LOAD_DYLINKERload_dylinker調用/usr/lib/dyld程序
LC_UUIDload_uuid加載128-bit的唯一ID
LC_THREADload_thread開啟一個MACH線程,但是不分配棧空間。
LC_UNIXTHREADload_unixthread開啟一個UNIX線程
LC_CODE_SIGNATUREload_code_signature進行數字簽名
LC_ENCRYPTION_INFOset_code_unprotect加密二進制文件

0x04 Segment&Section

加載數據時,主要加載的就是LC_SEGMET活著LC_SEGMENT_64。其他的Segment的用途在上一節已經簡單的介紹了,這里不做深究。

LCSEGMENT以及LC_SEGMENT_64的數據結構是這樣的。

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 struct segment_command { /* for 32-bit architectures */ uint32_t cmd; /* LC_SEGMENT */ uint32_t cmdsize; /* includes sizeof section structs */ char segname[16]; /* segment name */ uint32_t vmaddr; /* memory address of this segment */ uint32_t vmsize; /* memory size of this segment */ uint32_t fileoff; /* file offset of this segment */ uint32_t filesize; /* amount to map from the file */ vm_prot_t maxprot; /* maximum VM protection */ vm_prot_t initprot; /* initial VM protection */ uint32_t nsects; /* number of sections in segment */ uint32_t flags; /* flags */ }; struct segment_command_64 { /* for 64-bit architectures */ uint32_t cmd; /* LC_SEGMENT_64 */ uint32_t cmdsize; /* includes sizeof section_64 structs */ char segname[16]; /* segment name */ uint64_t vmaddr; /* memory address of this segment */ uint64_t vmsize; /* memory size of this segment */ uint64_t fileoff; /* file offset of this segment */ uint64_t filesize; /* amount to map from the file */ vm_prot_t maxprot; /* maximum VM protection */ vm_prot_t initprot; /* initial VM protection */ uint32_t nsects; /* number of sections in segment */ uint32_t flags; /* flags */ };

可以看出,這里大部分的數據是用來幫助內核將Segment映射到虛擬內存的。主要要關注的是nsects

字段,標示了Segment中有多少secetion。section是具體有用的數據存放的地方。

Section的數據結構如下:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 struct section { /* for 32-bit architectures */ char sectname[16]; /* name of this section */ char segname[16]; /* segment this section goes in */ uint32_t addr; /* memory address of this section */ uint32_t size; /* size in bytes of this section */ uint32_t offset; /* file offset of this section */ uint32_t align; /* section alignment (power of 2) */ uint32_t reloff; /* file offset of relocation entries */ uint32_t nreloc; /* number of relocation entries */ uint32_t flags; /* flags (section type and attributes)*/ uint32_t reserved1; /* reserved (for offset or index) */ uint32_t reserved2; /* reserved (for count or sizeof) */ }; struct section_64 { /* for 64-bit architectures */ char sectname[16]; /* name of this section */ char segname[16]; /* segment this section goes in */ uint64_t addr; /* memory address of this section */ uint64_t size; /* size in bytes of this section */ uint32_t offset; /* file offset of this section */ uint32_t align; /* section alignment (power of 2) */ uint32_t reloff; /* file offset of relocation entries */ uint32_t nreloc; /* number of relocation entries */ uint32_t flags; /* flags (section type and attributes)*/ uint32_t reserved1; /* reserved (for offset or index) */ uint32_t reserved2; /* reserved (for count or sizeof) */ uint32_t reserved3; /* reserved */ };

除了同樣有幫助內存映射的變量外,在了解Mach-O格式的時候,只需要知道不同的Section有著不同的作用就可以了。

Section作用
__text代碼
__cstring硬編碼的字符串
__constconst 關鍵詞修飾過的變量
__DATA.__bssbss段

因為section類型已經是最小的分類了,還有更多復雜section段就不一一例舉了,遇到沒見過的section類型可以自行查找Apple文檔。

0x05 小結

通過對Mach-O格式的仔細分析,可以更好的理解Mach-O文件的加載過程,為研究dyld或者其他OS X系統下的模塊打好基礎。

參考

1.mach-o文件加載的全過程(1)

http://dongaxis.github.io/2015/01/01/mac-o%E6%96%87%E4%BB%B6%E5%8A%A0%E8%BD%BD%E7%9A%84%E5%85%A8%E8%BF%87%E7%A8%8B-1/

2.Mach-O 可執行文件

http://objccn.io/issue-6-3/

3.iPhone Mach-O文件格式與代碼簽名

http://zhiwei.li/text/2012/02/15/iphone-mach-o%E6%96%87%E4%BB%B6%E6%A0%BC%E5%BC%8F%E4%B8%8E%E4%BB%A3%E7%A0%81%E7%AD%BE%E5%90%8D/

4.Dynamic Linking of Imported Functions in Mach-O

http://www.codeproject.com/Articles/187181/Dynamic-Linking-of-Imported-Functions-in-Mach-O

5.otool詳解Mach-o文件頭部

http://www.mc2lab.com/?p=68


原文地址: http://turingh.github.io/2016/03/07/mach-o%E6%96%87%E4%BB%B6%E6%A0%BC%E5%BC%8F%E5%88%86%E6%9E%90/

總結

以上是生活随笔為你收集整理的mach-o格式分析的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

久久综合给合久久狠狠色 | 中文字幕日韩国产 | 色狠狠综合天天综合综合 | 欧美成人在线免费观看 | 国产手机在线播放 | 国产美女免费观看 | 亚洲激情小视频 | 亚洲精品成人免费 | 国产精品私人影院 | 成人在线视频免费 | 亚洲精品9| 国产精品18久久久久久久久 | 色婷婷综合五月 | 亚洲综合网 | 久久草草热国产精品直播 | 色爱区综合激月婷婷 | 91av视频播放 | 欧美成年黄网站色视频 | 国产精品久久片 | 久久伊人国产精品 | 欧美小视频在线观看 | 国产精品久久99综合免费观看尤物 | 91av视频免费观看 | 最新av在线网址 | 五月激情久久久 | 麻豆91小视频 | 婷婷中文在线 | 在线看成人 | 婷婷成人在线 | 一区二区亚洲精品 | 亚洲国产高清视频 | 久久久综合九色合综国产精品 | 黄色的视频网站 | 免费观看国产成人 | 免费涩涩网站 | 亚洲国产黄色片 | 中文字幕乱视频 | 久久精品国产v日韩v亚洲 | 中文字幕在线日本 | 美女福利视频在线 | 天天插天天爽 | 日韩在线播放av | 美女精品在线观看 | 激情五月色播五月 | 色五月情 | 久久视频国产精品免费视频在线 | 97夜夜澡人人爽人人免费 | 在线成人一区 | 欧美久久精品 | 成人欧美一区二区三区黑人麻豆 | 午夜精品视频一区二区三区在线看 | 久久久美女 | 超碰在线色 | 国产亚洲激情视频在线 | 亚洲天堂在线观看完整版 | 五月婷网| 久久欧美精品 | 色噜噜在线观看视频 | 久久久精品二区 | 波多野结衣在线中文字幕 | 午夜精品一区二区三区四区 | 青青河边草免费观看 | 一区二区三区中文字幕在线 | 麻豆国产视频下载 | 人人爱人人做人人爽 | 亚洲精品一区二区三区四区高清 | 欧美孕交vivoestv另类 | 国产区av在线 | 久久免费高清视频 | 精品一区电影国产 | 在线观看av国产 | 色综合天天色综合 | 国产精品久久久久久久久毛片 | 欧美日韩免费一区二区 | 欧美精品视 | 成人久久亚洲 | www.婷婷com| 亚洲高清av在线 | 二区精品视频 | 成人av电影在线播放 | 亚洲高清视频一区二区三区 | 国产精品美女久久久久久2018 | 国产精品一区在线 | 在线播放你懂 | 久久视频在线免费观看 | 天天透天天插 | 国产视频1区2区 | 狠狠干中文字幕 | 欧美日韩xxx | 成人在线免费小视频 | 免费观看性生交 | 中文字幕av在线播放 | 一本一本久久a久久精品综合 | 欧美成年人在线观看 | 国产精品高潮呻吟久久av无 | 久久草在线免费 | 国产精品手机在线播放 | 国产亚洲一区二区三区 | а中文在线天堂 | 亚洲精品视频中文字幕 | 欧美一二三视频 | 婷婷夜夜 | 亚洲激情视频在线观看 | 99精品国产一区二区三区麻豆 | 美女国内精品自产拍在线播放 | 成人a视频片观看免费 | 精品亚洲视频在线观看 | 操老逼免费视频 | 日韩电影中文,亚洲精品乱码 | aaa毛片视频 | 在线只有精品 | 伊人五月天| 又大又硬又黄又爽视频在线观看 | 亚洲精品18日本一区app | 久久亚洲免费 | 国产精品乱码久久久 | 精品人妖videos欧美人妖 | 国产xxxx做受性欧美88 | 国产精品视频999 | 成年人电影免费在线观看 | 天天草天天草 | 97超碰人人网 | 色视频在线观看免费 | 中文字幕日本特黄aa毛片 | 亚洲另类xxxx| 天天干天天拍天天操 | 午夜免费久久看 | www.黄色 | 98福利在线| 精品在线一区二区三区 | 亚洲精品男女 | 久久婷亚洲五月一区天天躁 | 国产不卡免费视频 | 91尤物国产尤物福利在线播放 | 91视频免费看 | 久久天天操 | 色噜噜日韩精品欧美一区二区 | 中文字幕在线网址 | 99亚洲国产精品 | 亚洲欧美国产视频 | 国内精自线一二区永久 | 欧美精品一区二区蜜臀亚洲 | 久久爱综合 | 三日本三级少妇三级99 | 日韩av免费一区 | 国产一二区视频 | 成人91av| 特级片免费看 | 国产在线精品二区 | 久久五月婷婷丁香社区 | 国产午夜精品一区 | 日韩手机在线观看 | 免费黄色av电影 | 99免费精品视频 | 欧美日韩超碰 | 一区 在线 影院 | 亚洲精品视频第一页 | 国产专区视频在线观看 | 色姑娘综合天天 | 免费久久99精品国产 | 国产精品久久久久久久久久白浆 | 成人精品久久久 | 91黄在线看| 在线影视 一区 二区 三区 | 在线va视频| 99精品视频免费看 | 久草99 | 日韩网站在线 | 色吊丝在线永久观看最新版本 | 国产高清小视频 | 久久久久久久久亚洲精品 | 久草久草在线观看 | 免费在线观看黄色网 | 国内精品久久久久国产 | 正在播放久久 | 欧美另类高清 videos | 国产精品色 | 国产在线p | 亚洲综合国产精品 | 国产精品va视频 | 五月婷婷视频在线 | 久久久国产精品一区二区三区 | 色婷婷激情五月 | 精品国产电影一区 | 日日摸日日添夜夜爽97 | 激情欧美网 | 免费日韩电影 | 99久久精品免费看国产 | 亚洲成人黄色av | 色www. | 亚洲国产日韩精品 | 国产一区观看 | 国产99色 | 国产a级免费| 久章草在线| 91一区啪爱嗯打偷拍欧美 | 四虎在线视频免费观看 | 国产精品日韩欧美 | 欧美精彩视频在线观看 | 国产欧美日韩一区 | 黄色网址av| 日韩电影一区二区三区 | 国产精品久久久久一区二区三区共 | 欧美久草在线 | 国产午夜三级一区二区三 | 又黄又刺激的视频 | 国产 中文 日韩 欧美 | 中文字幕免费观看全部电影 | 欧美一区二区在线免费观看 | 日韩久久精品 | 国产女v资源在线观看 | 国产亚洲婷婷 | 精品一区二区在线免费观看 | 日韩精品视频免费看 | 国产九色在线播放九色 | 人人爱在线视频 | 中文字幕欲求不满 | 日韩二三区 | 一级做a视频 | av大全在线看| 99精品视频在线观看免费 | 久久午夜国产精品 | 超碰97在线看 | 色综合婷婷久久 | av线上看| 精品亚洲va在线va天堂资源站 | 天天天干夜夜夜操 | 日韩资源在线观看 | 伊人成人激情 | www.天天射| 亚洲国产视频网站 | 久av在线| 国产小视频国产精品 | 久久精品导航 | 亚洲综合小说电影qvod | 日韩偷拍精品 | 中文字幕av专区 | 久久久久久久影视 | 99久久精品视频免费 | 亚洲午夜小视频 | 日韩视频一 | 又黄又爽又无遮挡的视频 | 黄色软件在线观看 | 九九99视频 | 99久精品 | 久草免费在线视频观看 | 久久久久久高清 | 日韩电影一区二区三区在线观看 | 精品国产乱码久久久久久浪潮 | 亚洲午夜久久久综合37日本 | 精品国产综合区久久久久久 | 中文字幕第一页在线 | 91福利在线导航 | 极品美女被弄高潮视频网站 | 99久久精品免费视频 | 久久超碰97 | 国产成人黄色 | 国产精品久久久久久久久久ktv | 日韩狠狠操 | 欧美视频18| 美女网站免费福利视频 | 黄色电影网站在线观看 | 亚洲成人xxx | 久久夜色精品国产欧美一区麻豆 | 国产破处视频在线播放 | 成人精品福利 | 97av在线视频 | 特片网久久 | 日韩一区二区三区免费视频 | 日韩av电影中文字幕 | 欧美日韩免费观看一区=区三区 | 亚洲高清视频在线播放 | 国产精品久久网 | aa级黄色大片 | 免费观看一区二区三区视频 | 久久这里只有精品9 | 国产一区二区三区免费在线观看 | 人人狠 | 伊人色综合久久天天 | 欧美精品久久久久久久久久白贞 | av免费播放 | 欧美天天综合 | 天天操天天射天天舔 | 四虎最新入口 | 日韩av一区二区三区四区 | 色午夜 | 97av精品| 免费看一及片 | 五月婷婷综合激情 | 人人干人人模 | 狠狠躁夜夜躁人人爽超碰97香蕉 | 不卡av电影在线观看 | 成人永久免费 | 久久手机在线视频 | 亚洲精品456在线播放第一页 | 51久久成人国产精品麻豆 | 精品播放| 国产一二三精品 | 久久成人福利 | 国产午夜三级 | 亚洲 欧美 变态 国产 另类 | 久草在在线视频 | 中文一区在线观看 | 亚洲国产成人久久 | 久久久久国产精品视频 | 99精品在这里 | 欧美激情奇米色 | 婷婷久操 | 国产精品久久久久久久毛片 | 成人免费视频免费观看 | 天天躁天天躁天天躁婷 | 九九久久免费视频 | 国产精品 日韩精品 | 日操操| 精品欧美在线视频 | 欧美一级片在线免费观看 | 视频在线播放国产 | 97人人模人人爽人人喊中文字 | 在线中文字幕av观看 | 天天爽天天碰狠狠添 | 色综合天天射 | 激情综合五月天 | 国产精品国产三级国产 | 久久久久五月天 | 丁香在线| 久久精品中文 | 精品国内自产拍在线观看视频 | 99国产精品免费网站 | 久久久精品综合 | 在线播放日韩 | 96久久久| 国产精品成人av在线 | 欧美另类sm图片 | 日韩动漫免费观看高清完整版在线观看 | 欧美一二三四在线 | 97色在线视频| 色天天综合网 | 色综合 久久精品 | 精品中文字幕视频 | 麻豆影视网站 | 在线看的av网站 | 亚洲高清在线视频 | 在线观看国产区 | 99久久99久久综合 | 日本爱爱免费视频 | 国产精品久久久久久久久岛 | 国产 日韩 在线 亚洲 字幕 中文 | 在线黄色国产电影 | 中文永久字幕 | 国产免费黄视频在线观看 | 最新三级在线 | 久久精品一区二区三区中文字幕 | 国产涩涩网站 | 色av色av色av | 国产精品二区在线 | 久草色在线观看 | 国产免费xvideos视频入口 | 三级免费黄| 久久99国产一区二区三区 | 欧美精品久久久久久久久免 | 久久精品国产一区二区电影 | 亚洲婷婷网 | 视色网站| 久久精品中文字幕 | 五月天久久精品 | 黄色一级免费 | 国产精品女同一区二区三区久久夜 | 青青河边草观看完整版高清 | 国产精品免费一区二区三区 | 欧美激情另类文学 | 成年人免费在线播放 | 综合色天天 | 97国产情侣爱久久免费观看 | 成 人 黄 色 视频播放1 | 特级黄录像视频 | 808电影 | 亚洲高清在线观看视频 | 国产免费不卡 | 久久夜色精品国产亚洲aⅴ 91chinesexxx | 日韩大片在线免费观看 | www.xxxx欧美 | 日韩高清一| 免费高清看电视网站 | 久久高清 | 人人澡av | 久久99精品热在线观看 | 五月黄色| 91视频免费播放 | 看毛片的网址 | 国产无套精品久久久久久 | 黄色一级大片免费看 | 久久综合加勒比 | 亚洲精品视频在线播放 | 黄色综合 | 国产成人av网 | 久久久久亚洲a | 国产美女精品人人做人人爽 | 亚洲国产成人久久 | 中文在线a√在线 | 激情五月在线观看 | 久久av伊人 | 91中文字幕在线播放 | 婷婷激情综合网 | 久久久久国产一区二区三区四区 | 成人在线视频免费看 | 日韩极品视频在线观看 | 高清不卡一区二区在线 | 日韩电影在线视频 | 国内一级片在线观看 | 在线免费av网站 | 五月亚洲 | 五月婷婷在线综合 | 亚洲精品国产欧美在线观看 | 国产精品国产三级在线专区 | 亚洲精品视频免费在线观看 | 最近中文字幕视频网 | 99视频播放 | 精品久久中文 | 国产精品综合久久久久久 | 亚洲精品av中文字幕在线在线 | 亚洲成人国产精品 | 日韩区欠美精品av视频 | 国产午夜免费视频 | 欧美怡红院视频 | 超碰com| 国产高清视频免费观看 | 天天干天天射天天操 | 色美女在线 | 亚洲国产精彩中文乱码av | 精品字幕在线 | 黄色特级片 | 麻豆精品在线视频 | 欧美日韩精品在线观看 | 国产原厂视频在线观看 | 92中文资源在线 | 成人黄色片在线播放 | 色wwwww| 久久久国产一区二区三区四区小说 | 亚洲一级影院 | www日韩在线| 亚洲电影在线看 | 五月天久久精品 | 亚洲人成人99网站 | 国产精品岛国久久久久久久久红粉 | 992tv又爽又黄的免费视频 | av在线播放网址 | 成人app在线播放 | 五月婷婷激情六月 | 狠狠躁日日躁狂躁夜夜躁av | 日本特黄一级片 | 国产黄视频在线观看 | 极品久久久久 | 国产亚洲在线视频 | 成人18视频| 91在线91拍拍在线91 | 天堂成人在线 | 天天色天天上天天操 | www日| 久久久片 | 久久综合九色综合欧美就去吻 | 99在线观看免费视频精品观看 | 中文字幕在线观看免费 | 国产成人61精品免费看片 | 亚洲视频精品在线 | 正在播放 国产精品 | 27xxoo无遮挡动态视频 | 99999精品视频| 国产美女精品人人做人人爽 | 婷婷日韩| 久青草国产在线 | 久久久久久欧美二区电影网 | 久久精品一区二区国产 | 亚洲一级片| 欧美在线视频二区 | 亚洲高清av在线 | 在线影视 一区 二区 三区 | 免费黄色a网站 | 国产在线一卡 | 99一区二区三区 | 欧美日韩在线视频观看 | 韩日av在线| 91精品一区在线观看 | 国产午夜在线观看视频 | 可以免费观看的av片 | 美国av片在线观看 | 亚洲天堂精品视频 | 97av免费视频| 国产精在线 | 在线观看视频免费播放 | 久久久久久久久久久久国产精品 | 黄色毛片网站在线观看 | 国产精品国产亚洲精品看不卡15 | 国产天天爽 | 狠狠色丁香久久婷婷综合_中 | 亚洲免费在线观看视频 | 日韩成人在线一区二区 | 免费视频黄色 | 又黄又刺激的视频 | 免费aa大片| 久久久久久久久毛片精品 | 正在播放 国产精品 | 欧美最猛性xxxxx(亚洲精品) | 成人久久久久久久久久 | 精品国产视频一区 | 国产一线在线 | 在线播放国产精品 | 成人一级电影在线观看 | 日韩久久激情 | 久久久久久久久久影院 | 亚洲最大的av网站 | 国产一卡久久电影永久 | 久久婷婷一区 | 伊人中文字幕在线 | 特级西西444www大精品视频免费看 | 99久久免费看 | 久久香蕉一区 | 国产精久久 | 成人久久免费视频 | 在线综合色 | 99热在线精品观看 | 日韩av高清| 久久精品视频网 | 亚洲国产影院 | 久久五月天色综合 | 久久久久国产a免费观看rela | 韩日电影在线免费看 | 午夜视频黄 | 香蕉视频网址 | 久久久久国产a免费观看rela | 91av免费观看| 精品国产一区二区三区日日嗨 | 最近高清中文字幕 | 色婷婷啪啪免费在线电影观看 | 久久久国产精品视频 | 99热99| 欧美福利视频 | 色婷婷中文 | 国产精品嫩草影院99网站 | 色七七亚洲影院 | 日韩三级中文字幕 | 午夜精品福利一区二区三区蜜桃 | 色网站视频 | 国产精品久久久久aaaa九色 | 黄色tv视频 | 奇米网网址 | 国产91丝袜在线播放动漫 | 中文成人字幕 | 国产免费久久精品 | 日韩欧美精品一区 | 免费看的黄网站软件 | 国产亚洲视频在线观看 | 国产999久久久 | 伊人天天色 | 热久久精品在线 | 91视频3p| 午夜精品久久久久久久久久久久 | 午夜少妇| 国产一级黄色免费看 | 亚洲激情视频在线观看 | 日韩黄色中文字幕 | 99热最新精品 | 91在线视频网址 | 国产中文字幕一区二区三区 | 中文亚洲欧美日韩 | 中文字幕国产 | 日本性xxxxx| 99爱这里只有精品 | 久久99热精品 | 色综合久久久久久中文网 | 欧美日韩中文国产 | 亚洲区视频在线 | 亚洲香蕉视频 | av免费黄色| 久久国产高清 | 欧美性脚交 | 超碰97.com| 中文字幕 影院 | 免费a v视频 | 久久久国产精品网站 | 国产黄在线 | 高清av在线免费观看 | 91人人爱| 国产亚洲在| 天天干,天天草 | 中文在线最新版天堂 | 91精品国产一区二区在线观看 | 天天看天天操 | 亚洲成人av在线播放 | 久久久久久久久艹 | 国产黄色免费在线观看 | 五月婷婷视频 | 亚洲综合成人专区片 | 久久久一本精品99久久精品 | 国产亚洲精品日韩在线tv黄 | 开心激情久久 | 国产黄色精品在线 | 特级西西444www大精品视频免费看 | 丁香电影小说免费视频观看 | 黄色免费网站 | 91精品影视| av电影一区| 国产亚洲成av片在线观看 | 精品久久久久久久久久岛国gif | 色噜噜噜噜 | 国产福利在线免费 | 日韩在线观看视频免费 | 国产 视频 久久 | 精品视频区 | 在线观看一级片 | 国产字幕av | 久久久久免费视频 | 天天干天天做天天爱 | 亚洲精品一区二区久 | 亚洲精品动漫在线 | 狠狠色噜噜狠狠狠 | a级国产乱理伦片在线播放 久久久久国产精品一区 | 精品视频在线观看 | 激情丁香在线 | 亚洲精品乱码久久久久久蜜桃不爽 | 91一区二区三区久久久久国产乱 | 999在线视频 | 黄色精品网站 | 中文字幕在线国产精品 | 免费视频你懂的 | 伊人久久在线观看 | 在线a视频免费观看 | a视频在线播放 | 91在线免费公开视频 | 国产精品高潮呻吟久久av无 | 国产成人精品一区二区三区网站观看 | 国产99久久九九精品免费 | 日日操夜 | 精品视频免费 | 操操综合| 97人人射 | 在线导航av | 日韩精品一区二区在线观看视频 | 免费男女羞羞的视频网站中文字幕 | 亚洲电影影音先锋 | 黄色精品久久 | 国产中文伊人 | 欧美一级久久 | 亚洲欧美视频在线观看 | 亚洲爱爱视频 | 天堂在线v | 欧美性猛片 | 亚洲欧美日韩中文在线 | 丁香电影小说免费视频观看 | 91久久精品日日躁夜夜躁国产 | 又湿又紧又大又爽a视频国产 | 99色国产 | 国产黄色大片 | 国产一级精品在线观看 | 婷婷久久综合网 | 日韩av中文在线观看 | 欧美另类sm图片 | 激情欧美一区二区免费视频 | 91中文在线观看 | 亚洲视频免费视频 | 91久久精品一区二区三区 | 玖玖爱在线观看 | 91一区二区三区久久久久国产乱 | 九九热国产视频 | 成人在线视频网 | 久久av中文字幕片 | 欧美日韩国产精品一区二区 | 在线免费观看欧美日韩 | 亚洲午夜久久久久久久久电影网 | 日日久视频 | 免费影视大全推荐 | 99精品一区二区 | 九九九热精品免费视频观看网站 | 经典三级一区 | 亚洲精品一区二区三区在线观看 | 在线观看亚洲视频 | 99视频在线观看视频 | 亚洲做受高潮欧美裸体 | 最近2019中文免费高清视频观看www99 | 国产精品久久久久久久午夜片 | 日韩激情一二三区 | 麻豆一区二区 | 免费日韩av电影 | 亚洲 欧美 另类人妖 | 久久国产精品色av免费看 | 久久综合婷婷国产二区高清 | 日韩一区二区三 | 人人爽人人香蕉 | 91久久精品一区二区二区 | av电影在线免费 | 怡春院av | 九九热av | 97超碰资源网 | 丁香婷婷综合网 | 国产视频手机在线 | 五月婷婷一区二区三区 | 欧美成人日韩 | 丝袜制服综合网 | 一区二区不卡视频在线观看 | 蜜臀久久99精品久久久酒店新书 | 久久国产精品二国产精品中国洋人 | 欧美aⅴ在线观看 | 国产精品久久久久久久毛片 | av网址最新| 精品96久久久久久中文字幕无 | 国产亚洲视频在线观看 | 国产一级黄色片免费看 | 91香蕉视频在线下载 | 国产专区精品视频 | 91麻豆精品国产91久久久久久 | 在线视频第一页 | 日日夜夜亚洲 | 欧美一区,二区 | 9999亚洲| 丁香久久五月 | 91丨九色丨国产在线 | 成人一级在线 | 精品福利在线 | 亚洲在线成人精品 | 欧美一级黄色视屏 | 日韩在线观看小视频 | 久久婷亚洲五月一区天天躁 | 成年人在线播放视频 | 免费看十八岁美女 | 亚洲资源视频 | 婷婷丁香狠狠爱 | 日韩精品久久久久久中文字幕8 | 午夜精品导航 | 人人玩人人添人人澡超碰 | 蜜臀av性久久久久蜜臀aⅴ涩爱 | 亚洲黄色app | 日韩在线视频免费播放 | 成人一区二区在线 | 九九色视频| 久久精品成人欧美大片古装 | 亚洲精品高清在线观看 | 日日干夜夜操视频 | 国产精品久久久久久久久久不蜜月 | 色婷婷国产在线 | 亚洲精品免费观看视频 | 99精品在这里| 99久久久国产精品免费99 | 激情视频综合网 | 在线免费黄色av | 免费看特级毛片 | 一级免费av | 久久久高清免费视频 | 性色va| 国产精品久久久久久久av电影 | 精品久久久久久久久久岛国gif | 免费黄av| 在线观看韩日电影免费 | 日韩精品中文字幕在线播放 | 亚洲专区在线 | 精品在线亚洲视频 | 国产成人一区三区 | 日韩精品一区二区三区视频播放 | 99在线国产 | 久草香蕉在线视频 | 高清av免费看| 在线精品一区二区 | 中文字幕欧美三区 | 亚洲国产中文字幕在线观看 | 日本黄色大片免费 | 国产资源在线免费观看 | 精品毛片一区二区免费看 | 国产麻豆电影 | 97国产在线视频 | 成人av网站在线播放 | 日韩有码欧美 | 亚洲天堂网在线观看视频 | 91成人在线免费观看 | 国产偷国产偷亚洲清高 | 99精品视频免费在线观看 | 久久精品九色 | 中文在线字幕观看电影 | 黄色a三级| 国产区欧美 | 免费看的黄网站软件 | a电影免费看 | 久久精品亚洲一区二区三区观看模式 | 黄色a在线 | 中文字幕中文 | 天天干天天插伊人网 | 黄色一级大片在线免费看国产一 | 久久国产热 | 国产色区 | 国产品久精国精产拍 | 中文字幕丝袜一区二区 | 国产高清视频免费在线观看 | 中文字幕成人在线 | 99热在线精品观看 | 欧美激情视频在线观看免费 | 亚洲成人在线免费 | 久久一视频 | 免费看的黄网站 | 黄色小说网站在线 | 国产精品久久久久久久久久久久午夜 | 久艹视频在线观看 | 999久久国精品免费观看网站 | 激情文学丁香 | 欧美一区二区三区免费看 | 国产成人精品一区二区三区在线观看 | 久久久久久久久久久国产精品 | 精品国产成人av在线免 | 视频一区视频二区在线观看 | 丁香婷婷综合激情 | 亚洲欧美乱综合图片区小说区 | 午夜精品久久久久久 | 夜夜澡人模人人添人人看 | 亚洲高清网站 | 日韩av女优视频 | 国产亚洲视频系列 | 色免费在线 | 91九色性视频 | 麻豆av电影| 国产精品一区二区在线免费观看 | 黄色成人影视 | 麻豆视频在线看 | 国产综合福利在线 | 日韩区视频 | 在线观看理论 | 亚洲一区二区麻豆 | 韩国av一区二区三区 | 欧美日韩一区三区 | 在线高清| 日本女人b | 在线观看av免费观看 | 在线观看日本高清mv视频 | 日韩欧美在线视频一区二区 | 日韩精品中文字幕在线观看 | 黄色小视频在线观看免费 | 99免费在线| www.com久久| 成人在线黄色电影 | 成年人在线观看网站 | 四虎在线免费视频 | 午夜婷婷综合 | 国产精品mm | 国产99在线 | 在线91观看 | 国产免费一区二区三区网站免费 | 久久有精品| 一区二区视频在线看 | 亚洲无线视频 | 久久久99精品免费观看app | 天天操福利视频 | 手机成人免费视频 | 视频国产一区二区三区 | 国产一卡二卡在线 | 国产精品不卡在线 | 国产人免费人成免费视频 | 精品国产乱码久久久久久1区二区 | 人人干人人做 | 亚洲视频专区在线 | 国产黄色大片 | 毛片随便看 | 天天干天天做 | 日韩最新在线 | 日韩欧美精品在线视频 | av三区在线 | 久久免费看a级毛毛片 | 色综合久久88色综合天天人守婷 | 又黄又爽又色无遮挡免费 | 成年人免费观看国产 | 国产三级午夜理伦三级 | 中文字幕中文字幕在线中文字幕三区 | 在线观看电影av | 国产黄a三级 | 亚洲一区日韩在线 | 免费观看成人av | 天天曰夜夜爽 | 啪嗒啪嗒免费观看完整版 | 国产91国语对白在线 | 国产黄影院色大全免费 | 国产精品成久久久久 | av免费电影在线观看 | 免费高清在线视频一区· | 欧美精品天堂 | 亚洲永久av | 天堂激情网 | 999成人免费视频 | 狠狠干天天射 | 久久草草热国产精品直播 | 成人久久18免费网站 | 国产精品一区二区你懂的 | 91在线观看视频 | 国产中文字幕免费 | 免费av看片 | 黄色网在线免费观看 | 九九色在线观看 | 国产在线播放一区二区三区 | 激情久久久久 | 开心综合网 | 欧美一二在线 | 免费久久99精品国产 | 97天天干 | 国产亚洲精品久久久久久电影 | 久久超碰在线 | 贫乳av女优大全 | 午夜影视一区 | 国产色在线观看 | 天天干天天干天天干天天干天天干天天干 | 久久久久久久久久久久久影院 | 人人揉人人揉人人揉人人揉97 | 91久久偷偷做嫩草影院 | 91国内在线 | 九九影视理伦片 | 欧美成人精品三级在线观看播放 | 成人影视免费 | 久久免费a | 色资源在线观看 | 日本福利视频在线 | 欧美日本日韩aⅴ在线视频 插插插色综合 | 色天天综合久久久久综合片 | 色狠狠综合天天综合综合 | 中文字幕在线字幕中文 | 丝袜制服天堂 | 少妇av片| 日韩高清一区 | 在线视频免费观看 | 久草在线中文888 | 特黄色大片| www中文在线 | 日韩网站一区 | 97色在线观看免费视频 | 开心激情网五月天 | 国产成人一区二区精品非洲 | www91在线观看 | 亚洲激情婷婷 | 亚洲日本va在线观看 | 国产另类av | 亚洲一区免费在线 | 最近中文字幕免费 | 婷婷综合国产 | 婷婷丁香在线视频 | 日本中文字幕高清 | 99国内精品 | 四虎在线视频免费观看 | 久久久久久中文字幕 | 女人久久久久 | 91成人在线观看喷潮 | 国外av在线 | 天天综合天天做天天综合 | 国产精品不卡 | 一区二区不卡视频在线观看 | 亚洲第一香蕉视频 | 亚洲欧洲一区二区在线观看 | 久久免费视频这里只有精品 | 三级黄免费看 | 99热这里精品 | 蜜桃av久久久亚洲精品 | 国产精品一区二区三区观看 | 免费日韩一区 | 狠狠色噜噜狠狠狠狠 | 国产免费久久久久 | 亚洲欧美日韩精品久久久 | 99热9| 日韩精品一区二区电影 | 成年人在线看片 | 狠狠操综合 | 98精品国产自产在线观看 | 国产精品黄网站在线观看 | 综合网av | 亚洲久在线 | 伊人射 | 伊人久久精品久久亚洲一区 | 国产一区二区日本 | 久久精品一区二区三 | av不卡中文| 黄色一级大片在线观看 | 中文字幕人成乱码在线观看 | 91在线免费播放 | 天天色天天草天天射 | 国产精品久久久网站 | 99久久爱| 区一区二区三在线观看 | 日韩综合在线观看 | 日韩精品一区二区三区电影 | 日本二区三区在线 | 午夜美女网站 | 日韩免费看片 | 国产成人三级一区二区在线观看一 | 欧美午夜精品久久久久 | 草久久精品 | 99国产精品一区二区 | 91av视频网| 国产一区二区在线播放 | 制服丝袜亚洲 | 91在线免费播放视频 | 欧美日韩精品免费观看视频 | 日韩高清在线一区 | 亚洲免费精品一区二区 | 国产福利91精品一区二区三区 | av免费观看在线 | 亚洲一区二区三区精品在线观看 | 久久成人一区二区 | 在线观看免费色 | 亚洲国产欧美在线看片xxoo |