国产日韩精品成人欧美直接观看,国产a情人一区二区国产,亚洲激情av图片区,国产一区二区伦理免费看,国产又粗又爽视频免费,视频一区,视频二区,视频三区,一本久久97精品亚洲,日韩欧美制服诱惑中文字幕,中文字幕在线中文字幕一区

設(shè)置
  • 日夜間
    隨系統(tǒng)
    淺色
    深色
  • 主題色

你寫的代碼是如何跑起來的

開發(fā)內(nèi)功修煉 2022/12/25 19:33:02 責(zé)編:遠(yuǎn)生

本文來自微信公眾號(hào):開發(fā)內(nèi)功修煉 (ID:kfngxl),作者:張彥飛 allen

大家好,我是飛哥!

今天我們來思考一個(gè)簡(jiǎn)單的問題,一個(gè)程序是如何在 Linux 上執(zhí)行起來的?

我們就拿全宇宙最簡(jiǎn)單的 Hello World 程序來舉例。

#include <stdio.h>
int main()
{
   printf("Hello, World!\n");
   return 0;
}

我們?cè)趯懲甏a后,進(jìn)行簡(jiǎn)單的編譯,然后在 shell 命令行下就可以把它啟動(dòng)起來。

# gcc main.c -o helloworld
# ./helloworld
Hello, World!

那么在編譯啟動(dòng)運(yùn)行的過程中都發(fā)生了哪些事情了呢?今天就讓我們來深入地了解一下。

一、理解可執(zhí)行文件格式

源代碼在編譯后會(huì)生成一個(gè)可執(zhí)行程序文件,我們先來了解一下編譯后的二進(jìn)制文件是什么樣子的。

我們首先使用 file 命令查看一下這個(gè)文件的格式。

# file helloworld
helloworld: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), ...

file 命令給出了這個(gè)二進(jìn)制文件的概要信息,其中 ELF 64-bit LSB executable 表示這個(gè)文件是一個(gè) ELF 格式的 64 位的可執(zhí)行文件。x86-64 表示該可執(zhí)行文件支持的 cpu 架構(gòu)。

LSB 的全稱是 Linux Standard Base,是 Linux 標(biāo)準(zhǔn)規(guī)范。其目的是制定一系列標(biāo)準(zhǔn)來增強(qiáng) Linux 發(fā)行版的兼容性。

ELF 的全稱是 Executable Linkable Format,是一種二進(jìn)制文件格式。Linux 下的目標(biāo)文件、可執(zhí)行文件和 CoreDump 都按照該格式進(jìn)行存儲(chǔ)。

ELF 文件由四部分組成,分別是 ELF 文件頭 (ELF header)、Program header table、Section 和 Section header table。

接下來我們分幾個(gè)小節(jié)挨個(gè)介紹一下。

1.1 ELF 文件頭

ELF 文件頭記錄了整個(gè)文件的屬性信息。原始二進(jìn)制非常不便于觀察。不過我們有趁手的工具 - readelf,這個(gè)工具可以幫我們查看 ELF 文件中的各種信息。

我們先來看一下編譯出來的可執(zhí)行文件的 ELF 文件頭,使用 --file-header (-h) 選項(xiàng)即可查看。

# readelf --file-header helloworld
ELF Header:
  Magic:   7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00 
  Class:                             ELF64
  Data:                              2's complement, little endian
  Version:                           1 (current)
  OS/ABI:                            UNIX - System V
  ABI Version:                       0
  Type:                              EXEC (Executable file)
  Machine:                           Advanced Micro Devices X86-64
  Version:                           0x1
  Entry point address:               0x401040
  Start of program headers:          64 (bytes into file)
  Start of section headers:          23264 (bytes into file)
  Flags:                             0x0
  Size of this header:               64 (bytes)
  Size of program headers:           56 (bytes)
  Number of program headers:         11
  Size of section headers:           64 (bytes)
  Number of section headers:         30
  Section header string table index: 29

ELF 文件頭包含了當(dāng)前可執(zhí)行文件的概要信息,我把其中關(guān)鍵的幾個(gè)拿出來給大家解釋一下。

  • Magic:一串特殊的識(shí)別碼,主要用于外部程序快速地對(duì)這個(gè)文件進(jìn)行識(shí)別,快速地判斷文件類型是不是 ELF

  • Class:表示這是 ELF64 文件

  • Type:為 EXEC 表示是可執(zhí)行文件,其它文件類型還有 REL(可重定位的目標(biāo)文件)、DYN(動(dòng)態(tài)鏈接庫)、CORE(系統(tǒng)調(diào)試 coredump 文件)

  • Entry point address:程序入口地址,這里顯示入口在 0x401040 位置處

  • Size of this header:ELF 文件頭的大小,這里顯示是占用了 64 字節(jié)

以上幾個(gè)字段是 ELF 頭中對(duì) ELF 的整體描述。另外 ELF 頭中還有關(guān)于 program headers 和 section headers 的描述信息。

  • Start of program headers:表示 Program header 的位置

  • Size of program headers:每一個(gè) Program header 大小

  • Number of program headers:總共有多少個(gè) Program header

  • Start of section headers: 表示 Section header 的開始位置。

  • Size of section headers:每一個(gè) Section header 的大小

  • Number of section headers: 總共有多少個(gè) Section header

1.2 Program Header Table

在介紹 Program Header Table 之前我們展開介紹一下 ELF 文件中一對(duì)兒相近的概念 - Segment 和 Section。

ELF 文件內(nèi)部最重要的組成單位是一個(gè)一個(gè)的 Section。每一個(gè) Section 都是由編譯鏈接器生成的,都有不同的用途。例如編譯器會(huì)將我們寫的代碼編譯后放到 .text Section 中,將全局變量放到 .data 或者是 .bss Section 中。

但是對(duì)于操作系統(tǒng)來說,它不關(guān)注具體的 Section 是啥,它只關(guān)注這塊內(nèi)容應(yīng)該以何種權(quán)限加載到內(nèi)存中,例如讀,寫,執(zhí)行等權(quán)限屬性。因此相同權(quán)限的 Section 可以放在一起組成 Segment,以方便操作系統(tǒng)更快速地加載。

由于 Segment 和 Section 翻譯成中文的話,意思太接近了,非常不利于理解。所以本文中我就直接使用 Segment 和 Section 原汁原味的概念,而不是將它們翻譯成段或者是節(jié),這樣太容易讓人混淆了。

Program headers table 就是作為所有 Segments 的頭信息,用來描述所有的 Segments 的。

使用 readelf 工具的 --program-headers(-l)選項(xiàng)可以解析查看到這塊區(qū)域里存儲(chǔ)的內(nèi)容。

# readelf --program-headers helloworld
Elf file type is EXEC (Executable file)
Entry point 0x401040
There are 11 program headers, starting at offset 64

Program Headers:
  Type           Offset             VirtAddr           PhysAddr
     FileSiz            MemSiz              Flags  Align
  PHDR           0x0000000000000040 0x0000000000400040 0x0000000000400040
     0x0000000000000268 0x0000000000000268  R      0x8
  INTERP         0x00000000000002a8 0x00000000004002a8 0x00000000004002a8
     0x000000000000001c 0x000000000000001c  R      0x1
   [Requesting program interpreter: /lib64/ld-linux-x86-64.so.2]
  LOAD           0x0000000000000000 0x0000000000400000 0x0000000000400000
     0x0000000000000438 0x0000000000000438  R      0x1000
  LOAD           0x0000000000001000 0x0000000000401000 0x0000000000401000
     0x00000000000001c5 0x00000000000001c5  R E    0x1000
  LOAD           0x0000000000002000 0x0000000000402000 0x0000000000402000
     0x0000000000000138 0x0000000000000138  R      0x1000
  LOAD           0x0000000000002e10 0x0000000000403e10 0x0000000000403e10
     0x0000000000000220 0x0000000000000228  RW     0x1000
  DYNAMIC        0x0000000000002e20 0x0000000000403e20 0x0000000000403e20
     0x00000000000001d0 0x00000000000001d0  RW     0x8
  NOTE           0x00000000000002c4 0x00000000004002c4 0x00000000004002c4
     0x0000000000000044 0x0000000000000044  R      0x4
  GNU_EH_FRAME   0x0000000000002014 0x0000000000402014 0x0000000000402014
     0x000000000000003c 0x000000000000003c  R      0x4
  GNU_STACK      0x0000000000000000 0x0000000000000000 0x0000000000000000
     0x0000000000000000 0x0000000000000000  RW     0x10
  GNU_RELRO      0x0000000000002e10 0x0000000000403e10 0x0000000000403e10
     0x00000000000001f0 0x00000000000001f0  R      0x1

 Section to Segment ming:
  Segment Sections...
   00     
   01     .interp 
   02     .interp .note.gnu.build-id .note.ABI-tag .gnu.hash .dynsym .dynstr .gnu.version .gnu.version_r .rela.dyn .rela.plt 
   03     .init .plt .text .fini 
   04     .rodata .eh_frame_hdr .eh_frame 
   05     .init_array .fini_array .dynamic .got .got.plt .data .bss 
   06     .dynamic 
   07     .note.gnu.build-id .note.ABI-tag 
   08     .eh_frame_hdr 
   09     
   10     .init_array .fini_array .dynamic .got

上面的結(jié)果顯示總共有 11 個(gè) program headers。

對(duì)于每一個(gè)段,輸出了 Offset、VirtAddr 等描述當(dāng)前段的信息。Offset 表示當(dāng)前段在二進(jìn)制文件中的開始位置,F(xiàn)ileSiz 表示當(dāng)前段的大小。Flag 表示當(dāng)前的段的權(quán)限類型,R 表示可讀、E 表示可執(zhí)行、W 表示可寫。

在最下面,還把每個(gè)段是由哪幾個(gè) Section 組成的給展示了出來,比如 03 號(hào)段是由“.init .plt .text .fini” 四個(gè) Section 組成的。

1.3 Section Header Table

和 Program Header Table 不一樣的是,Section header table 直接描述每一個(gè) Section。這二者描述的其實(shí)都是各種 Section ,只不過目的不同,一個(gè)針對(duì)加載,一個(gè)針對(duì)鏈接。

使用 readelf 工具的 --section-headers (-S)選項(xiàng)可以解析查看到這塊區(qū)域里存儲(chǔ)的內(nèi)容。

# readelf --section-headers helloworld
There are 30 section headers, starting at offset 0x5b10:

Section Headers:
  [Nr] Name              Type             Address           Offset
    Size              EntSize          Flags  Link  Info  Align
  ......
  [13] .text             PROGBITS         0000000000401040  00001040
    0000000000000175  0000000000000000  AX       0     0     16
  ......
  [23] .data             PROGBITS         0000000000404020  00003020
    0000000000000010  0000000000000000  WA       0     0     8
  [24] .bss              NOBITS           0000000000404030  00003030
    0000000000000008  0000000000000000  WA       0     0     1
  ......    
Key to Flags:
  W (write), A (alloc), X (execute), M (merge), S (strings), I (info),
  L (link order), O (extra OS processing required), G (group), T (TLS),
  C (compressed), x (unknown), o (OS specific), E (exclude),
  l (large), p (processor specific)

結(jié)果顯示,該文件總共有 30 個(gè) Sections,每一個(gè) Section 在二進(jìn)制文件中的位置通過 Offset 列表示了出來。Section 的大小通過 Size 列體現(xiàn)。

在這 30 個(gè) Section 中,每一個(gè)都有獨(dú)特的作用。我們編寫的代碼在編譯成二進(jìn)制指令后都會(huì)放到 .text 這個(gè) Section 中。另外我們看到 .text 段的 Address 列顯示的地址是 0000000000401040?;貞浨懊嫖覀?cè)?ELF 文件頭中看到 Entry point address 顯示的入口地址為 0x401040。這說明,程序的入口地址就是 .text 段的地址。

另外還有兩個(gè)值得關(guān)注的 Section 是 .data 和 .bss。代碼中的全局變量數(shù)據(jù)在編譯后將在在這兩個(gè) Section 中占據(jù)一些位置。如下簡(jiǎn)單代碼所示。

//未初始化的內(nèi)存區(qū)域位于 .bss 段
int data1 ;     

//已經(jīng)初始化的內(nèi)存區(qū)域位于 .data 段
int data2 = 100 ;  

//代碼位于 .text 段
int main(void)
{
 
}

1.4 入口進(jìn)一步查看

接下來,我們想再查看一下我們前面提到的程序入口 0x401040,看看它到底是啥。我們這次再借助 nm 命令來進(jìn)一步查看一下可執(zhí)行文件中的符號(hào)及其地址信息。-n 選項(xiàng)的作用是顯示的符號(hào)以地址排序,而不是名稱排序。

# nm -n helloworld
     w __gmon_start__
     U __libc_start_main@@GLIBC_2.2.5
     U printf@@GLIBC_2.2.5
                 
0000000000401040 T _start

0000000000401126 T main

通過以上輸出可以看到,程序入口 0x401040 指向的是 _start 函數(shù)的地址,在這個(gè)函數(shù)執(zhí)行一些初始化的操作之后,我們的入口函數(shù) main 將會(huì)被調(diào)用到,它位于 0x401126 地址處。

二、用戶進(jìn)程的創(chuàng)建過程概述

在我們編寫的代碼編譯完生成可執(zhí)行程序之后,下一步就是使用 shell 把它加載起來并運(yùn)行之。一般來說 shell 進(jìn)程是通過 fork+execve 來加載并運(yùn)行新進(jìn)程的。一個(gè)簡(jiǎn)單加載 helloworld 命令的 shell 核心邏輯是如下這個(gè)過程。

// shell 代碼示例
int main(int argc, char * argv[])
{
 
 pid = fork();
 if (pid==0){ // 如果是在進(jìn)程中
  //使用 exec 系列函數(shù)加載并運(yùn)行可執(zhí)行文件
  execve("helloworld", argv, envp);
 } else {
  
 }
 
}

shell 進(jìn)程先通過 fork 系統(tǒng)調(diào)用創(chuàng)建一個(gè)進(jìn)程出來。然后在子進(jìn)程中調(diào)用 execve 將執(zhí)行的程序文件加載起來,然后就可以調(diào)到程序文件的運(yùn)行入口處運(yùn)行這個(gè)程序了。

這個(gè) fork 系統(tǒng)調(diào)用在內(nèi)核入口是在 kernel / fork.c 下。

//file:kernel/fork.c
SYSCALL_DEFINE0(fork)
{
 return do_fork(SIGCHLD, 0, 0, NULL, NULL);
}

在 do_fork 的實(shí)現(xiàn)中,核心是一個(gè) copy_process 函數(shù),它以拷貝父進(jìn)程(線程)的方式來生成一個(gè)新的 task_struct 出來。

//file:kernel/fork.c
long do_fork()
{
 //復(fù)制一個(gè) task_struct 出來
 struct task_struct *p;
 p = copy_process(clone_flags, stack_start, stack_size,
    child_tidptr, NULL, trace);

 //子任務(wù)加入到就緒隊(duì)列中去,等待調(diào)度器調(diào)度
 wake_up_new_task(p);
 
}

在 copy_process 函數(shù)中為新進(jìn)程申請(qǐng) task_struct,并用當(dāng)前進(jìn)程自己的地址空間、命名空間等對(duì)新進(jìn)程進(jìn)行初始化,并為其申請(qǐng)進(jìn)程 pid。

//file:kernel/fork.c
static struct task_struct *copy_process()
{
 //復(fù)制進(jìn)程 task_struct 結(jié)構(gòu)體
 struct task_struct *p;
 p = dup_task_struct(current);
 

 //進(jìn)程核心元素初始化
 retval = copy_files(clone_flags, p);
 retval = copy_fs(clone_flags, p);
 retval = copy_mm(clone_flags, p);
 retval = copy_namespaces(clone_flags, p);
 

 //申請(qǐng) pid && 設(shè)置進(jìn)程號(hào)
 pid = alloc_pid(p-nsproxy-pid_ns);
 p-pid = pid_nr(pid);
 p-tgid = p-pid;
 
}

執(zhí)行完后,進(jìn)入 wake_up_new_task 讓新進(jìn)程等待調(diào)度器調(diào)度。

不過 fork 系統(tǒng)調(diào)用只能是根據(jù)當(dāng)?shù)?shell 進(jìn)程再復(fù)制一個(gè)新的進(jìn)程出來。這個(gè)新進(jìn)程里的代碼、數(shù)據(jù)都還是和原來的 shell 進(jìn)程的內(nèi)容一模一樣。

要想實(shí)現(xiàn)加載并運(yùn)行另外一個(gè)程序,比如我們編譯出來的 helloworld 程序,那還需要使用到 execve 系統(tǒng)調(diào)用。

三. Linux 可執(zhí)行文件加載器

其實(shí) Linux 不是寫死只能加載 ELF 一種可執(zhí)行文件格式的。它在啟動(dòng)的時(shí)候,會(huì)把自己支持的所有可執(zhí)行文件的解析器都加載上。并使用一個(gè) formats 雙向鏈表來保存所有的解析器。其中 formats 雙向鏈表在內(nèi)存中的結(jié)構(gòu)如下圖所示。

我們就以 ELF 的加載器 elf_format 為例,來看看這個(gè)加載器是如何注冊(cè)的。在 Linux 中每一個(gè)加載器都用一個(gè) linux_binfmt 結(jié)構(gòu)來表示。其中規(guī)定了加載二進(jìn)制可執(zhí)行文件的 load_binary 函數(shù)指針,以及加載崩潰文件 的 core_dump 函數(shù)等。其完整定義如下

//file:include/linux/binfmts.h
struct linux_binfmt {
 
 int (*load_binary)(struct linux_binprm *);
 int (*load_shlib)(struct file *);
 int (*core_dump)(struct coredump_params *cprm);
};

其中 ELF 的加載器 elf_format 中規(guī)定了具體的加載函數(shù),例如 load_binary 成員指向的就是具體的 load_elf_binary 函數(shù)。這就是 ELF 加載的入口。

//file:fs/binfmt_elf.c
static struct linux_binfmt elf_format = {
 .module  = THIS_MODULE,
 .load_binary = load_elf_binary,
 .load_shlib = load_elf_library,
 .core_dump = elf_core_dump,
 .min_coredump = ELF_EXEC_PAGESIZE,
};

加載器 elf_format 會(huì)在初始化的時(shí)候通過 register_binfmt 進(jìn)行注冊(cè)。

//file:fs/binfmt_elf.c
static int __init init_elf_binfmt(void)
{
 register_binfmt(&elf_format);
 return 0;
}

而 register_binfmt 就是將加載器掛到全局加載器列表 - formats 全局鏈表中。

//file:fs/exec.c
static LIST_HEAD(formats);

void __register_binfmt(struct linux_binfmt * fmt, int insert)
{
 
 insert ? list_add(&fmt-lh, &formats) :
   list_add_tail(&fmt-lh, &formats);
}

Linux 中除了 elf 文件格式以外還支持其它格式,在源碼目錄中搜索 register_binfmt,可以搜索到所有 Linux 操作系統(tǒng)支持的格式的加載程序。

# grep -r "register_binfmt" *
fs/binfmt_flat.c: register_binfmt(&flat_format);
fs/binfmt_elf_fdpic.c: register_binfmt(&elf_fdpic_format);
fs/binfmt_som.c: register_binfmt(&som_format);
fs/binfmt_elf.c: register_binfmt(&elf_format);
fs/binfmt_aout.c: register_binfmt(&aout_format);
fs/binfmt_script.c: register_binfmt(&script_format);
fs/binfmt_em86.c: register_binfmt(&em86_format);

將來在 Linux 在加載二進(jìn)制文件時(shí)會(huì)遍歷 formats 鏈表,根據(jù)要加載的文件格式來查詢合適的加載器。

四、execve 加載用戶程序

具體加載可執(zhí)行文件的工作是由 execve 系統(tǒng)調(diào)用來完成的。

該系統(tǒng)調(diào)用會(huì)讀取用戶輸入的可執(zhí)行文件名,參數(shù)列表以及環(huán)境變量等開始加載并運(yùn)行用戶指定的可執(zhí)行文件。該系統(tǒng)調(diào)用的位置在 fs / exec.c 文件中。

//file:fs/exec.c
SYSCALL_DEFINE3(execve, const char __user *, filename, )
{
 struct filename *path = getname(filename);
 do_execve(path-name, argv, envp)
 
}

int do_execve()
{
 
 return do_execve_common(filename, argv, envp);
}

execve 系統(tǒng)調(diào)用到了 do_execve_common 函數(shù)。我們來看這個(gè)函數(shù)的實(shí)現(xiàn)。

//file:fs/exec.c
static int do_execve_common(const char *filename, )
{
 //linux_binprm 結(jié)構(gòu)用于保存加載二進(jìn)制文件時(shí)使用的參數(shù)
 struct linux_binprm *bprm;

 //1申請(qǐng)并初始化 brm 對(duì)象值
 bprm = kzalloc(sizeof(*bprm), GFP_KERNEL);
 bprm-file = ;
 bprm-filename = ;
 bprm_mm_init(bprm)
 bprm-argc = count(argv, MAX_ARG_STRINGS);
 bprm-envc = count(envp, MAX_ARG_STRINGS);
 prepare_binprm(bprm);
 

 //2遍歷查找合適的二進(jìn)制加載器
 search_binary_handler(bprm);
}

這個(gè)函數(shù)中申請(qǐng)并初始化 brm 對(duì)象的具體工作可以用下圖來表示。

在這個(gè)函數(shù)中,完成了一下三塊工作。

第一、使用 kzalloc 申請(qǐng) linux_binprm 內(nèi)核對(duì)象。該內(nèi)核對(duì)象用于保存加載二進(jìn)制文件時(shí)使用的參數(shù)。在申請(qǐng)完后,對(duì)該參數(shù)對(duì)象進(jìn)行各種初始化。

第二、在 bprm_mm_init 中會(huì)申請(qǐng)一個(gè)全新的 mm_struct 對(duì)象,準(zhǔn)備留著給新進(jìn)程使用。

第三、給新進(jìn)程的棧申請(qǐng)一頁的虛擬內(nèi)存空間,并將棧指針記錄下來。

第四、讀取二進(jìn)制文件頭 128 字節(jié)。

我們來看下初始化棧的相關(guān)代碼。

//file:fs/exec.c
static int __bprm_mm_init(struct linux_binprm *bprm)
{
 bprm-vma = vma = kmem_cache_zalloc(vm_area_cachep, GFP_KERNEL);
 vma-vm_end = STACK_TOP_MAX;
 vma-vm_start = vma-vm_end - PAGE_SIZE;
 

 bprm-p = vma-vm_end - sizeof(void *);
}

在上面這個(gè)函數(shù)中申請(qǐng)了一個(gè) vma 對(duì)象(表示虛擬地址空間里的一段范圍),vm_end 指向了 STACK_TOP_MAX(地址空間的頂部附近的位置),vm_start 和 vm_end 之間留了一個(gè) Page 大小。也就是說默認(rèn)給棧申請(qǐng)了 4KB 的大小。最后把棧的指針記錄到 bprm->p 中。

另外再看下 prepare_binprm,在這個(gè)函數(shù)中,從文件頭部讀取了 128 字節(jié)。之所以這么干,是為了讀取二進(jìn)制文件頭為了方便后面判斷其文件類型。

//file:include/uapi/linux/binfmts.h
#define BINPRM_BUF_SIZE 128

//file:fs/exec.c
int prepare_binprm(struct linux_binprm *bprm)
{
 
 memset(bprm-buf, 0, BINPRM_BUF_SIZE);
 return kernel_read(bprm-file, 0, bprm-buf, BINPRM_BUF_SIZE);
}

在申請(qǐng)并初始化 brm 對(duì)象值完后,最后使用 search_binary_handler 函數(shù)遍歷系統(tǒng)中已注冊(cè)的加載器,嘗試對(duì)當(dāng)前可執(zhí)行文件進(jìn)行解析并加載。

在 3.1 節(jié)我們介紹了系統(tǒng)所有的加載器都注冊(cè)到了 formats 全局鏈表里了。函數(shù) search_binary_handler 的工作過程就是遍歷這個(gè)全局鏈表,根據(jù)二進(jìn)制文件頭中攜帶的文件類型數(shù)據(jù)查找解析器。找到后調(diào)用解析器的函數(shù)對(duì)二進(jìn)制文件進(jìn)行加載。

//file:fs/exec.c
int search_binary_handler(struct linux_binprm *bprm)
{
 
 for try=0; try2; try++ {
  list_for_each_entry(fmt, &formats, lh) {
   int (*fn)(struct linux_binprm *) = fmt-load_binary;
   
   retval = fn(bprm);

   //加載成功的話就返回了
   if (retval = 0) {
    
    return retval;
   }
   //加載失敗繼續(xù)循環(huán)以嘗試加載
   
  }
 }
}

在上述代碼中的 list_for_each_entry 是在遍歷 formats 這個(gè)全局鏈表,遍歷時(shí)判斷每一個(gè)鏈表元素是否有 load_binary 函數(shù)。有的話就調(diào)用它嘗試加載。

回憶一下 3.1 注冊(cè)可執(zhí)行文件加載程序,對(duì)于 ELF 文件加載器 elf_format 來說,load_binary 函數(shù)指針指向的是 load_elf_binary。

//file:fs/binfmt_elf.c
static struct linux_binfmt elf_format = {
 .module  = THIS_MODULE,
 .load_binary = load_elf_binary,
 
};

那么加載工作就會(huì)進(jìn)入到 load_elf_binary 函數(shù)中來進(jìn)行。這個(gè)函數(shù)很長(zhǎng),可以說所有的程序加載邏輯都在這個(gè)函數(shù)中體現(xiàn)了。我根據(jù)這個(gè)函數(shù)的主要工作,分成以下 5 個(gè)小部分來給大家介紹。

在介紹的過程中,為了表達(dá)清晰,我會(huì)稍微調(diào)一下源碼的位置,可能和內(nèi)核源碼行數(shù)順序會(huì)有所不同。

4.1 ELF 文件頭讀取

在 load_elf_binary 中首先會(huì)讀取 ELF 文件頭。

文件頭中包含一些當(dāng)前文件格式類型等數(shù)據(jù),所以在讀取完文件頭后會(huì)進(jìn)行一些合法性判斷。如果不合法,則退出返回。

//file:fs/binfmt_elf.c
static int load_elf_binary(struct linux_binprm *bprm)
{
 //4.1 ELF 文件頭解析
 //定義結(jié)構(gòu)題并申請(qǐng)內(nèi)存用來保存 ELF 文件頭
 struct {
  struct elfhdr elf_ex;
  struct elfhdr interp_elf_ex;
 } *loc;
 loc = kmalloc(sizeof(*loc), GFP_KERNEL);

 //獲取二進(jìn)制頭
 loc-elf_ex = *((struct elfhdr *)bprm-buf);

 //對(duì)頭部進(jìn)行一系列的合法性判斷,不合法則直接退出
 if (loc-elf_ex.e_type != ET_EXEC && ){
  goto out;
 }
 
}

4.2 Program Header 讀取

在 ELF 文件頭中記錄著 Program Header 的數(shù)量,而且在 ELF 頭之后緊接著就是 Program Header Tables。所以內(nèi)核接下來可以將所有的 Program Header 都讀取出來。

//file:fs/binfmt_elf.c
static int load_elf_binary(struct linux_binprm *bprm)
{
 //4.1 ELF 文件頭解析

 //4.2 Program Header 讀取
 // elf_ex.e_phnum 中保存的是 Programe Header 數(shù)量
 // 再根據(jù) Program Header 大小 sizeof(struct elf_phdr)
 // 一起計(jì)算出所有的 Program Header 大小,并讀取進(jìn)來
 size = loc-elf_ex.e_phnum * sizeof(struct elf_phdr);
 elf_phdata = kmalloc(size, GFP_KERNEL);
 kernel_read(bprm-file, loc-elf_ex.e_phoff,
     (char *)elf_phdata, size);
 
 
}

4.3 清空父進(jìn)程繼承來的資源

在 fork 系統(tǒng)調(diào)用創(chuàng)建出來的進(jìn)程中,包含了不少原進(jìn)程的信息,如老的地址空間,信號(hào)表等等。這些在新的程序運(yùn)行時(shí)并沒有什么用,所以需要清空處理一下。

具體工作包括初始化新進(jìn)程的信號(hào)表,應(yīng)用新的地址空間對(duì)象等。

//file:fs/binfmt_elf.c
static int load_elf_binary(struct linux_binprm *bprm)
{
 //4.1 ELF 文件頭解析
 //4.2 Program Header 讀取

 //4.3 清空父進(jìn)程繼承來的資源
 retval = flush_old_exec(bprm);
 

 current-mm-start_stack = bprm-p;
}

在清空完父進(jìn)程繼承來的資源后(當(dāng)然也就使用上了新的 mm_struct 對(duì)象),這之后,直接將前面準(zhǔn)備的進(jìn)程棧的地址空間指針設(shè)置到了 mm 對(duì)象上。這樣將來?xiàng)>涂梢员皇褂昧恕?/p>

4.4 執(zhí)行 Segment 加載

接下來,加載器會(huì)將 ELF 文件中的 LOAD 類型的 Segment 都加載到內(nèi)存里來。使用 elf_map 在虛擬地址空間中為其分配虛擬內(nèi)存。最后合適地設(shè)置虛擬地址空間 mm_struct 中的 start_code、end_code、start_data、end_data 等各個(gè)地址空間相關(guān)指針。

我們來看下具體的代碼:

//file:fs/binfmt_elf.c
static int load_elf_binary(struct linux_binprm *bprm)
{
 //4.1 ELF 文件頭解析
 //4.2 Program Header 讀取
 //4.3 清空父進(jìn)程繼承來的資源

 //4.4 執(zhí)行 Segment 加載過程
 //遍歷可執(zhí)行文件的 Program Header
 for(i = 0, elf_ppnt = elf_phdata;
  i < loc->elf_ex.e_phnum; i++, elf_ppnt++) 

  //只加載類型為 LOAD 的 Segment,否則跳過
  if (elf_ppnt-p_type != PT_LOAD)
   continue;
  

  //為 Segment 建立內(nèi)存 mmap, 將程序文件中的內(nèi)容映射到虛擬內(nèi)存空間中
  //這樣將來程序中的代碼、數(shù)據(jù)就都可以被訪問了
  error = elf_map(bprm-file, load_bias + vaddr, elf_ppnt,
    elf_prot, elf_flags, 0);

  //計(jì)算 mm_struct 所需要的各個(gè)成員地址
  start_code = ;
  start_data = 
  end_code = ;
  end_data = ;
  
 }

 current-mm-end_code = end_code;
 current-mm-start_code = start_code;
 current-mm-start_data = start_data;
 current-mm-end_data = end_data;
 
}

其中 load_bias 是 Segment 要加載到內(nèi)存里的基地址。這個(gè)參數(shù)有這么幾種可能

值為 0,就是直接按照 ELF 文件中的地址在內(nèi)存中進(jìn)行映射

值為對(duì)齊到整數(shù)頁的開始,物理文件中可能為了可執(zhí)行文件的大小足夠緊湊,而不考慮對(duì)齊的問題。但是操作系統(tǒng)在加載的時(shí)候?yàn)榱诉\(yùn)行效率,需要將 Segment 加載到整數(shù)頁的開始位置處。

4.5 數(shù)據(jù)內(nèi)存申請(qǐng) & 堆初始化

因?yàn)檫M(jìn)程的數(shù)據(jù)段需要寫權(quán)限,所以需要使用 set_brk 系統(tǒng)調(diào)用專門為數(shù)據(jù)段申請(qǐng)?zhí)摂M內(nèi)存。

//file:fs/binfmt_elf.c
static int load_elf_binary(struct linux_binprm *bprm)
{
 //4.1 ELF 文件頭解析
 //4.2 Program Header 讀取
 //4.3 清空父進(jìn)程繼承來的資源
 //4.4 執(zhí)行 Segment 加載過程
 //4.5 數(shù)據(jù)內(nèi)存申請(qǐng)&初始化
 retval = set_brk(elf_bss, elf_brk);
 
}

在 set_brk 函數(shù)中做了兩件事情:第一是為數(shù)據(jù)段申請(qǐng)?zhí)摂M內(nèi)存,第二是將進(jìn)程堆的開始指針和結(jié)束指針初始化一下。

//file:fs/binfmt_elf.c
static int set_brk(unsigned long start, unsigned long end)
{
 //1為數(shù)據(jù)段申請(qǐng)?zhí)摂M內(nèi)存
 start = ELF_PAGEALIGN(start);
 end = ELF_PAGEALIGN(end);
 if (end  start) {
  unsigned long addr;
  addr = vm_brk(start, end - start);
 }

 //2初始化堆的指針
 current-mm-start_brk = current-mm-brk = end;
 return 0;
}

因?yàn)槌绦虺跏蓟臅r(shí)候,堆上還是空的。所以堆指針初始化的時(shí)候,堆的開始地址 start_brk 和結(jié)束地址 brk 都設(shè)置成了同一個(gè)值。

4.6 跳轉(zhuǎn)到程序入口執(zhí)行

在 ELF 文件頭中記錄了程序的入口地址。如果是非動(dòng)態(tài)鏈接加載的情況,入口地址就是這個(gè)。

但是如果是動(dòng)態(tài)鏈接,也就是說存在 INTERP 類型的 Segment,由這個(gè)動(dòng)態(tài)鏈接器先來加載運(yùn)行,然后再調(diào)回到程序的代碼入口地址。

# readelf --program-headers helloworld

Program Headers:
  Type           Offset             VirtAddr           PhysAddr
     FileSiz            MemSiz              Flags  Align
  INTERP         0x00000000000002a8 0x00000000004002a8 0x00000000004002a8
     0x000000000000001c 0x000000000000001c  R      0x1
   [Requesting program interpreter: /lib64/ld-linux-x86-64.so.2]

對(duì)于是動(dòng)態(tài)加載器類型的,需要先將動(dòng)態(tài)加載器(本文示例中是 ld-linux-x86-64.so.2 文件)加載到地址空間中來。

加載完成后再計(jì)算動(dòng)態(tài)加載器的入口地址。這段代碼我展示在下面了,沒有耐心的同學(xué)可以跳過。反正只要知道這里是計(jì)算了一個(gè)程序的入口地址就可以了。

//file:fs/binfmt_elf.c
static int load_elf_binary(struct linux_binprm *bprm)
{
 //4.1 ELF 文件頭解析
 //4.2 Program Header 讀取
 //4.3 清空父進(jìn)程繼承來的資源
 //4.4 執(zhí)行 Segment 加載
 //4.5 數(shù)據(jù)內(nèi)存申請(qǐng)&堆初始化
 //4.6 跳轉(zhuǎn)到程序入口執(zhí)行

 //第一次遍歷 program header table
 //只針對(duì) PT_INTERP 類型的 segment 做個(gè)預(yù)處理
 //這個(gè) segment 中保存著動(dòng)態(tài)加載器在文件系統(tǒng)中的路徑信息
 for (i = 0; i < loc->elf_ex.e_phnum; i++) {
  ...
 }

 //第二次遍歷 program header table, 做些特殊處理
 elf_ppnt = elf_phdata;
 for (i = 0; i < loc->elf_ex.e_phnum; i++, elf_ppnt++){
  ...
 }

 //如果程序中指定了動(dòng)態(tài)鏈接器,就把動(dòng)態(tài)鏈接器程序讀出來
 if (elf_interpreter) {
  //加載并返回動(dòng)態(tài)鏈接器代碼段地址
  elf_entry = load_elf_interp(&loc->interp_elf_ex,
      interpreter,
      &interp_map_addr,
      load_bias);
  //計(jì)算動(dòng)態(tài)鏈接器入口地址
  elf_entry += loc->interp_elf_ex.e_entry;
 } else {
  elf_entry = loc->elf_ex.e_entry;
 }

 //跳轉(zhuǎn)到入口開始執(zhí)行
 start_thread(regs, elf_entry, bprm->p);
 ...
}

五、總結(jié)

看起來簡(jiǎn)簡(jiǎn)單單的一行 helloworld 代碼,但是要想把它運(yùn)行過程理解清楚可卻需要非常深厚的內(nèi)功的。

本文首先帶領(lǐng)大家認(rèn)識(shí)和理解了二進(jìn)制可運(yùn)行 ELF 文件格式。在 ELF 文件中是由四部分組成,分別是 ELF 文件頭 (ELF header)、Program header table、Section 和 Section header table。

Linux 在初始化的時(shí)候,會(huì)將所有支持的加載器都注冊(cè)到一個(gè)全局鏈表中。對(duì)于 ELF 文件來說,它的加載器在內(nèi)核中的定義為 elf_format,其二進(jìn)制加載入口是 load_elf_binary 函數(shù)。

一般來說 shell 進(jìn)程是通過 fork + execve 來加載并運(yùn)行新進(jìn)程的。執(zhí)行 fork 系統(tǒng)調(diào)用的作用是創(chuàng)建一個(gè)新進(jìn)程出來。不過 fork 創(chuàng)建出來的新進(jìn)程的代碼、數(shù)據(jù)都還是和原來的 shell 進(jìn)程的內(nèi)容一模一樣。要想實(shí)現(xiàn)加載并運(yùn)行另外一個(gè)程序,那還需要使用到 execve 系統(tǒng)調(diào)用。

在 execve 系統(tǒng)調(diào)用中,首先會(huì)申請(qǐng)一個(gè) linux_binprm 對(duì)象。在初始化 linux_binprm 的過程中,會(huì)申請(qǐng)一個(gè)全新的 mm_struct 對(duì)象,準(zhǔn)備留著給新進(jìn)程使用。還會(huì)給新進(jìn)程的棧準(zhǔn)備一頁(4KB)的虛擬內(nèi)存。還會(huì)讀取可執(zhí)行文件的前 128 字節(jié)。

接下來就是調(diào)用 ELF 加載器的 load_elf_binary 函數(shù)進(jìn)行實(shí)際的加載。大致會(huì)執(zhí)行如下幾個(gè)步驟:

  • ELF 文件頭解析

  • Program Header 讀取

  • 清空父進(jìn)程繼承來的資源,使用新的 mm_struct 以及新的棧

  • 執(zhí)行 Segment 加載,將 ELF 文件中的 LOAD 類型的 Segment 都加載到虛擬內(nèi)存中

  • 為數(shù)據(jù) Segment 申請(qǐng)內(nèi)存,并將堆的起始指針進(jìn)行初始化

  • 最后計(jì)算并跳轉(zhuǎn)到程序入口執(zhí)行

當(dāng)用戶進(jìn)程啟動(dòng)起來以后,我們可以通過 proc 偽文件來查看進(jìn)程中的各個(gè) Segment。

# cat /proc/46276/maps
00400000-00401000 r--p 00000000 fd:01 396999                             /root/work_temp/helloworld
00401000-00402000 r-xp 00001000 fd:01 396999                             /root/work_temp/helloworld
00402000-00403000 r--p 00002000 fd:01 396999                             /root/work_temp/helloworld
00403000-00404000 r--p 00002000 fd:01 396999                             /root/work_temp/helloworld
00404000-00405000 rw-p 00003000 fd:01 396999                             /root/work_temp/helloworld
01dc9000-01dea000 rw-p 00000000 00:00 0                                  [heap]
7f0122fbf000-7f0122fc1000 rw-p 00000000 00:00 0 
7f0122fc1000-7f0122fe7000 r--p 00000000 fd:01 1182071                    /usr/lib64/libc-2.32.so
7f0122fe7000-7f0123136000 r-xp 00026000 fd:01 1182071                    /usr/lib64/libc-2.32.so
......
7f01231c0000-7f01231c1000 r--p 0002a000 fd:01 1182554                    /usr/lib64/ld-2.32.so
7f01231c1000-7f01231c3000 rw-p 0002b000 fd:01 1182554                    /usr/lib64/ld-2.32.so
7ffdf0590000-7ffdf05b1000 rw-p 00000000 00:00 0                          [stack]
......

雖然本文非常的長(zhǎng),但仍然其實(shí)只把大體的加載啟動(dòng)過程串了一下。如果你日后在工作學(xué)習(xí)中遇到想搞清楚的問題,可以順著本文的思路去到源碼中尋找具體的問題,進(jìn)而幫助你找到工作中的問題的解。

最后提一下,細(xì)心的讀者可能發(fā)現(xiàn)了,本文的實(shí)例中加載新程序運(yùn)行的過程中其實(shí)有一些浪費(fèi),fork 系統(tǒng)調(diào)用首先將父進(jìn)程的很多信息拷貝了一遍,而 execve 加載可執(zhí)行程序的時(shí)候又是重新賦值的。所以在實(shí)際的 shell 程序中,一般使用的是 vfork。其工作原理基本和 fork 一致,但區(qū)別是會(huì)少拷貝一些在 execve 系統(tǒng)調(diào)用中用不到的信息,進(jìn)而提高加載性能。

廣告聲明:文內(nèi)含有的對(duì)外跳轉(zhuǎn)鏈接(包括不限于超鏈接、二維碼、口令等形式),用于傳遞更多信息,節(jié)省甄選時(shí)間,結(jié)果僅供參考,IT之家包含外鏈的文章均包含本聲明。

相關(guān)文章

關(guān)鍵詞:代碼,編程

軟媒旗下網(wǎng)站: IT之家 最會(huì)買 - 返利返現(xiàn)優(yōu)惠券 iPhone之家 Win7之家 Win10之家 Win11之家

軟媒旗下軟件: 軟媒手機(jī)APP應(yīng)用 魔方 最會(huì)買 要知

日本亚洲欧洲色a| 亚洲一区二区人妻| 欧美精品久久久久三级| 视频在线免费观看色| 色吧中文字幕在线| 亚洲一本一道一区二区三区| 91性高久久久久久久久| 国产又粗又猛又爽又黄的视频在线 | 欧美人妻vs中文字幕| 一区二区三区四区五区六区久久| 国产人伦人妻亚洲| 国产精品99久久久久久网站| 蜜桃av一区二区精品| 97免费公开视频观看| av毛片大全亚洲| 天天操天天操天天爽| 4hu成人免费av在线观| 久久婷婷视频一二三区| 中文字幕人妻少妇一区二区| 激情五月婷婷综合色视频| 日韩中文字幕国产在线| 俺来也官网欧美久久精品| 蜜桃av一区二区三区视频| 日韩三级电影免费久久 | 国产又粗又硬又爽又黄的网站| 亚洲av中文字幕| 国产午夜免费三区视频| av最新在线中文天堂| 欧美日韩国产激情不卡| 国产麻豆激情图区在线| 天堂网最新中文字幕| 四虎av在线观看| 日韩欧美高清一区二区三区 | 日韩一二三区视频免费观看| 日韩一级大片中文字幕| 91精品翘臀久久久| 国产69精品久久久久乱码| 99热这里有国产| 激情亚洲成人一区二区三区| 校园春色激情另类| 91狠狠综合久久久久久精品网站| 免费高清理伦片在线播放视频| 日韩欧美卡一卡二卡三| 青青草原国产在线精品| 日韩电影亚洲专区天堂| 大香蕉伊人免久久| 国产精品美女视频免费线播放| 99日韩欧美在线观看| 伊人久久大香线蕉综合啪小说| 国产69精品久久久久乱码| 国产一级aa特黄大片| www.免费成人在线视频| 在线观看大片免费网站观看| 精品亚洲精品国产一本大道| 精品人妻日日夜夜操| 国内精品久久99人妻无| 久久久蜜桃成人网| 久久久久久精品免费免费sss| 亚洲精品又黄又爽的视频| 欧美熟妇久久久久久久久久久| 亚洲av操伊人久久| 国产精品久久久久免费播放| 26uuu日韩一区二区三区四区| 999热视频精品在线| 国内精品伊人久久久久av| 男女啪啪你懂的91| 日韩在线成人中文字幕| 久久国产乱子伦免费看| 天天爱天天做狠狠久久做| 日韩av天堂黄色片| 免费黄页网址大全在线观看| 美女网站视频大全| 内射一对幼嫩无毛妹| 亚洲欧美精品卡一卡二卡三| 亚洲婷婷91中文字幕| 国产精品久久久久久久久av| 欧美三级中文字幕在线| 亚洲一区二区精品无码99| 97特黄一级中文字幕在线| 婷婷只有在线精品视频| 视频在线观看色版| 日本伊人伊人伊人| 一区二区三区四区五区国产av| 亚洲一区两区三区四区| 超碰视频公开免费观看| 瑟瑟视频免费观看在线| 最新久久精品免费视频| 白嫩丰满少妇大战黑人| 日韩中文字幕激情在线| 国产一级aa特黄大片| 东京热制服人妻诱惑| 国产一区二区精美视频| 国产精品欧美一区二区三区不卡| 极品少妇激情av在线| sese欧美日韩| 大片一级黄片一级| 久久国产精品波多野吉衣av | 日韩成人免费电影一区二区三区| 激情五月天在线观看色| 91人妻久久久精品中文字幕| ysl蜜桃色14| 亚洲国产欧美另类| 国家五a级久久久久久黄片| 国产精品人妻激情| 淫妇操BBB操BBB操BBB| 在线视频青青青草| 人妻的诱惑在线免费观看| 亚洲av日韩美av在线播放| 999精品视频在线免费九九看| 91精品国产丝袜长腿久久| 久久精品国产精品国产精品国产 | 国产精品一级999| 亚洲男人一区二区三区| 亚洲精品91av在线| 自拍偷拍国产在线| 中文字幕日本精品免费| 青青手机国产视频| 热久久精品观看视频999| 蜜桃av一区二区三区视频| av岛国网站在线观看| 天天色天天干天天| 老男人与老熟女的日逼逼| 91人妻久久久精品中文字幕| 亚洲成a人在线播放| 免费在线观看亚洲黄色| 在线 亚洲 精品| 亚洲男人一区二区三区| 亚洲av中文有码| 亚洲欧美国产麻豆综合| 亚洲成人人妻一区| 日韩中文有码在线视频| 亚洲风情资源网站| 亚洲国产精品资源在线| 日韩精品色图在线| 中文字幕制服丝袜在线电影| 亚洲欧美日韩一区另类| 男人添女人逼免费全视频| 色综合久久综合久久综合网| 99re8精品视频在线播放| 久久精品视频天天操| 欧美风情日韩国产黑白配| 红桃在线观看av| 国产人妻精品中文字幕| av男人的东京天堂热| 久久 91 欧美 精品| 人妻色图欧美日韩| 美腿丝袜综合在线日韩| 偷拍另类激情小说| 老男人与老熟女的日逼逼| 日韩丝袜美腿av| 久久国产精品波多野吉衣av| 国产亚洲精品av成人无删减| 五月婷婷综合中文字幕| 特黄特色的大片免费看| 亚洲黄色片在线观看| 亚洲精品成人日本| 97久久香蕉国产线看观看| 欧美一区二区在线播放| 日韩一区二区三区四区不卡网| 亚洲黄色影院首页| 国产精品久久天干天干| 人妻丝袜美腿一区二区三区| 色综合综合色综合色综合色综合| 在线观看欧美激情| 2025av熟女| 国产日韩欧美二区视频| 国产极品中文字幕在线| 日本伦理在线不卡| 亚洲国产日韩欧美精品综合| 国产三级 日韩三级| 国产欧美日韩成人一区二区| 天天天操天天干天天日| ysl蜜桃棕调色| 大香伊蕉人在人在线国产精品| 精品亚洲精品国产一本大道| 国产麻豆黄色大片| 国产欧美日韩综合区| 国产免费播放一区| 亚洲五区四区三区二区| 日韩综合日韩精品| 19国产精品麻豆| 九九精品在线观看视频| 人妻精品一区二区久久| 亚洲中文自拍偷拍| 美女激情国产精品| 日本一道本美女久久| av影音在线不卡| 国产真实内射老熟女久久久| 麻豆精选国产在线av观看| 777极品伊人久久久久久| 亚洲综合动漫图片| 麻豆av熟女少妇精品| 97碰碰碰免费公开在线视频| 大香蕉av网站在线观看| 亚洲成人人妻一区| 亚洲国产美乳视频| 91国语对白精品露脸| 久久成人av一区二区| 欧美一区二区三区激情久久| 久久精品视频在线看15| 精品视频卡一卡二卡三卡四卡| 婷婷深爱激情四射| 久久免费又粗又长又硬又深又色| 日韩中文字幕在线观看乱码| 婷婷丁香亚洲五月天| 午夜美女免费福利| 久久国产精品波多野吉衣av| 久久精品国产亚洲av久| 激情内射一区二区三区| 久久久精品亚洲熟妇少妇| 97一区二区三区人妻免费| 97色伦午夜国产亚洲精品| 日日骚夜夜骚一区二区三区| 中国学习在线成人高考| 热久久精品观看视频999| 亚洲乱码国产乱码精品精可以看| 亚洲小视频在线观看免费播放| 婷婷激情网婷婷激情网| 日韩啊v视频在线| 亚洲精品又黄又爽的视频| av在线播放观看播放观看| 日韩中文字幕第十页| 日本久久一区二区三区| 美女夜夜操天天干| 久久久久日本精品无码天美传媒| 自拍伦理视频在线观看| 亚洲五月婷婷啪啪| 日韩精品一线二线三线四线 | 红桃在线观看av| 久久久久久精品国产婷婷| 日本中文字幕诱惑| 少妇熟女一二三区| 69视频在线 91| 人妻乱干视频免费| 伊人久久视频在线观看| 精品人妻免费av| 色就是色综合欧美色| 亚洲国产一区av| 亚洲欧美在线第一页| 欧美日韩中文字母专区| 日韩午夜福利视频合集| 日韩欧美国产精品99| 久久偷拍美女上厕所| 99国产精品人妻无码一区二区 | 国产麻豆色哟哟网站| 久久免费又粗又长又硬又深又色| 国产麻豆激情图区在线| av男人的东京天堂热| 激情亚洲精品在线观看| 超碰激情免费在线播放| 大屁股熟女风间由美| 国内精品伊人久久久久av| 精品人妻日日夜夜操| 天天综合天天精品| 91红桃在线观看| 自拍偷拍亚洲首页| 96国产av传媒精品| 精品人妻一区在线视频| 蜜月久综合久久综合国产| 18禁美女国产美女网站| 熟女大屁股白浆一区二区在线观看| 国产精品色悠悠在线观看| 亚洲啊v男人天堂| 精品高清亚洲国产欧美| 七月婷婷激情四射| 人妻一区两区三区四区| 18成人黄色在线观看| 日韩 欧美 偷拍自拍| 超碰超碰超碰在线免费观看| 五十路六十路素人熟女| 亚洲美女在线激情| 久久这里只有精品2023| 中文一区二区人妻| 中文字幕av三级免费| 蜜臀av国内精品久久久久久| 亚洲av综合av一区二区综| 俺来也官网欧美久久精品| 亚洲另类欧美自拍| 欧美日韩少妇熟女| 视频在线免费观看色| 骚片av蜜桃精品一区| 97资源超碰成人| 在线中文字幕国产精品| 国产精品va一级二级三级| 日韩亚洲丝袜美腿久久| 绯色av一区二区三区在线观看| 久久精品视频在线看15| 日本熟妇vvw日本人妻| 91在线视频亚洲| 全网小视频资源免费在线播放| 日韩在线高清视频一区二区| 日韩三级电影免费久久| 国产精品免费自拍视频大全| 伊人久久大香线蕉综合啪小说| 无人妻一区二区三区费中文字幕| 亚洲熟女午夜毛片av毛片| 久久 久久 久久av| 日韩免费av在线观看激情| 激情综合婷婷久久啪啪| 人妻,日本,亚洲| 中文字幕日韩一二三区视频| 亚洲av免费在线播放网站| 香蕉久久成人国产精品| 成人影院久久久久久久久一区| 欧美日韩在线视频三区| 亚洲丝袜中文字幕在线观看| 色综合久综合久久综合久鬼88| 中文字幕人妻在线| 99亚洲国产精品久久久| 久久久久久精品国产婷婷| 日韩少妇一区二区三区四区| 国产精品99久久久久久有的能看| 免费97人妻一区二区三区| 国产自拍各种精品视频| 亚洲 成人 av 在线| 鸿观全集在线观看视频| 亚洲欧美精彩视频| av日韩av亚洲国产| 在线 人妻 视频| 天天操夜夜操人人看| 亚洲成人人妻一区| av男人的东京天堂热| 激情啊啊啊啊啊啊啊| 日韩不卡在线av| 日韩av在线不卡看| 日韩亚洲欧美综合一区二区| 2025av熟女| 九色视频蝌蚪在线免费观看| 偷拍另类激情小说| 三级久久国产试看3分钟| 欧美一区二区三区,视频| 亚洲中文国产字幕| 麻烦视频一区二区三区| 午夜免费福利视频| 激情亚洲精品在线观看| 亚洲情色一区在线观看| 中文字幕丝袜美腿诱惑色在线观看| 老男人与老熟女的日逼逼| 久久婷婷成人精品国产电影| 午夜一级免费福利视频| 开心网五月天色婷婷| 人妻超碰在线观看| 日韩毛片成人在线| 婷婷六月亚洲综合| 黄黄的视频靠在线观看| 丁香六月天久久婷婷| 日韩欧美在线观看二区| 亚洲精选国产一区| 天天舔,天天做,天天爽 | 成人av在线天堂一区二区三区| 国产精品久久久久免费播放| 亚洲熟女午夜毛片av毛片| 绯色av一区二区三区在线观看| 高清有码中文字幕在线观看| 亚洲av黄久久久| 亚洲综合色区另类小说| robolox涩涩的视频免费看| 青青操视频在线观看免费观看| 久久一本色道综合六月天| 亚洲 欧美 中文字幕第一页| 一级国产黄片国语对白| 骚熟妇人妻中文字幕网站| 丝袜美腿诱惑福利| 中文字幕av久久爽伊人一级| 亚洲av日韩av成人在线| 久久精品只有精品免费观看| 五月大香蕉综合婷婷| 午夜8050网站二级| 午夜18在线观看视频| 国产精品人妻激情| 亚洲一区两区三区四区| av完全免费在线| 人妻干亚洲一区中文字幕| 久久午夜国产精品| 91小情趣制服肥臀九色| 香蕉国产精品久久| 色 视频免费在线观看| 小草青青手机视频| 日韩综合人妻av| 中村智惠巨乳av| 黄色大片长久网站| www.午夜av.| 萌白的所有视频在线观看| 午夜色网av在线| 婷婷综合在线五月天| 国产免费手机视频久久| 国产精品毛片久久久久久久久| 亚洲国产欧美另类| 人妻丰满熟妇av一区二区| 蜜桃成人永久免费av大| 黄片激情在线观看| 人人妻人人爱人人澡| 中文精品久久久久人妻不| 国产精品一区二区三区色 | 久久久综合网久久久综合网| 欧美黑人xxxx猛交少妇| 欧美风情日韩国产黑白配| 欧美视频在线播放一卡| 黄色一级片人和狗| 欧美一区二区三区综合网| av一区中文字幕在线| 久久久亚洲成人天堂| 中文字幕av最新更新| 激情综合婷婷久久啪啪| 精品中文字幕久久久久久| 超碰caoporn免费| 黄色强奸片免费观看视频免费看| 少妇人妻久久久久久久久久 | 成人短视频在线版| 999久久久精品视频在线观看| 中文字幕人妻久久不卡| 伊人久久大香线蕉av色婷婷色| 天天天操天天干天天日| 欧美 日韩亚洲一区| 麻豆av精品在线| 欧美乱视频一区二区三区| 国产在线视频观看| 在线成人黄色一级片| 日本久久久久久久国产精品| 国产一区日韩二区在在| 日本男人操日本女人视频| 暖暖视频高清在线观看中文| 日韩特级片中文字幕| 亚洲精品www47| 久久99 国产精品| 在线观看剧情国产| 黄色录像一级片大| 日韩少妇一区二区三区四区| 激情懂色av一区av二区av| 日韩综合人妻av| 亚洲精品男人黄色的天堂| 2025av熟女| 中文字幕人妻在线| 亚洲一区二区 偷拍| 日韩中文av在线观看| 日本伦理在线不卡| 91精品国产综合久久香蕉第1集 | 国产一区二区三区亚洲欧美| av一区中文字幕在线| av日韩在线第一页亚洲第一时间| 人妻色图欧美日韩| 美女视频黄免费的亚洲男人天堂| 久久久久久久久久久久国| 国产av久久久久久久| 91久久国语露脸精品国产| 国产|九色|91| 色婷婷久久综合久色| 国产久久十八禁一区| 久精品视在线观看视频| 香蕉国产精品久久| 激情边亲边摸视频| 国产第一影院草草影院久久| 亚洲福利视频一区二区| 亚洲av懂色av| 亚洲精品性色av| 色哟哟在线观看永久免费视频| 国产精品igao激情| 男女av在线观看网站| 一区二区三区四区五区国产av| 绯色av一区二区三区在线观看| 喝醉漂亮人妻被强了中字| 三级日本在线观看网站| 经典a级片在线观看| 开心五月婷婷丁香婷婷| 精品99久久久久成人| 国产视频欧美一区二区| av伊人网好吊妞| 久久久久久久久久久久少妇| 青青操操操操操操操| 欧美日韩在线在线观看视频| 欧美日韩久久理论视频| av少妇人妻中文字幕| 欧美黄色激情一区二区| 精产国品一二三产品区别在| 一区二区三区亚洲社区| 久久久无码av一区二区三区| 午夜免费观看视频一区二区| 中文字幕有码系列| 亚洲中文字幕在线视频播放| 蜜臀av在线玖一区| 狠狠激情精品视频在线观看| 视频在线观看色版| 青青在线观看视频精品| 97一区二区三区人妻免费| 天天操天天透天天射| 国产夫妻啪啪自拍| 一区二区三区国产日本欧美 | 精品人妻日日夜夜操| 日韩av中文字幕六区| 肉色丝袜精品视频一区二区| 欧美激情视频在线观看 欧美女神| 日一区二区三区在线视频| 强伦人妻一区二区三区视频18| 久久精品熟女俱乐部| 中日韩欧美综合黄色| 超碰在线免费欧美成人亚洲| 黑人上司魅惑人妻电影| 亚洲av黄久久久| 欧美激情片在线看| 大屁股熟女风间由美| 激情av五月婷婷| 午夜爽视频在线观看| 久久久96人妻精品蜜桃hd| 日韩 欧美成人999| 激情五月婷婷综合色视频| 91污在线免费观看视频| 亚洲中文av播放| 成人在线免费观看久久视频| 极品少妇激情av在线| 国产黄色剧情影片麻豆免费播放 | 一级成人黄色影视| 日韩av俩男操女人吃奶| 五月婷婷视频免费观看| 黑人上司魅惑人妻电影| 久久综合日韩欧美| xx00视频在线观看| 欧美日韩国产最新久久| 亚洲中文字幕视频乱码| 成人在线av网站| 色婷婷久久综合久色| 中文字幕亚洲综合色| 久久久久久久久久免费观看视频 | 久久激情欧美在线播放| 欧美成人精品三级在线| 五月婷婷中文字幕网| 精品视频久久一区二区三区四区| av在线免费高清国语| 搜索人妻av中文字幕| 亚洲一区二区av在线网站| 99一区二区三区精品人妻| av电影在线观看亚洲| 久久久精品国产人妻在线观看| 4438x亚洲最大成人网| 青青青青青青青青青青青青青| 蜜臀亚洲综合av一区二区三区| 欧美精品视频一二三| 日韩超碰97在线观看| 在线欧美日韩观看一区二区| 日日骚夜夜骚一区二区三区| 日本一道本美女久久| 国产视频97在线播放| 日韩国产欧美激情在线视频| 久久一本色道综合六月天| 亚洲一区二区精品无码99| 手机在线免费国产| 日韩欧美高清一区二区三区 | 91蜜桃视频精品| 精品婷婷乱码久久久久久蜜桃| 观看国产精品97视频| 丁香六月婷婷综合在线| 免费黄页网址大全在线观看| 日韩 欧美 中文在线| 欧美日韩色图一区| 国产日韩精品自拍在线| 激情人妻一区二区三区| 亚洲精品在线小视频| 中文字幕人妻网站| 中文字幕一区二区三区四区二区 | 色哟哟网站日韩精品| 亚洲福利视频天天| 国产夫妻啪啪自拍| 欧美日韩性视频播放| 精品亚洲精品国产一本大道| 久久久蜜桃成人网| 日韩av在线播放中文字幕| 国产在线看片免费观看| 亚洲黄色片在线观看| 97在线观看国产免费视频| 国产免费精品久久久| 激情亚洲成人一区二区三区| 中文字幕亚洲精品字幕| av网站免费在线看| 91捷克街头在线播放| 无人区午夜精品乱码一区二区| 久久久久亚洲国产av| 日本老熟妇ⅹxx| 超碰人妻人人爱人人干| 国产中文字幕免费视频| 国产老熟露脸对白| 中文字幕人妻网站| 色综合久综合久久综合久鬼88| 久久久精品一区二区| 日本爱片在线观看| 美女黄页网站久久久久久| 出轨少妇自白小说| 日韩国产欧美激情在线视频| av完全免费在线| 亚洲啊v男人天堂| 另类日韩一区二区三区| 国产成人h片在线观看| 超碰在线成人97| 午夜内射视频在线观看| 99r精品视频在线播放| 日韩啊v视频在线| 亚洲成人激情av在线播放| 婷婷激情中文字幕组| 国产免费精品在线播放| 国产一区精品视频免费播放| 天天色天天黄天天操天天射| 久久精品熟女亚洲av麻豆永永| 大奶子av在线播放| 经典a级片在线观看| 在线观看福利av午夜| 色狠狠亚洲爱综合国产| 国产欧美日韩在线观看免费| 蜜月久综合久久综合国产| 亚洲情色 一区二区三区| 美女穿丝袜美腿热吻男人| 97在线观看视频人人| 在线观看日韩黄色蜜桃| 色在线观看aaa| 亚洲综合一区在线| 福利无码一区二区三区| 国产 欧美?亚洲?日韩视频| 久久久久久国产精品av| 男人天堂成人亚洲| 天天色天天干天天| 精品中文字幕久久久久久| 日韩人体高清精品一区二区三区| 丁香六月久久综合网| 99热6在线观看高清完整版| 黄页av在线观看| 国产欧美一区视频在线观看| 加勒比东京热综合888| 自拍偷拍亚洲首页| 激情亚洲精品在线观看| 国av一区二区三区| 精品久久97观看在线ship| 午夜少妇久久精品| 日韩欧美亚州综合| 日韩人妻激情瑟瑟| 婷婷激情网婷婷激情网| 亚洲av成人波多野一区二区| 大香蕉伊人免久久| 成人av在线播放不卡| 成人国内精品久久久久一区| 男女啪啪高清网站| 国产视频一区 在线播放| 谁有av网站在线播放中文字幕| 亚洲乱熟女一区二区三区在线视频| 亚洲国产美乳视频| 伊人av在线播放| 九九在线观看99视频| 午夜精品av在线| 在线观看视频瑟瑟| av最新在线中文天堂| 亚洲欧美日韩丝袜色图| 自拍偷拍第四色偷拍| 日韩精品免费在线观看视频| aaaaa青青草大片| 九九99九九99久久99视频网| 成人黄色伦理网站| 精品国产91久久久久久久| av日韩av亚洲国产| 在线 人妻 视频| 尤物在线观看视频av| 蜜桃av久久久久久久| 国产精品久久久久久入口| 7au.cn成人午夜在线| 亚洲天堂国产精品区| 自拍偷拍亚洲天堂精品| 日韩电影亚洲专区天堂| 久久女人撒尿视频| 操美女姐姐啊啊啊| 免费在线观看亚洲黄色| ff14一区二区三区分别是啥| 日韩av俩男操女人吃奶| 97在线观看视频人人| 男人天堂手机在线2014| 一区二区三区av资源网| 狠狠婷婷久久精品一区二区| 国产精品91免费看| 色福利视频导航网| 日韩 激情 美乳| 亚洲av日韩精品久久国产多毛女 | 日韩无码电影一区二区三区四区| 欧美成人精品三级在线| 26uuu日韩一区二区三区四区| 大香网伊人久久综合网20| 九九re热国产精品视频| 狠狠婷婷久久精品一区二区| 黑丝少妇的诱惑在线观看| www国产精品人妻一二三区| 在线观看视频瑟瑟| 国产一区二区三区自拍欧美| 那个小区的人妻在线观看| 亚洲国产长腿丝袜av天堂| 999久久精品视频在线| 日韩欧美一区黄色| 日韩av在线1区| 日本精品九九久久精品一本| 国产精品欧美一区二区三区不卡| 岛国伦理一区二区三区| 97久久香蕉国产线看观看| 日韩一二三区视频免费观看| 97一区二区三区人妻免费| 亚洲黄页在线视频| 天天插天天日天天啪| 久久久久久久久久久福利视频| 黄页网站网址在线观看| 国产精品,日韩视频| 亚洲av久久精品在线| 日本一道本美女久久| 成人黄色性a大片| 黑人巨大的吊bdsm| 国产成人午夜三级在线观看| 色香蕉av一区二区| 男女av在线观看网站| 黄色国产一区在线观看| 精品亚洲精品国产一本大道| 久久伊人中文字幕有码| 欧美日韩视频高清一区二区| 成人国内精品久久久久一区| 7au.cn成人午夜在线| 色香视频亚洲自拍偷拍| 国产自拍偷拍日韩精品| 国内毛片精品一区二区三区| www.免费成人在线视频| 午夜激情免费视频| 97狠狠狠狠狠狠狠| 国产av在线播放网站| 中文有码字幕在线| 久久精品亚洲精品无码白云tv| 91亚洲精品资源| 日韩三级中文字幕在线播放| 99精品欧美一区二区三区蜜桃| 久久久久大香青草精品综合| 91中文字幕亚洲资源| 狠狠操你在线观看| 国产一区二区av少妇| 亚洲欧美日韩丝袜色图| 日韩丝袜情趣美女图片| 欧美一级二级三级久久| 亚洲精品91av在线| 日本爱片在线观看| 国内在线视频精品一区美女| 成人午夜免费在线视频网站| 日韩a国产v亚洲欧美精品| 在线中文字幕国产精品| 日韩欧美亚洲精品人妻| 大桥久未无码吹潮在线观看| 2020午夜免费福利| 日韩av中文字幕六区| 亚洲男人的天堂久久| 成人av欧美在线观看| 91精品在线视频 九色| 最新人妻激情视频网| 一本色道久久久亚洲天堂网| 午夜激情成人在线| 粉嫩一区二区性色粉嫩av| 欧美精品mv在线播放观看| 中文字幕丝袜美腿诱惑色在线观看| 日韩av在线不卡看| 亚洲黄色尻逼网站| 午夜免费观看国产视频| 视频不卡在线观看| 九九九九九九久久久久久久伊人| 国产亚洲中文久久网久久| 日韩欧美a级视频在线免费观看| 黑人巨大欧美一区二区视频| 激情欧美一区二区三区| 日本女优在线三区| 久久精品国产露脸对白| 极品人妻探花av| 999久久久精品视频在线观看| 色婷婷五月亚洲综合小说| 成人国内精品久久久久一区| 曰曰摸夜夜添av老司机蜜桃视频| 中文字幕亚洲综合色| 日本高清中文字幕久久| 91在线免费观看视频在线观看| 日本影片高清视频| 日韩美女少妇av| 69视频在线 91| 精品亚洲午夜久久久久四季| 99在这里只有精品2| 德国女人的大屁股| 国产69精品久久久久乱码| 1024日韩精品一区二区| 蜜臀av在线素人人妻播放一区| 午夜激情成人在线| 人妻素人中出一区二区三区| 亚洲丝袜美女诱惑| 偷拍在线观看视频| 凹凸国产熟女白浆精品视频免费| 黄色片网站国产精品| 亚洲男人一区二区三区| 国产欧美1区2区3区| 国产亚洲自拍色图| 中文字幕久久久一区久久久青春| 黄页av在线观看| 不卡视频无一区二区三区四| 日韩熟女在线视频| 日韩免费黄色在线| 91网曝视频在线播放| 丝袜 成人 av| 亚洲欧美日韩综合在线丁香| 国产精品高清国产三级av| 熟妇人妻丰满激情视频| 在线观看91成人| 日韩人妻精品一二三| 亚洲av狠狠做五月| 亚洲免费看125个视频| 深夜视频在线四区| 萌白的所有视频在线观看| 五月婷婷久久中文| 亚洲美女巨乳在线| 色偷偷888欧美精品| 成人在线av网站| 自拍偷拍另类图区| 粉嫩一区二区性色粉嫩av| av在线播放观看播放观看| 日韩久久精品免费一区二区| 麻豆av精品在线| 午夜久久福利电影网| 久久精品视频天天操| 青青视频在线播放欧免费| 最近的最新的中文字幕视频 | 欧美一区三区三区高中清不卡| 伊人久久中文字幕av| 岛国精品少妇一区二区三区| 久久久久久91亚洲精品| 色狠狠亚洲爱综合国产| av人妻精品一区二区三区| 日本在线高清视频| 中文字幕亚洲精品字幕| 亚洲av成人一区午夜网站| 精品噜噜噜噜久久久久久久久试看| 日韩精品视频在线视频看看| 2025av熟女| 欧美三级中文字幕在线| 国产69精品久久久久乱码| 亚洲成网在线观看| 欧美黄色aaa级| 日本女优在线三区| 999zyz玖玖资源站成人精品| 欧美日韩性视频播放| 在线成人黄色一级片| 久草视频福利在线观看精品| 久久九精品综合丝袜影视精品| 亚洲熟女av观看| 国产区在线观看视频全网yin乱| 色哟哟网站日韩精品| 欧美精品一二三视频| 亚洲av日韩精品久久国产多毛女| av在线亚洲最大的| 日韩丝袜美腿av| 中文字幕 日韩 麻豆| 丁香六月天久久婷婷| 91精品国产丝袜长腿久久| 欧美日韩视频高清一区二区| 激情亚洲成人一区二区三区| 日本黄色日比视频| 97资源总站中文字幕| 美女扒开逼逼让男人操| 国产欧美日韩精品电影免费| 四虎日韩在线观看| 日老熟女逼网视频导航| 91熟女国产老熟女| 久久ye九九视频免费观看| 欧洲日本国产一区二区| 九九热播这里只有精品| av日韩av亚洲国产| 亚洲69偷拍视频在线观看| 国内精品伊人久久久久av| 超碰免费免费人妻97| 久久九九免费精品国产| 天天干天天综合色| 中文字幕原创国产ol| 国产精品18久久久| 在线观看国产高清精品| 99热只有国产在线精品| 国产日韩欧美一区激情| 国产欧美一区视频在线观看| 青青青青青青青青青青青青青| sese欧美日韩| 亚洲最快福利视频| 亚洲亚洲亚洲天堂天堂天堂| 亚洲人妻自拍偷拍| 人人妻人人爽97| 欧洲免费无线码在线一区| 男人天堂手机在线2014| 午夜18在线观看视频| 99久国产精品午夜性色福利| 麻豆精选国产在线av观看| 中国精品久久久久久| 亚洲日本熟妇高清| 日本大胆女人视频| 日韩免费高清av电影| 日韩欧美亚州综合| 五月婷婷综合激情五月| 精品黄色美女一二区| 欧美国产午夜一区二区| 国产精品淫语av播放| 午夜激情成人在线| 丝袜人妻诱惑在线| 久久av一区二区三区neco| 中文字幕无线码在线观看| 国产在线看片免费观看| 亚洲熟女午夜毛片av毛片| 日韩亚洲欧美综合一区二区| 91九色porny国产| 97色在线电影免费观看| 88成人美女女内射| 欧美日韩中文字母专区| 国产欧美日韩成人一区二区| 日韩av一线二线三线在线观看| 黑人巨大欧美一区二区视频| 国产精品成人免费视频观看| 在线观看91成人| 香蕉成人在线91| 色爱综合久久一区二区三区蜜桃臀| 有码中文av字幕| 久久精品国产亚洲av麻豆艾秋| 亚洲av永久天码精品天堂dl| 精品人妻少妇一区二区三区_| 一区二区精品视频乱码| 在线欧美日韩观看一区二区| 国产三级精品久久久| 五月婷婷欧美一区| 深夜视频在线四区| 天天色天天色天天操| 久久国产精品免费看三级| 九九热播这里只有精品| 日韩美女毛片午夜剧场| 久久精品9999蜜桃| 超级碰人妻香蕉在线97| 日韩欧美一区二区三区不卡| 特黄特色的大片免费看| 人妻少妇精品在线视频| 日韩国产成人一区| 国产99丝袜诱惑| 日韩av俩男操女人吃奶| 果冻亚洲国产成人av播| 视频一区视频二区中文精品| 色综合久综合久久综合久鬼88| 深夜美女福利诱惑| 91精品老司机视频网站| 精品毛片av一区二区三区| 国产福利在线观看91| 国产一区二区三区亚洲欧美| 色哟哟在线观看永久免费视频| 88人妻x88av| 青青青青青青青青青青青操操| 100xxoo蜜乳| 网页端在线聊天室| 99热精品在线免费观看| 国产欧美日韩成人一区二区 | 人妻一区两区三区四区| 欧美亚洲成人动漫在线| 99熟女精品一区二区三区| 日韩中文字幕激情在线| 日本久久一区二区三区| 91九色精品福利视频| 日本少妇色诱视频| 黑人一区二区三区四区五区| 国产精品视频福利在线| 最近最好的中文字幕免费| 一本色道久久久亚洲天堂网| 亚洲精品亚洲成人| 欧美视频在线播放一卡| 看久了久久久久久久久久| 亚洲女人av在线| 国产日韩欧美三级在线| 人妻系列视频一区| 精品少妇高潮涩涩av| 婷婷在线www.| 高清不卡二卡三卡四卡无卡| 丝袜诱惑亚洲一区| 天天摸天天摸天天摸| 人妻精油按摩系列| 偷拍99免费视频| 久久女人撒尿视频| 亚洲日韩免费视频在线视频| 日韩在线精品亚洲| 大香网伊人久久综合网20| av最新在线中文天堂| 日韩无人区一卡2卡3卡4卡| 欧美日韩在线视频三区| ysl蜜桃色14| 2020午夜免费福利| 色婷婷五月亚洲综合小说| 26uuu日韩一区二区三区四区| 18禁涩涩网站在线| 黄色强奸片免费观看视频免费看 | 精品视频卡一卡二卡三卡四卡| 蜜桃视频一区二区免费| 暖暖视频高清在线观看中文| 91精品爽啪在线观看| 一区二区国产中文字幕| 91国产精品久久久久| 亚洲av狠狠做五月| 精品国产亚洲蜜月在线观看| 大香蕉av在线免费观看| 91精品国产综久久久久| 综合九九久久九九久久| 国产精品人妻一区二区三区| 黑人上司魅惑人妻电影| 人妻中文字幕一区三区| 日韩国产成人一区| 天天干天天操天天射久| 就爱操在线视频观看| 果冻亚洲国产成人av播| 欧美亚洲第28页| 国产成人AV无码一二三区| 19国产精品麻豆| 亚洲成人偷拍av| 国产人与禽zoz0性情伦| 亚洲av少妇高潮150p| 最新久久精品免费视频| 黑人巨大超大另类videos| 国内精品久久久久久精品视频| 波霸肥熟女bbw| 狠狠挺进h嗯啊第一次视频| 亚洲av日韩美av在线播放| 国产一区日韩二区在在| 国产麻豆丝袜美腿诱惑在线播放| 亚洲av男人的天堂久久精品| 最新国产精品手机网站| 青青视频在线播放欧免费| 99国产精品视频久久久久| 不卡av中文字幕手机看| 九九七视频在线观看| 日韩欧美卡一卡二卡三| 日本熟妇肉体裸交| 国产精品人妻在线| 精彩av在线不卡播放| 日本免费激情在线观看| 91人妻久久久精品中文字幕| 99自拍视频国产在线| 天天操天天爽天天舔天天射| 开心五月婷婷丁香婷婷| 黄版短视频在线观看| 欧美日韩性视频播放| 鸡巴插洞穴的软件免费试看| 青青操最新在线视频免费| 超碰九七在线免费观看| 蜜臀av在线玖一区| 熟女91n一区二区三区| 久久亚洲成人精品av| 伦理福利视频导航| 成人黄色性生活一级片| 亚洲熟女激情av| 国产麻豆激情图区在线| 日韩乱码99在线视频| 日韩欧美一区二区三区不卡| 人人妻人人爽97| 五月婷婷综合激情五月| 黄页av在线观看| 精品91久久99九九| 青青手机国产视频| 国产精品视频你懂得99| 国内毛片精品一区二区三区| 99久久免费精彩视频| 国产精品美女视频免费线播放| 亚洲综合制服丝袜另类在线| 亚洲五月六月激情| 啄木乌av一区二区三区| 成人av大片在线看| 蜜桃久久久久久欧美| 久久午夜激情视频| 成人av在线播放不卡| 精品人妻一区在线视频| 日韩一级av电影| 97免费精品97久久久久久97| 精品两个孩子一区二区三区| 最新欧美激情一区二区| 一级黄色片录像片| 久久人妻精品系列蜜桃| 国产av 一区二区三区| 91影院免费破解污在线观看| 欧美乱视频一区二区三区| 国产av久久久久久久| 4438x中文字幕| 中文字幕人妻aaaaa| 国产超碰人人一区二区三区| 日韩精品少妇熟女| 日韩国产人妻一区二区| 精品伊人久久免费视频| av中文字幕在线播放| 中文字幕久久一二三四区| 91精品国产综合久久香蕉第1集| 成人影院久久久久久久久一区| 日本欧美三级高潮受不了| 国产精品美女视频免费线播放| 国产精品美女视频免费线播放| 久久精彩视频免费看| 欧美黑人xxxx猛交少妇| 国产强上美女在线观看| 大片福利网站导航| 亚洲婷婷精品av久久蜜桃久久| 成人黄色av在线播放| 天天天操天天干天天日| 国产一区精品视频免费播放| 国产精品色悠悠在线观看| 男生女生插插的视频| 91一区二区三区在线视频| 国产精品一区二区流白浆| 青青青草草草久草| 亚洲一区二区三区少妇熟女| 欧美激情片在线看| 一区二区三区欧美日韩| 熟女探花88av| 91熟女国产老熟女| 4438x亚洲最大成人网| 性感丝袜美女诱惑| 国产日韩高清一区二区| 蜜桃臀av永久在线| 欧美精品一区二区久久不卡| 超碰资源免费在线| 一本大道久久a久久综合精品| 日本伊人网在线播放| 久久aa黄色aa网站| 国产 91 九色 精选| 国产av高清无限看| 国内自拍全部视频在线| 久久亚洲欧美日本精品品| 欧美日本一道本免费三区| 九色视频蝌蚪在线免费观看| 中文字幕久久中文字幕综合网| 国产精品久久久久免费播放| 国产91在线播放小黄鸭| 国产精品亚洲欧美综合| 97精品天天在线天天精品| 黑丝少妇的诱惑在线观看| 91精品伊人久久久大香线蕉91| 男人操女人中国产视频| 精品亚洲午夜久久久久四季| 色婷婷五月亚洲大全| 日韩亚洲欧美高清视频| 在线中文字幕国产精品| 日韩欧美一区黄色| 丝袜美腿亚洲一区二区三区三州| 高清在线 中文字幕| 日韩欧美亚洲精品人妻| 视色视频成人午夜精品| 国语自产拍在线观看视频| 17c久久精品国产亚洲| 日韩成人午夜福利影院| 日本女人干逼视频| 俺去啦视频在线精品| 又黄又爽的视频在线观看| 一区二区三区内射少妇| 性感美女黄色刺激视频| 乱色熟女综合一区二区| 视频一区二区三区免费观看| 亚洲蜜桃av妇女| 人妻精品久久久久久| 午夜三级二区三区| 久久午夜一成年人的视频| 就爱操在线视频观看| 亚洲熟女激情av| 91精品夜夜夜一区二区三区老板 | 偷拍 自拍 在线| 亚洲综合精品伊人久久| 精品久久久久久亚洲熟女| 1024在线国产视频| 18成人黄色在线观看| 免费福利精品视频| 99re视频在线观看视频| 国产欧美在线亚洲| 中文字幕人妻一区二区三区熟女| 日本大胆女人视频| 国产欧美日韩综合区| 88人妻x88av| 久久伊人青青草大香蕉| 中文字幕偷拍av| 国产欧美一区视频在线观看| 午夜免费观看国产视频| 亚洲精品久久久久综合| 4438x亚洲最大成人网| 超碰免费在线不卡不卡不卡| 久久99蜜桃精品视频| 国产精品视频你懂得99| 亚洲成av人片一区二区久久久 | 一本之道久久久久久久| 一区二区人妻字幕| 亚洲美女在线激情| 日韩人妻系列在线看| 日本最新在线不卡免a费视频| 亚洲中文资源在线| 亚洲成人影院麻豆| 久久久久久人妻免费视频o| 国产亚洲精品久久久久久女人| 超碰人妻人人爱人人干| 日韩av最新在线| 国产精品v白虎逼| 国产精品人妻系列23p| 人妻av乱片av出轨| 淫妇天天干夜夜操| 人妻熟妇视频专区| 国产美女一区二区三区五区| 久久精品国产亚洲av麻豆艾秋| 免费观看日韩黄色大片| 国产日韩欧美高清视频一区| 成人国内精品久久久久一区| 日本男人操日本女人视频| 日韩久久精品免费一区二区| 亚洲一区两区三区四区| 中文字幕亚洲精品字幕| 国产精品亚洲欧美一级久久精品| 鸿观全集在线观看视频| 99自拍视频国产在线| 国产av激情国产熟女| yeye38亚洲综合网久久| 91国产av精品| 人妻精品一区二区久久| 日本熟妇vvw日本人妻| 青青手机国产视频| 欧美黄色aaa级| 一区二区三区在线视频精品| 国产精品很黄很色很爽的网站| 日韩亚洲丝袜美腿久久| 91精品国产综合久久香蕉第1集| 在线成人激情av| 日韩特级片中文字幕| 亚洲精品免费综合| 大桥久未无码吹潮在线观看| 亚洲欧美另类视频| 日韩中文字幕激情在线| 国产精品视频你懂得99| 超级碰人妻香蕉在线97| 熟女 口爆 国产| 99久久九九社区精品| 亚洲免费毛片av| 中文字幕人妻熟女一区二区三区| 成人在线电影一区二区| 久久aa黄色aa网站| 男人天堂手机在线2014| 国产精品一区二区在线邻家| 成人影院久久久久久久久一区| 激情欧美一区二区三区| 国产精品91免费看| 中文字幕乱码一区久久| 国产免费理论视频| 亚洲av变态另类| 人妻熟女中文av| 99久久国产精品久久久久| 国产一区二区在线校花| 人妻乱干视频免费| 亚洲伊人久久在线| 午夜精品久久久久久久91蜜桃臀| 免费97人妻一区二区三区| 自拍视频一区在线| 精品少妇高潮涩涩av| 欧美日韩在线视频在线| 天天干天天日天天操天天色天天射| 人妻 在线 二区| 91麻豆久久国产视频| 中文字幕日韩一二三区视频| 久久久久久 九色av| 国产欧美日韩综合区| 熟女91n一区二区三区| 成人黄色在线电影网站| 制服丝袜美腿一区二区在线观看| 亚洲一区成人动漫在线观看 | 天天日天天插天天操天天射天天喷 | 国产精品国产三级av| 欧美mv日韩mv视频| 99久久国产综合精品久久国产| www国产亚洲精品久久麻豆| 亚洲春色男人天堂| 天天操天天操天天爽| 久久久久久亚洲精品中文字幕| 中文字幕亚洲精品字幕| 九九在线观看99视频| 午夜dv内射一区区| 精彩视频久久久久| 亚洲自治区二色一区二区三区| 中文字幕人妻aaaaa| 精品丝袜人妻久久| 韩国女主播青草完整视频| 大香蕉大香蕉婷婷丝袜大香蕉| 日本不卡无吗在线播放| 国产自拍偷拍日韩精品| 中文字幕日韩一二三区视频| 国产精品久久久亚洲av| 最新久久精品免费视频| 国产自拍偷拍日韩精品| 午夜亚洲激情久久| 亚洲精品男人黄色的天堂| 欧美亚洲韩日一区二区三区| 丰满女人床上激情久久| 亚洲不卡免费在线| 人妻少妇精品在线视频| 亚洲国产精品成人久久久| 欧美日韩亚洲中文色| 热久久77这里有精品综合久久| 最新亚洲国产高清激情| 亚洲精品成人日本| 亚洲字幕中文精品| 性在线勾引户外蜜臀av| 免费中文字幕啪啪啪| 成人动漫在线观看播放| 亚洲国产精品va在线观看www| 国产av日韩av| 亚洲不卡免费在线| 色91av在线播放| 日本伊人网在线播放| 国内精品久久久久久精品视频| 亚洲精品丝袜美腿久久| 日日天天日天天谢天天日| 大屁股熟女风间由美| 丝袜美腿亚洲一区二区三区三州| 成人欧美三级视频| 97人妻免费视频精品| 欧洲美女福利一区二区三区| 国产三级国产精品久久成人| 婷婷综合亚洲精品久久| 国产欧美日韩在线观看免费| 4438x亚洲最大成人网| 国产一区调教在线| 国产蜜桃av在线观看| 亚洲一区二区三区四区在线网站| 精品人妻免费av| 日韩女人小便视频| 麻豆av精品在线| 午夜蜜臀一区二区三区四区五区| 国产av熟女一区二区三区四季| 91精品人妻呻吟| 91一区二区久久国产乱| 婷婷综合亚洲精品久久| av网站软件在线播放| 99精品久久久久久久一区| 亚洲熟女一区二区三区电影| 欧美情色伦理在线| 中文精品久久久久人妻不| 狠狠挺进h嗯啊第一次视频 | 91高清视频在线一区| 日韩三级电影免费久久| 网页端在线聊天室| 亚洲Av无码成人黄网站在线| 天天操天天操天天爽| 久久激情欧美在线播放| 久久综合久久色鬼| 精品毛片av一区二区三区| 日韩亚洲av成人| 午夜在线视频播放网站| 日本二级三级在线观看| 美女精品福利视频在线观看| 天天色天天干天天| 美女扒开逼逼让男人操| 亚洲淫中文字幕一区| 亚洲日韩免费视频在线视频| 中文字幕亚洲天堂| 高清一区二区三区免费| 日韩最新视频播放| 日本欧美三级高潮受不了| 色视频在线一区二区三区| 亚洲啊v男人天堂| 亚洲情涩在线观看| 97视频在线观看一区二区三区| 黄色片网站国产精品| 日本伦理在线不卡| 少妇熟女一二三区| 五月婷婷视频免费观看| 手机av永久免费| 国产成人h片在线观看| 日韩电影亚洲专区天堂| 国产精品吴梦梦视频| 欧美另类极品videoshd| 亚洲中文资源在线| 97国产一区二区三区| 久久九九免费精品国产| 免费中文字幕啪啪啪| 亚洲丝袜美女诱惑| 国产av高潮大全| 午夜美女免费福利| 久草大香蕉人与兽| 日韩av中文字幕在线观看地址| 五月婷婷综合激情五月| 久久久久久久久久久久久福利| 婷婷综合五月激情网| 亚洲中文av字幕综合| 人人妻人人]人人澡欧美一区| 国产欧美成人精品久久| 日韩av网站 狠狠| 天天操天天射天天干天天爱 | 中文字幕色123| 97视频都是精品| 日一区二区三区在线视频| 狠狠综合久久综合88亚洲| 高清在线 中文字幕| 国产成人av网站网址| av国产网站在线观看| 亚洲视频亚洲视频| 黑丝美女被后入在线观看| 久久婷婷成人精品国产电影| 99精品欧美一区二区三区蜜桃| 日日夜夜免费看精品视频| 午夜精品尤物麻豆一区二区无限 | 久久久最新视频免费| 成人午夜毛片在线| 欧美成人亚洲另类图片小说网| 亚洲成a人在线播放| 制服丝袜亚洲另类| 强伦人妻一区二区三区视频18| 国产精品一区二区三区色 | 日韩欧美亚洲精品人妻| 欧美三级在线免费观看| 玖玖在线视频精品| 91亚洲视频在线观看黄| 国产经典在线播放| 成人午夜毛片在线| 久久久人妻视频免费观看| 色av色婷婷18人妻久久久| 亚洲欧美精品卡一卡二卡三| 淫妇天天干夜夜操| 人妻色图欧美日韩| 久久综合日日夜夜| 国产av专区网站大全| 成人黄色在线电影网站| 亚洲人妻自拍偷拍| 色综合久久中文综合久久| 婷婷只有在线精品视频| 亚洲视频亚洲视频| 黄色成人在线私拍| 亚洲一卡2卡3卡4卡5卡| 91国语对白精品露脸| 蜜桃视频一区二区精品| 亚洲一区在线蜜桃| 丰满年轻岳中文字幕一区二区| 国产精品久久久久精品三级a| 国产自拍各种精品视频| 免费a级黄片在线观看| 中文在线字幕成人| 日韩无人区一卡2卡3卡4卡| 亚洲欧美在线第一页| 亚洲av少妇高潮150p| 国产视频一区 在线播放| 欧美激情1区二区三区| 青青青青青青青青青青青操操| 国产一区二区在线校花| 日韩av天堂黄色片| 亚州av男人天堂| 黑人上司魅惑人妻电影| 亚洲一区两区三区四区| 久久熟妇一区二区三区| 欧美激情片在线看| 亚洲最大黄色福利| 777 亚洲天堂| 精品人妻交换视频在线看| 成人亚洲自拍一区| 另类专区亚洲欧美| 999热视频精品在线| 久久国产精品波多野吉衣av| 日本五十路六十路熟妇| 91欧美日韩在线观看视频| 自拍偷拍亚洲首页| 美女黄频蜜桃av| 最新国产精品手机网站| 亚洲小视频在线观看免费播放| 日韩免费黄色在线| 日本精品九九久久精品一本| 亚洲伊人久久一区二区综合| 色婷婷综合久久久精品视频| 40路熟女人妻aⅴ一区二区三区| 国产精品18久久久| 亚洲av一二三线| 最新日韩在线观看视频| 一道久久久综合狠狠| 99视频这里都是精品6| txtv在线视频| 99精品偷拍在线中文字幕| 东京热人妻视频在线观看| 欧美性猛交xxxx免费看久久| 九九在线观看视频国产剧情| 亚洲av变态另类| 婷婷综合在线五月天| 91麻豆久久国产视频| 成人伊人精品色xxxx视频 | 国产精品久久久久免费播放| 中文字幕av人妻呻吟| 91热视频在线观看| 日韩欧美一区二区三区不卡| 一级成人黄色影视| 俺去啦视频在线精品| 国产极品中文字幕在线| 香蕉久久网香蕉香蕉久久网| 奶头被吸得又大又黑np| 91在线免费观看视频在线观看| 国产激情怍爱视频在线| 人妻精品一二三区| 色一区二区三区四区五区| 日韩特级片中文字幕| 尹人香蕉久久99天天拍久女久 | 久久少妇高潮视频免费| 在线观看国产高清精品| 99这里只有精品视频在线| 免费中文字幕啪啪啪| 天堂性视频99在线播放免费| 在线 人妻 视频| 国语自产拍在线观看视频| 午夜少妇久久精品| 国产av一区二区三区亚洲人妻| 九九在线观看视频国产剧情| 久久伊人青青草大香蕉| 亚洲美女在线激情| 久久精品亚洲精品无码白云tv | 农村人妻一区二区三区| sese欧美日韩| 成人黄色av在线播放| 伊人久久中文字幕av| 中文字幕欧美极品| 久操在线免费观看视频| 国产美女啪啪av| 欧美熟妇大阴蒂高潮系列| av一区中文字幕在线| 99re视频在线观看视频| av网站国产在线| 日本老女人性生活视频| 国产女同一区二区久久| 色香蕉av一区二区| 久久aa黄色aa网站| 久久久久中文字幕日本a v| japanese白嫩人妻hd| 日韩欧美亚州综合| 中文一区二区人妻| 日本精品一区二区三区在线精品| 精品人妻一区二区免费| 欧美激情1区二区三区| 欧美影院一区二区三区| 亚洲风情资源网站| 免费观看日韩一级黄色大片 | 日韩丝袜美腿av| 自拍偷拍国产在线| 伊人久久精品在线观看| 97一区二区三区人妻免费| 免费少妇一区二区三区| av在线免费高清国语| 色婷婷久久综合久色| 不卡的av中文字幕在线观看| 蜜臀一区二区三区四区av| 欧美日韩色图一区| 伊人久久精品在线观看| aaa亚洲欧美日韩| 国产精品久久久久久av蜜臀| 国产熟女啪啪精品一区二区三区| 午夜美女诱惑福利| 青青操在观看视频| 一区二区三区四区五区国产av| 亚洲精品又黄又爽的视频| 大香蕉av网站在线观看| 久久久无码国产精品古装| 成人av在线天堂一区二区三区| 在线视频一区二区观看| 日韩毛片av网站| 999zyz玖玖资源站成人精品| 亚洲欧美日韩天堂| av老司机亚洲精品天堂| 91老司机福利在线| 国产精品一区二区在线邻家| 国产剧情福利在线播放| 亚洲av综合av一区二区综| 3d黄色在线网站| 99色视频免费在线观看| 欧美激情片在线看| 东京热制服人妻诱惑| 亚洲99福利视频| 亚洲一区二区三区三州| 午夜精品一区二区三区蜜桃| 疯狂人妻丝袜系列| 最新日韩在线观看视频| 国产精品99久久久久久天天| 日韩丝袜人妻中文字幕| 九九九九九九久久久久久久伊人| 国产午夜免费三区视频| 99r精品视频在线播放| 91九色porny国产| 超碰在线免费欧美成人亚洲| 99久精品综合在线观看| 久久久久久久久 国产精品| 人妻少妇精品视频一区97| 色婷婷久久综合久色| 女同性恋亚洲av| 日韩三级电影免费久久| 日本伦理在线一区| 黑人巨大的吊bdsm| 日本二级三级在线观看| 99精品欧美一区二区三区蜜桃| 香蕉久久成人国产精品| 91九色porn在线| 91小情趣制服肥臀九色| 亚洲伊人久久一区二区综合| 欧美日韩激情文学| 亚洲人成电影aaa| 国产中文字幕在线第一页| 少妇人妻久久久久久久久久| 亚洲天堂成人在线观看视频网站| 大色网小色网在线观看| 成人欧美三级视频| 日韩精品免费在线观看视频| 欧美精品在线视频| 在线看日韩不卡av| 99手机视频免费在线观看| 夜夜嗨一区二区三区直播内容| 久久久久国产精品黄毛片| 亚洲成网在线观看| 精品视频卡一卡二卡三卡四卡| 熟妇在线精品视频网站| 88人妻x88av| a在线视频播放免费网站| 五月婷婷色激情网| 日韩三级电影一区二区三区| 国产麻豆色哟哟网站| 久久久中文字幕人妻 | 在线成人黄色一级片| 久久一本色道综合六月天| 日韩国产人妻一区二区| 午夜精品久久久久久久久久久久久| 精品av综合一区二区三区| 亚洲 激情 av| 国产美女蜜臀av怡红| 日韩特级片中文字幕| 日韩美女中文字幕在线看| 黄片激情在线观看| 91高清在线观看一区| 91性高久久久久久久久| 亚洲经典1区2区3区| 午夜激情福利大片| aaa亚洲欧美日韩| 亚洲99福利视频| 国产 欧美?亚洲?日韩视频| 国产精品毛片久久久久久久久| 亚洲免费观看女优| 亚洲女人av在线| 色哟哟在线观看永久免费视频| 久久免费又粗又长又硬又深又色 | 亚洲美女精品中文字幕| 日韩乱码99在线视频| 天天色天天黄天天操天天射| 午夜精品久久久内射| 久久国产乱子伦免费看| 精品人妻一区二区区中文| 中文字幕乱码一区久久| 免费在线观看亚洲黄色| 亚洲一区天堂在线| 色狠狠亚洲爱综合国产| 亚洲 校园 春色 另类 激情| 亚洲av软件在线| 亚洲丝袜美女诱惑| 久久精品视频在线看15| 黑人巨大欧美一区二区视频| 一区二区久久在线观看| av最新在线中文天堂| 九九在线观看视频国产剧情| 国产又粗又猛又爽无又黄遮拦| 91在线播放 精品| 色视频在线一区二区三区| 免费在线观看视频任你日| 精品国产亚洲蜜月在线观看| 激情亚洲成人一区二区三区| 麻豆精选国产在线av观看| 天天日天天干天天插天天爱天天射| 人妻人伦精品国产| 99久久国产精品久久久久| 午夜免费观看国产视频| 亚洲Av无码成人黄网站在线| 国产美女蜜臀av怡红| 婷婷久久综合久色综| 欧美精品mv在线播放观看| 99偷拍精品一区二区| 亚洲免费毛片av| 最新国产激情视频| 黄色午夜免费网站| 亚洲av少妇高潮150p| 亚洲熟女av观看| 久久精品国产亚洲av麻豆软| 国产欧美日韩精品一区二区| 认你日爽在线视频| 超碰人人97青青草| 亚洲欧美日韩国产综合第一产区| 欧美 日韩亚洲一区| 九色视频蝌蚪在线免费观看| 日韩av在线激情| 在线国产99视频在线观看| 国语自产拍在线观看视频| 日本成年中文字幕| 熟妇人妻丰满激情视频| 99久国产精品午夜性色福利| 亚洲中文字幕视频免费在线| 国产情侣自拍成人| 伊人久久中文字幕av| 91网曝视频在线播放| 日本伊人伊人伊人| 日韩av在线播放中文字幕| 日韩中文字幕在线第一页| 亚洲综合图区麻豆| 亚洲国产长腿丝袜av天堂| 伊人久久婷婷综合五月97色| 蜜臀亚洲综合av一区二区三区| 日本亚洲欧洲色a| 国产又大又黄又粗在线观看| 2025av熟女| 青青草国产在线免费观看| 91亚洲精品资源| 中文人妻少妇爽爽视频| 久久久亚洲成人天堂| 亚洲色影在线视频| 一区二区三区内射少妇| 性感美女黄色刺激视频| 中文在线字幕成人| 欧美日韩在线在线观看视频 | 91精品国产丝袜长腿久久| 1024在线国产视频| av少妇人妻中文字幕| 婷婷av在线免费观看| 日本老熟妇ⅹxx| 在线观看视频瑟瑟| 婷婷综合五月激情网| 国产精品久久久久久av福利| av日韩在线第一页亚洲第一时间 | 久久亚洲成人精品av| 蜜臀久久99精品久久久兰草影| 欧美日韩av一区=区三区| 青青青操国产在线视频| 久久久久久精品成人| 日本五十路人妻hd| 亚洲丝袜美女诱惑| 国产裸体一二区三区视频| 中文字幕 日韩观看视频| 亚洲精品www47| 九九热在线视频精品1| 一本大道久久a久久综合精品| 88人妻x88av| 欧美日一区二区三区免费在线| 99色视频免费在线观看| 99视频30精品在线观看| 亚洲精品在线观看av密乳av | 国产综合一区久久91| 国产日韩精品成人欧美直接观看| 日韩超碰97在线观看| 无人妻一区二区三区费中文字幕| 国产 欧美 日韩在线视频| 久久精品9999蜜桃| 黄色国产一区在线观看| 丝袜人妻诱惑在线| 日韩av中文字幕在线观看地址| 熟女阿b老熟女一区| 97电视剧在线观看免费| 日韩中文字幕一区二区高清| 日韩一区不卡二区| 4438x亚洲最大成人网| 成人校园春色小说| 999热视频精品在线| 99国产精品久久久久久久成人| 免费在线观看视频任你日| 成人欧美三级视频| 五月婷婷欧美一区| 久草视频福利在线观看精品| 亚洲精品性色av| 色婷婷综合久久久精品视频| 中文字幕亚洲素人| 久久久久大香青草精品综合| 在线人妻视频观看| 青青视频在线播放欧免费| 日韩久久精品免费一区二区| 23久久精品中文字幕人妻| 极品少妇高潮久久久久久久久| 亚洲经典1区2区3区| 黄a大片av永久免费| 久久人妻精品系列蜜桃| 日韩欧美在线情色| 一区二区三区亚洲社区| 亚洲国产婷婷久久久久久一区| 激情av一区二区三| 成年人网站在线观| 人妻熟妇视频专区| 亚洲天堂成人在线观看视频网站 | 国产精品熟女高潮久久99| 美女色网站在线不卡粉嫩av| 大香蕉av网站在线观看| 青青视频在线播放欧免费| 天天插天天日天天啪| 美女扒开逼逼让男人操| 日韩中文字幕一区二区高清| 成人黄色性生活一级片| 中文字幕人妻xxxx| 99在线午夜日韩视频| 国产精品久久久久久久久av | 精品人妻一区二区三区四在五区| 国产精品v欧美精品v日韩| 午夜精品在线观看成人| 亚洲高清中文字幕不卡av一页| 久久久中文字幕人妻 | 亚洲五月六月激情| 中文字幕av最新更新| 日韩毛片免费播放| 成人理论片中文字幕| 欧美国产日本精品| 久久国产这里只精品免费| 欧美精品久久久久免费看| 粉嫩av在线综合| 噜噜视频在线播放视频| 色综合久综合久久综合久鬼88| 18禁涩涩网站在线| 一级片一级黄色片| 邻居天天cao我1v1高| 丝袜人妻一区二区三区网站| 蜜桃av久久久久久久| 东方在线大香蕉av| 直接看的av天堂| 自拍偷拍另类图区| 精品人妻熟女一区| 亚洲精品又黄又爽的视频| 性色av午夜精品福利在线观看| 日本伊人网在线播放| 97色在线电影免费观看 | 另类专区中文字幕一区二区三区| 偷拍自拍亚洲专区| 日日骚夜夜骚一区二区三区| 免费观看日韩一级黄色大片| 中文字幕久久久一区久久久青春| 中文有码字幕在线| 亚洲第一页色自拍| 国产亚洲欧美日韩国产精品三区| 午夜精品老牛av一区二区三区| 九九七视频在线观看| 亚洲天堂成人在线观看| 久久久久久一级二级三级| 成人影院久久久久久久久一区| 成人黄色在线电影网站| 精品久久在精品久久| 18禁美女国产美女网站| 婷婷在线www.| 在线中文字幕在线中文| 午夜激情免费视频| 亚洲综合一区在线| 97视频在线播放| 最新人妻激情视频网| 亚洲 欧美 另类 丝袜| 日本一道本美女久久| 日本二级三级在线观看| 人妻少妇精品在线视频| 日韩中文有码在线视频| 色在线观看aaa| 国产一区二区在线播| 国产免费理论视频| 熟女潮喷白浆x88av| 99热10在线观看国产| 日韩女人小便视频| 亚洲精选国产一区| 久久精品国产99久久久露| 日韩国产主播av在线| 国产又粗又长的视频| 亚洲精品乱码久久久久蜜桃网站| 青青草视频 成人| xx00视频在线观看| 亚洲av乱码一区二区三区蜜臀| 国产一区二区三区亚洲欧美| 天天操天天透天天射| av人妻精品一区二区三区| 免费97人妻一区二区三区| 黄a大片av永久免费| 日本老女人性生活视频| 午夜免费福利视频| 欧美一区二区三区,视频| 欧美二区三区精品在线| 日韩av欧美av二区| 久久人妻精品系列蜜桃| 在线a亚洲视频播放视频观看 | 久久99蜜桃精品视频| 99re视频在线观看视频| 日日夜夜免费看精品视频| 亚洲国产婷婷六月丁香伊| 一本之道久久久久久久| 人人妻人人爽97| 国产黑色丝袜在线| 26uuu日韩一区二区三区四区| 亚洲av狠狠做五月| 森泽佳奈视频一区二区三区| 亚洲av狠狠做五月| 少妇人妻一区二区| 国产欧美高清视频在线| 国产精品亚洲综合一区在线观看| 亚洲三级av一区| 一色桃子av人妻中文字幕| www.亚洲综合色| av在线精品观看资源网| 成人av在线天堂一区二区三区| 日韩乱码99在线视频| 久久久久久亚洲精品不卡| 国产av一区二区三区亚洲人妻| re久久99热国产| 森泽佳奈视频一区二区三区| 国产午夜免费三区视频| 自拍偷拍美腿丝袜亚洲| 五月婷婷久久中文| yeye38亚洲综合网久久| 成人伊人精品色xxxx视频| 亚洲情色 一区二区三区| 久久久久久久日本综合| 国产精品免费自拍视频大全| 91精品国产91久久久久杨7| av人妻精品一区二区三区| 97精品人妻一区蜜桃| 91精品国产丝袜长腿久久| 人妻少妇精品在线视频| 精品女厕盗摄一区二区三区| 亚洲精品女人久久| 三级有码在线观看| 日韩精品成人在线免费观看| 国产裸体学生视频全黄网站| 免费人人潮人人爽一区二区| 97在线观看国产免费视频| 草原免费视频亚洲| 99在线播放免费视频| 国产久久十八禁一区| 亚洲av少妇高潮150p| 天天操天天透天天射| 古代黄色片在线观看| 久久国产午夜精品| av在线播放观看播放观看| 日本aaaaa级特黄大片老头| 午夜精品在线观看成人| 强伦人妻一区二区三区视频18| 国产一区二区av少妇| 青青青操国产在线视频| 青青操在观看视频| 精品国产91久久久久久久| 久久久精品亚洲熟妇少妇| 蜜桃成人永久免费av大| 九九热视频在线视频| 色综合久综合久久综合久鬼88| 免费看插b视频网站| 精品人妻一区二区三区四在五区| 亚洲激情欧美伦理| 97久久久超国产精品05后| 99自拍视频国产在线| 高清视频区二区三区| 少妇被插激情视频| 久久99蜜桃精品视频| 丰满女人床上激情久久| 男女啪啪你懂的91| 国产精品,日韩视频| 欧美日韩在线在线观看视频| 亚洲最大黄色福利| 在线观看日韩黄色蜜桃| 黑人玩弄人妻一区二一区三区| 国产欧美日韩精品电影免费| 爱片av在线观看| 日韩亚洲欧美高清视频| 99久久九九社区精品| 久久久午夜精品日本| 日本男人操日本女人视频| 啄木乌av一区二区三区| 国产精品久久久久久精品香蕉| av男人的东京天堂热| 玖玖在线视频精品| 99re8精品视频在线播放| 久久久久久久久久久久国| 尤物av在线播放| 99久re热视频这只有精品6| 亚洲国产精品av久久久软件| 亚洲一区黄色av| 青青草原精品视频在线观看| 97在线观看视频人人| 日韩人妻中文字幕视频| 欧美极品激情一区二区三区| 九九热九九色九九操| av国产网站在线观看| 久久九九免费精品国产| 午夜三级二区三区| 天天操天天摸天天插| 少妇毛片一区二区三区| 91精品又粗又硬又爽少妇的视频| 久久久中文字幕人妻| 国内自拍全部视频在线| 天天插天天日天天啪| 精品888欧美久久久| 三级日本在线观看网站| 亚洲69偷拍视频在线观看| 天天日天天干天天插天天爱天天射| 色91av在线播放| 99热精品夜夜爽伊人| 国产第一影院草草影院久久| 三级久久国产试看3分钟| 日本少妇激情视频| 亚洲av网址观看| 麻豆成人性电影在线观看视频| 久久国产精品波多野吉衣av| 蜜桃成人永久免费av大| 日韩一区二区在线观看视频| av网站大全在线免费观看| 亚洲444kkkk在线观看| 97一区二区三区人妻免费| 亚洲av黄色永久免费在线观看| 久久婷婷视频一二三区| 久久人妻精品二区| 欧美日韩三级在线综合| 久久九九免费精品国产| 国产精品99久久久久久网站| 日本aaaaa级特黄大片老头| 超碰超碰超碰在线免费观看| 日韩精品一线二线三线四线 | 欧美一区三区三区高中清不卡 | 色综合综合色综合色综合色综合| 久久久久久久久久久久久福利| www.99久久久久.com| 少妇人妻一区二区网站| 精品久久久久久国产视频| 亚洲精品久久久久久蜜臀| 精品国产露脸久久av| 在线成人激情av| 丁香激情久久久久伊人精品| 1024你懂的日韩欧美人妻| 日韩欧美特级一级二级| 婷婷综合亚洲精品久久| av伊人网在线播放| 免费一区二区风骚徐娘| 欧美黄色aaa级| 偷拍亚洲另类av| 欧美一区二区三区综合网| 直接看的av天堂| 99久久久国产精品免费2021| 亚洲丝袜中文字幕在线观看| 91热视频在线观看| 亚洲熟女一区二区三区电影| 亚洲免费看125个视频| 亚洲天堂网最新网址| 日韩人妻专区一区二区| 久久精品99国产精品| 自拍视频在线观看一区| 日韩中文字幕三区| 亚洲国产日韩欧美精品综合| 欧美视频观看99| 国产又粗又猛又爽无又黄遮拦| 日韩 欧美 国产 丝袜| 中村智惠巨乳av| 午夜精品久久久久久久91蜜桃臀| 国产精品18久久久| 91污在线免费观看视频 | av少妇人妻中文字幕| 亚洲婷婷精品av久久蜜桃久久| 亚洲人妻一区二区在线观看| 日韩在线精品亚洲| 亚洲av男人的天堂久久精品| 男女av在线观看网站| 国产一区二区精美视频| 91九色精品福利视频| 亚洲欧美日韩激情在线| 高清一区二区三区免费| 久久久久久久久久久久久福利| 日韩 欧美成人999| 亚洲乱码国产乱码精品精可以看| 东京热人妻视频在线观看| 日韩免费观看v.| 色综合色综合网站| 在线观看视频瑟瑟| 骚熟妇人妻中文字幕网站| 中文字幕av人妻网| 亚洲蜜桃臀av在线| 亚洲国产日韩不卡| 2021狠狠狠狠狠| 日本精品久久久久电影网| 91高清在线观看一区| 国产又黑又粗又黄又大| 亚洲中文字幕在线视频播放| 日韩中文av在线观看| 日韩人妻激情瑟瑟| 久久久九九九精品视频| 亚洲麻豆综合精品| 亚洲欧美精彩视频| 激情亚洲成人一区二区三区| 99永久免费精品视频| 88人妻x88av| av不卡中文字幕在线观看| 99在线播放免费视频| 日本免费激情在线观看| 日韩 视频一区视频 二区| 丁香六月久久综合网| 精品中文字幕久久久久久| 精品丰满少妇人妻| 亚洲欧美熟女一区二区三区| 久久国产av人人做人人爽| 丰满人妻综合一区二区三区| 亚洲精品久久久久综合| 国产自拍免费在线观看视频| 国产麻豆丝袜美腿诱惑在线播放| 色爱综合久久一区二区三区蜜桃臀| 德国女人的大屁股| 久久精品国产亚洲avapp| 国产精品人妻系列23p| 久久aa黄色aa网站| 天天操天天操天天爽| 人妻久久久精品69系列| 美国av韩国av国产av| 瑟瑟视频免费观看在线| 亚洲综合日韩另类| 视频免费在线你懂的| 在线 人妻 视频| 久久久午夜精品日本| 91精品爽啪在线观看| 精品国产久久免费观看| 久久久久久久美女特黄大片| 欧美熟妇久久久久久久久久久| ysl蜜桃色14| 久久综合日韩欧美| 有码中文av字幕| 国产成人在线免费视频| 亚洲99福利视频| 色狠狠亚洲爱综合国产| 亚洲成人人妻一区| 91人妻精品一二三区| 亚洲第一页色自拍| 69视频在线 91| 国在线产视频91高清| 国产亚洲精品久久久久久女人| 中文字幕久久久一区久久久青春| 国产欧美一区视频在线观看| 久久午夜一成年人的视频| 高清在线 中文字幕| 精品久久国产精品久久| 天天日天天插天天操天天射天天喷| 99国产小视频在线播放| 精品日韩免费的网站| 蜜桃一区二区三区在线观看视 | 97在线观看国产免费视频| 日本aaaaa级特黄大片老头| 91精品成人在线视频| 亚洲蜜桃臀av在线| 99热这里有国产| 中文字幕久久中文字幕综合网| 久久aa黄色aa网站| 亚洲男人的天堂色偷免费| 91精品国产综久久久久| 中文字幕av在线更新| 日本在线高清视频| 自拍偷拍亚洲首页| 最新中文字幕久久点| 国产精品久久久久久av福利| 国产亚洲精品av成人无删减| 国产美女啪啪av| 美女网站视频大全| 啪啪国产视频自拍| 日本少妇搞b视频| 久久精品只有精品免费观看| 国产99精品视频免费观看| 伊人久久大香线蕉综合啪小说| 日韩少妇一区二区三区四区| 亚洲人成电影aaa| 99久re热视频这只有精品6| 911美女片黄在线观看| 美女黄频蜜桃av| 成人校园春色小说| 欧美激情1区二区三区| 亚洲综合视频麻豆| 中文字幕人妻在线| 极品视频一区在线观看| 最近最好的中文字幕免费| 色婷婷激婷婷深爱五月老司机| 日韩av在线免费直播| 欧美精品mv在线播放观看| 成人av电影网站日韩| 欧美精品一区二区久久不卡| 麻豆精品国产传媒美女网站| 亚洲综合日韩另类| 偷拍在线观看视频| 天天干天天操2020| 亚洲综合一区在线| 国产精品黄视频免费看| 天天射天天热天天舔| 欧美二区三区精品在线| 国产av高潮大全| 在线视频青青青草| yy8098国产av久久| 一本到88综合久久99| 人妻少妇精品在线视频| 一区三区四区精品| 国产精品亚洲av三区| 国产av久久久久久久| 国产精品色悠悠在线观看| 果冻亚洲国产成人av播| 久久精彩视频免费看| av中文字幕在线播放| 国产成人看片在线| 欧美日韩激情免费在线视频| 99久热er在线精品视频| 日韩一区不卡二区| 日韩 激情 视频| 偷拍亚洲另类av| 午夜精品在线观看成人| 色福利视频导航网| 视频不卡在线观看| 欧美中文字幕精品在线观看| 国产69精品久久久久乱码| 中文字幕av人妻呻吟| 91 亚洲 在线| 亚洲成人激情自拍| 香蕉成人在线91| 精品久久久久久久久字幕| 成人伊人精品色xxxx视频 | 97视频在线观看一区二区三区| 蜜桃精品一区二区三区免费看| 久久亚洲天堂成人精品| 全网小视频资源免费在线播放| 日韩va欧美激情在线| 18国产精品久久久久久| av人妻精品一区二区三区| aise美乳诱惑| 99国产精品视频久久久久| 亚洲一区黄色av| 有没有黄色一级片| 久久精品亚洲精品无码白云tv| 蜜桃av一区二区三区视频| 精品丰满少妇人妻| 97精品天天在线天天精品| 91 亚洲 在线| 久久久精品一区二区| 欧美亚洲韩日一区二区三区| 亚洲字幕中文精品| 青青操操操操操操操| 亚洲美女天堂av| 日一区二区三区在线视频| 亚洲一卡2卡3卡4卡5卡| 精品亚洲精品国产一本大道| 一区二区三区精品精品| av毛片大全亚洲| 九九七视频在线观看| 又黄又爽的视频在线观看| 18禁涩涩网站在线| 亚洲情涩在线观看| 日韩欧美亚洲精品人妻| 日韩美女精品视频| 久久国产精品亚洲欧美阿娇| 国产99精品视频免费观看| aaa级欧美黄片| 日韩av一区二区三区人妻 | 久久成人综合亚洲精品欧美| 丁香激情久久久久伊人精品 | 激情人妻一区二区三区| 午夜xb福利视频| 成人短视频在线版| 亚洲成人天堂久久| 啪啪国产视频自拍| ysl蜜桃色14| 中文一区二区人妻| 中文字幕av久久爽伊人一级| 日本人妻乱子免费播放| 亚洲一卡2卡3卡4卡5卡| 国产精品久久久久久久久av| 91精品伊人久久久大香线蕉91 | 人妻中文字幕不卡| 欧美亚洲国产精品自拍| 麻豆国产在线观看视频| 23久久精品中文字幕人妻| 伊人伊人伊人伊人网| 丁香激情久久久久伊人精品 | 亚洲成人人妻一区| 久久久久国产精品黄毛片| 老男人与老熟女的日逼逼| 亚洲三级激情在线观看| 中文字幕av最新更新| 国产精品久久这里都是精品| 久久人妻精品系列蜜桃| 亚洲美女视频成年人黑丝| 国产美女蜜臀av怡红| 色综合久综合久久综合久鬼88 | 亚洲另类综合小说| 日韩 欧美成人999| 日本伊人伊人伊人| 在线 亚洲 精品| 久久婷婷成人精品国产电影| 九九热九九色九九操| 亚洲天堂网最新网址| 免费观看性感美女| 久久 91 欧美 精品| 午夜内射视频在线观看| 校园春色激情另类| 日韩中文乱码字幕| 一本到88综合久久99| 肥屁股高潮迭起一区二区的视频| 麻豆一区二区在线视频| 神马一区二区三区伦理片| 精品亚洲午夜久久久久四季| 久操在线免费观看视频| 欧美激情一级欧美精品| av人妻日本不卡二区| 午夜精品在线观看成人| 99偷拍精品一区二区| 国产成人国拍亚洲精品| av爱爱亚洲一区| 日韩色黄电影在线观看| 久久99 国产精品| 亚洲 欧美 另类 丝袜| 亚洲人妻自拍偷拍| 偷拍 自拍 在线| 久草视频在线有精品| av天堂亚洲激情| 国产视频97在线播放| 一级特色特级黄大片| 狠狠激情精品视频在线观看| 天天日天天舔y透| 成人国内精品久久久久一区| 日本中文字幕诱惑| 国产精品久久天干天干| 超碰人妻一区二区三区| 久久精品熟女俱乐部| 凹凸视频一二三区在线观看| 免费一区二区三区四区av| 丝袜诱惑亚洲一区| 在线视频国产香蕉岛国| 精品国产亚洲蜜月在线观看| 久草视频在线有精品| 亚洲av 成人亚洲av| 岛国精品少妇一区二区三区| 国产视频一区 在线播放| 久久久久亚洲av噜噜avav| 色91av在线播放| 丰满年轻岳中文字幕一区二区| 久久国产精品99精品国产| 亚洲黄色片在线观看| 青青视频在线播放欧免费| 青青草原国产在线精品| 黄色成人在线私拍| av男人的东京天堂热| 91国产精品久久久久| 国产一区精品视频免费播放| 中文在线字幕成人| 免费在线观看亚洲黄色| 中文字幕日韩在线av| av在线亚洲最大的| 日本伦理视频在线| 亚洲婷婷91中文字幕| 久久一区二区三区av| 美国av韩国av国产av| 国产熟女一区二区91| 粉嫩av在线综合| 91国产老熟女精品| 色吧中文字幕在线| 999精品视频在线观看精品| 亚洲中文字幕久久精品品| 亚洲一卡2卡3卡4卡5卡| 五月婷婷综合中文字幕| 97精品人妻一区蜜桃| 无人妻一区二区三区费中文字幕| 99日韩欧美在线观看| 一区二区三区av资源网| 午夜精品久久久内射| 少妇熟女一区三区| 免费黄色特级大片| 91蜜桃视频精品| 四虎日韩在线观看| 国产成人AV无码一二三区| 一区二区三区在线视频精品| 91色综合综合热五月激情| 五月婷婷中文字幕网| 凹凸视频一二三区在线观看| 动漫精品在线观看视频| 波多野结衣内射在线视频| 亚洲av极品在线| 国产三级伦理在线观看| av在线免费观看天堂| 精彩视频久久久久| 凹凸视频一二三区在线观看| 自拍偷拍另类图区| 日本大香蕉怡红院| 国产亚洲精品久久久久久久久| 欧美国产日韩美女主播视频一区 | 亚洲av少妇系列| 东方在线大香蕉av| av网站软件在线播放| 日韩中文字幕激情在线| 国产成人午夜三级在线观看| 91九色porn在线| 尹人香蕉久久99天天拍久女久| 国产精品99久久久久久天天| 久久精品av网站在线播放| 国产极品中文字幕在线| av一区中文字幕在线| 亚洲男人的天堂久久| 99只有精品在线观看| 深夜视频在线四区| 国产精品久久久久久av蜜臀| 免费在线观看视频任你日| 国产精品吴梦梦视频| 4438x中文字幕| 午夜美女免费福利| ysl蜜桃色14| 国产精品免费自拍视频大全 | 久久久久久久久久一级| 久久久精品伦理一区二区三区| 社区福利一区二区三区| 狠狠操你在线观看| 久久久久亚洲av噜噜avav| 日本黄色操碌缬巴| 人妻精品一二三区| 久久久精品国产sm调教| 在线亚洲无av码| 日韩人妻系列超碰无码| 99热6在线观看高清完整版| 香蕉国产精品久久| 日韩av欧美av二区| 国产女同一区二区久久| 顶级少妇一区二区三区| 五月婷婷激情综合少妇| 超碰在线免费欧美成人亚洲| 中国学习在线成人高考| 午夜三级二区三区| 嫩草九九九精品乱码一二三| 成人影院久久久久久久久一区| 亚洲av懂色av| 久久精品国产亚洲激激情 | 夫妻性生活一级黄色大片| 精品国产免费久久久久尖叫| 99re8精品视频在线播放| 日本熟妇vvw日本人妻| 欧美 日韩亚洲一区| 日本免费久久精品| 国产在线看片免费观看| 亚洲av男人的天堂久久精品| 日韩高清av在线免费观看| 白嫩丰满少妇大战黑人| 国产探花熟女av在线| 亚洲国产成a人片77777| 日韩深喉口爆吞精| 亚州av男人天堂| 视频在线免费观看色| 久久久久久久日本综合| 久久99 国产精品| 伊人久久视频在线观看| av丰满激情人妻在线| 精品丰满少妇人妻| 31xx日本熟女| 国产精品色婷婷久久58| 国产自拍偷拍日韩精品| 中文字幕在线视频在线| 色一区二区三区四区五区| 中文字幕制服丝袜在线电影| 国产超碰人人一区二区三区| 国产精品欧美一区二区三区不卡 | 国产黄色一级大片全集| 最全同人动漫网址| 久久精品9999蜜桃| 日本熟妇肉体裸交| 日韩中文字幕美女丝袜诱惑| 久久精品99国产精品| 亚洲男人一区二区三区| 内地av青青在线观看| 97资源总站中文字幕| 久久 久久 久久av| 日本一道本美女久久| 日本免费观看一区| 蝴蝶综合久久久久久久久久| 天天干天天操天天射久| 把高跟丝袜美腿扛在肩上| 国产99精品久久久久久久| 久久精品国产亚洲avapp| 乱码欧美中文字幕日韩| 美女内射白天91| 一本色道久久久亚洲天堂网| 大奶子av在线播放| 男人操女人中国产视频| 三级久久国产试看3分钟| 日韩无码电影一区二区三区四区| 久久一本色道综合六月天|