久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁技術(shù)文章
文章詳情頁

Windows2000下用戶模式的內(nèi)存掃描

瀏覽:145日期:2023-08-27 11:11:07

簡述:

本文簡要介紹了在Windows2000下實現(xiàn)內(nèi)存掃描的基本理論和實現(xiàn)的辦

法。內(nèi)存掃描是一項重要的技術(shù),有相當廣泛的應用范圍:如病毒掃描、

游戲修改等。Windows2000是一個完全保護的系統(tǒng),且具有兩種工作模式,

即用戶態(tài)和核心態(tài)(User Model and Kernel Model)。內(nèi)存掃描也可分為

用戶態(tài)的內(nèi)存掃描與核心態(tài)的內(nèi)存掃描。本文主要講述的是工作于用戶態(tài)

的內(nèi)存掃描。

一.相關(guān)理論

早期在Dos壞境下進行內(nèi)存掃描是一件相對簡單的事情。因為DOS工作在

CPU的實模式下,沒有采用虛存技術(shù)也沒有提供內(nèi)存的保護機制,只要實實

在在的掃描完所有的物理內(nèi)存,一切工作也就完成了,早期有一些防毒軟

件就是用了這樣的辦法。當然為了提高效率,我們并不用掃描所有的內(nèi)存

區(qū)域,因為有些空間是沒有被用到的,掃描這些地方也是只浪費時間。這

可以通過遍歷DOS系統(tǒng)的MCB(Memory Control Block)鏈,來得到實際內(nèi)

存的使用區(qū)域,從而使掃描的效率大大提高。相似的思路在Windows2000下

的內(nèi)存掃描也是適用的。

Windows2000則是一個完全保護的系統(tǒng),工作于CPU的保護模式下,引入

了虛存技術(shù)。每個進程擁有獨立的4GB的地址空間,其中低的2GB為進程的私有空間,高的2GB為系統(tǒng)空間的映射(如果在Boot.ini文件中使用

“/3GB”的開關(guān)可以使進程的私有空間增大到3GB,系統(tǒng)空間1GB)。對于

每個進程來講其虛擬的地址空間是連續(xù)的,實際上它們是以頁面為單位

離 散的存在于物理內(nèi)存中,一些可能被交換到硬盤上的頁面文件中,而

且還有大部分的空間是未提交(Uncommitted)的。因此在Windows2000

中對進程的用戶空間進行掃描必須依次對每個進程的空間進行掃描。一

個進程的低2GB有空間的分布如下表:

范圍

大小

作用

0x0~~ 0xFFFF

64 KB

不可訪問區(qū)域,只是用來防止非法的指針訪問,訪問該范圍的地址會導致訪問違例。

0x10000~~

0x7FFEFFFF

2 GB 減去至少 192 KB

進程的私有地址空間

0x7FFDE000~~

0x7FFDEFFF

4 KB

進程中第一個線程的線程環(huán)境塊,即 TEB ( Thread environment block )

0x7FFDF000~~ 0x7FFDFFFF

4 KB

進程的進程環(huán)境塊,即 PEB ( Process environment block )

0x7FFE0000~~

0x7FFE0FFF

4 KB

一個共享的只讀用戶數(shù)據(jù)塊,該塊映射到到系

統(tǒng)空間的一個數(shù)據(jù)塊,其中存放的是一些系統(tǒng)

信息如系統(tǒng)時間、時鐘的滴答數(shù)、系統(tǒng)版本號

等。這樣訪問這些信息的時候系統(tǒng)就不用切換

到核心模式。

0x7FFE1000~~

0x7FFEFFFF

60 KB

不可訪問

0x7FFF0000~~ 0x7FFFFFFF

64 KB

不可訪問,用于防止線程的緩沖跨越兩種模式

空間的邊界

表 1

二.實現(xiàn) 從上表可以看出,我們要掃描范圍的起點和終點不是從 0~~2GB,而只是其中的一 部分。要得到這個起點和終點可以使用API函數(shù)GetSystemInfo,函數(shù)的原型如下: VOID GetSystemInfo( LPSYSTEM_INFO lpSystemInfo // system information ); 而在結(jié)構(gòu)SYSTEM_INFO中有兩個域: lpMinimumApplicationAddress 和 lpMaximumApplicationAddress (類型都是 LPVOID) 中 ,我們就可以得到一個應用程序可用的最小和最大的地址空間。這樣我們就得到了要掃描的地址的起點和終點。那么是不是這起點和終點間所有的地址都要掃描呢?并不是這樣的,因為一般情況下一個進程是用不著這么大(接近2GB)的地址空間的。因此一個進程的大部分地址空間都是未用(Free)或是保留(Reserved)的,真正用到的只是那些已提交(Committed)的內(nèi)存而已。

內(nèi)存頁面可以有三種狀態(tài): 未用( Free)、保留(Reserved)和提交

(Committed)。一個未用的頁面是指該頁面未被保留或是提交,對一個進

程來講一個未用的頁面是不可訪問的,訪問這樣的頁面將導致訪問違例。

進程可以要求系統(tǒng)保留一些頁面以備后用,系統(tǒng)返回一段保留的地址給進

程,但是這些地址同樣是不可訪問的,進程若想使用這段地址空間,使用

必須先提交。只有一個提交的頁面才是一個真正可以訪問的頁面。不過你

提交了一個頁面,系統(tǒng)并不會馬上分配物理頁面,只有在該頁面第一次被

訪問到時,系統(tǒng)才會分配頁面并初始化。另外,這三個狀態(tài)的兩兩之間都

是可以相互轉(zhuǎn)化的。相關(guān)的API函數(shù)有 VirtualAlloc VirtualAllocEx 、

VirtualFree 、 VirtualFreeEx 等 .

這樣我們的工作已大大減少了,只需要掃描那些提交的頁面就好了。接下來要做的就

是得到一個進程的已提交的頁面范圍。這就要用到另外兩個 API函數(shù)VirtualQuery和

VirtualQueryEx。兩個函數(shù)的功能相似,不同就是VirtualQuery只是查詢本進程而

VirtualQueryEx可以查詢指定進程的內(nèi)存空間信息,后者正是我們所需要的,函數(shù)原

型如下:

DWord VirtualQueryEx(

HANDLE hProcess , // handle to process LPCVOID lpAddress , // address of region PMEMORY_BASIC_INFORMATION lpBuffer , // information buffer SIZE_T dwLength // size of buffer ); 第一個參數(shù)是進程的句柄;第二個參數(shù)是內(nèi)存地址指針;第三個參數(shù)是指向 MEMORY_BASIC_INFORMATION 結(jié)構(gòu)的指針,用于返回內(nèi)存空間的信息;第四個參數(shù)是 lpBuffer 的長度。再來看一下結(jié)構(gòu) MEMORY_BASIC_INFORMATION 的聲明: typedef struct _MEMORY_BASIC_INFORMATION { PVOID BaseAddress ; PVOID AllocationBase ; DWORD AllocationProtect ; SIZE_T RegionSize ; DWORD State ; DWORD Protect ; DWORD Type ; } MEMORY_BASIC_INFORMATION, *PMEMORY_BASIC_INFORMATION; 第一個參數(shù)是查詢內(nèi)存塊的基地址;第二個參數(shù)指的是用VirtualAlloc分配該內(nèi)存時實際分配的基地址, 可以小于 BaseAddress ,也就是說 BaseAddress 一定包含在 AllocationBase 分配的范圍內(nèi);第三個參數(shù)指的是分 配該頁面時,頁面的一些屬性,如 PAGE_READWRITE、PAGE_EXECUTE 等(其它屬性 可參考 Platform SDK );第四 個參數(shù)指的是從 BaseAddress 開始,具有相同屬性的頁面的大小。第五參數(shù)指的是頁面的狀態(tài),有三種可能值: MEM_COMMIT、MEM_FREE 和 MEM_RESERVE ,這個參數(shù)對我們來說是最重要的了,從中我們便可知指定內(nèi)存頁面的狀態(tài)了; 第六個參數(shù)指的是頁面的屬性,其可能的取值與 AllocationProtect 相同;最后一個參數(shù)指明了該內(nèi)存塊的類型,有三種可能值: MEM_IMAGE 、 MEM_MAPPED 和 MEM_PRIVATE 。 這樣我們就可得到進程中需要掃描的地址范圍了。到這里剩下的問題就是要讀取指定的進程的指定的地地址空間的內(nèi)容了。這里要用到的是用于調(diào)試程序和錯誤處理( Debugging and Error Handling )的 API函數(shù)。在“ Platform SDK: Debugging and Error Handling” 章節(jié)中,介紹了一部分與程序調(diào)試和錯誤處理相關(guān)的 API函數(shù),有許多是很有用,例如我們下面用到的 ReadProcessMemory 和 WriteProcessMemory, 它們原型如下: BOOL ReadProcessMemory( HANDLE hProcess , // handle to the process LPCVOID lpBaseAddress , // base of memory area LPVOID lpBuffer , // data buffer SIZE_T nSize , // number of bytes to read SIZE_T * lpNumberOfBytesRead // number of bytes read ); BOOL WriteProcessMemory( HANDLE hProcess , // handle to process LPVOID lpBaseAddress , // base of memory area LPCVOID lpBuffer , // data buffer SIZE_T nSize , // count of bytes to write SIZE_T * lpNumberOfBytesWritten // count of bytes written ); 參數(shù)很簡單從它們的名字都可以猜出其意義了,這里就不多做說明了。要說明的是 要對一個進程進行 ReadProcessMemory操作,當前進程對要讀的進程必須有PROCESS_VM_READ訪問權(quán)。要對一個進程進行WriteProcessMemory操作,當前進程對要寫的進程必須有PROCESS_VM_WRITE 和PROCESS_VM_OPERATION訪問權(quán)。要獲得一個進程的句柄和對這個進程的一些控制權(quán)可以使用API函數(shù)OpenProcess得到,其使用不做詳細說明了,只給出其原型: HANDLE OpenProcess( DWORD dwDesiredAccess , // access flag BOOL bInheritHandle , // handle inheritance option DWORD dwProcessId // process identifIEr );

這樣對一個進程的用戶地址空間內(nèi)存掃描的流程基本就闡述清楚了。

三 相關(guān)的問題:

在實際操作中會遇到一些問題。如果我們指定了寫相關(guān)的訪問權(quán)(如

PROCESS_VM_WRITE 、 PROCESS_SET_INFORMATION 、 PROCESS_ALL_ACCESS 等 ),用

OpenProcess打開一些普通進程是沒什么問題,但要是打開的是系統(tǒng)安全進程

(如Sy stem、Winlogon、smss、csRSS、services、lsass等)或是一些注冊為

服務的進程時,就會遇到“訪問拒絕”的錯誤,這是為了系統(tǒng)的安全而采取的保

護手段。說明了當前的進程沒有足夠的權(quán)限來進行此操作。在進程控制結(jié)構(gòu)中

有一個“訪問令牌”(Access tokens),里面包含有本進程的權(quán)限信息。一些常

用的權(quán)限如表1所示(摘自Inside Windows2000,Third Edition)。

權(quán)限名

權(quán)限含義

SeBackup

在備份的時候繞過安全檢查

SeDebug

可對一個進程進行調(diào)試

SeShutdown

可關(guān)閉本地系統(tǒng)

SeTakeOwnerShip

在沒有得到自由訪問權(quán)的情況下得到一個對象的所有權(quán)

表 2

要對一個任意進程(包括系統(tǒng)安全進程和服務進程)進行 指定了寫相 關(guān)的訪問權(quán)的 OpenProcess操作,只要當前進程具有SeDeDebug權(quán)限就 可 以了。要是一個用戶是Administrator或是被給予了相應的權(quán)限, 就可以具 有該權(quán)限。可是,就算我們用Administrator帳號對一個系統(tǒng)安全進程執(zhí)行 OpenProcess(PROCESS_ALL_ACCESS,FALSE, dwProcessID)還是會遇到 “訪 問拒絕”的錯誤。什么原因呢?原來在默認的情況下進程的一些訪問權(quán)限 是沒有被使能( Enabled)的,所以我們要做的首先是使能這些權(quán)限。與此 相關(guān)的一些API函數(shù)有OpenProcessToken、 LookupPrivilegeValue 、 AdjustTokenPrivileges 。我們要修改一個進程的訪問令牌,首先要獲得進 程訪問令牌的句柄,這可以通過 OpenProcessToken得到,函數(shù)的原型如:

BOOL OpenProcessToken( HANDLE ProcessHandle , DWORD DesiredAccess , PHANDLE TokenHandle ); 第一參數(shù)是要修改訪問權(quán)限的進程句柄;第三個參數(shù)就是返回的訪問令牌指針;第二個參數(shù)指定你要進行的操作類型,如要修改令牌我們要指定第二個參數(shù)為 TOKEN_ADJUST_PRIVILEGES( 其它一些參數(shù)可參考 Platform SDK )。通過這個函數(shù)我們就可以得到當前進程的訪問令牌的句柄(指定函數(shù)的第一個參數(shù)為 GetCurrentProcess()就可以了)。接著我們可以調(diào)用AdjustTokenPrivileges對這個訪問令牌進行修改。AdjustTokenPrivileges的原型如下: BOOL AdjustTokenPrivileges( HANDLE TokenHandle , // handle to token BOOL DisableAllPrivileges , // disabling option PTOKEN_PRIVILEGES NewState , // privilege information DWORD BufferLength , // size of buffer PTOKEN_PRIVILEGES PreviousState , // original state buffer PDWORD ReturnLength // required buffer size );

第一個參數(shù)是訪問令牌的句柄;第二個參數(shù)決定是進行權(quán)限修改還是除能( Disable)所有權(quán)限;第三個參數(shù)指明要修改的權(quán)限,是一個指向 TOKEN_PRIVILEGES 結(jié)構(gòu)的指針,該結(jié)構(gòu)包含一個數(shù)組,數(shù)據(jù)組的每個項指明了權(quán)限的類型和要進行的操作 ; 第四個參數(shù)是結(jié)構(gòu) PreviousState 的長度,如果 PreviousState 為空,該參數(shù)應為 NULL ;第五個參數(shù)也是一個 指向 TOKEN_PRIVILEGES 結(jié)構(gòu)的指針,存放修改前的訪問權(quán)限的信息,可空;最后一個參數(shù)為實際 PreviousState 結(jié)構(gòu)返回的大小。在使用這個函數(shù)前再看一下 TOKEN_PRIVILEGES 這個結(jié)構(gòu),其聲明如下:

typedef struct _TOKEN_PRIVILEGES { DWORD PrivilegeCount ; LUID_AND_ATTRIBUTES Privileges []; } TOKEN_PRIVILEGES, *PTOKEN_PRIVILEGES;

PrivilegeCount 指的數(shù)組原素的個數(shù),接著是一個 LUID_AND_ATTRIBUTES 類型的數(shù)組,再來看一下 LUID_AND_ATTRIBUTES 這個結(jié)構(gòu)的內(nèi)容,聲明如下:

typedef struct _LUID_AND_ATTRIBUTES { LUID Luid ; DWORD Attributes ;

} LUID_AND_ATTRIBUTES, *PLUID_AND_ATTRIBUTES

第二個參數(shù)就指明了我們要進行的操作類型,有三個可選項:

SE_PRIVILEGE_ENABLED 、 SE_PRIVILEGE_ENABLED_BY_DEFAULT 、

SE_PRIVILEGE_USED_FOR_ACCESS 。要使能一個權(quán)限就指定 Attributes 為

SE_PRIVILEGE_ENABLED 。第一個參數(shù)就是指權(quán)限的類型,是一個 LUID 的

值, LUID 就是指 locally unique identifier ,我想 GUID 大家是比較熟

悉的,和 GUID 的要求保證全局唯一不同, LUID 只要保證局部唯一,就是

指在系統(tǒng)的每一次運行期間保證是唯一的就可以了。另外和 GUID 相同的

一點, LUID 也是一個 64 位的值,相信大家都看過 GUID 那一大串的值,我

們要怎么樣才能知道一個權(quán)限對應的 LUID 值是多少呢?這就要用到另外

一個 API 函數(shù) LookupPrivilegeValue ,其原形如下:

BOOL LookupPrivilegeValue( LPCTSTR lpSystemName , // system name LPCTSTR lpName , // privilege name PLUID lpLuid // locally unique identifier );

第一個參數(shù)是系統(tǒng)的名稱,如果是本地系統(tǒng)只要指明為 NULL 就可以了,

第三個參數(shù)就是返回 LUID 的指針,第二個參數(shù)就是指明了權(quán)限的名稱,

如“ SeDebugPrivilege ”。在 Winnt.h 中還定義了一些權(quán)限名稱的宏,

如:

#define SE_BACKUP_NAME TEXT('SeBackupPrivilege')

#define SE_RESTORE_NAME TEXT('SeRestorePrivilege')

#define SE_SHUTDOWN_NAME TEXT('SeShutdownPrivilege')

#define SE_DEBUG_NAME TEXT('SeDebugPrivilege')

這樣通過這三個函數(shù)的調(diào)用,我們就可以用 OpenProcess(PROCESS_ALL_ACCESS,FALSE, dwProcessID)來打獲得任意進程的句柄,并

且指定了所有的訪問權(quán)。

四 總結(jié)

用戶模式的內(nèi)存掃描還是具有想當?shù)木窒扌裕荒芡耆珤呙?/p>

Windows2000的全部內(nèi)存空間。要對系統(tǒng)空間進行掃描,在Windows2000下,用戶模式的應用程序是不能實現(xiàn)的。要實現(xiàn)對系統(tǒng)空間的掃描,必須

通過工作于核心模式的程序—驅(qū)動程序來實現(xiàn)。

主站蜘蛛池模板: 国产成人一区 | 亚洲精品视频在线 | 欧美性猛交一区二区三区精品 | 日韩城人网站 | 国产精品久久 | 久草视频免费看 | 中文字幕亚洲精品 | 日韩视频在线免费观看 | 中文一区| 国产福利一区二区 | 亚洲国产精品免费 | 久久之精品 | 欧美一级片在线 | 中文字幕在线免费看 | 欧美亚洲一区 | 一区二区三区精品 | 日韩av福利 | 久草在线资源福利站 | 天天操狠狠操 | 黄久久久 | 亚洲 欧美 精品 | 久久久高清 | 日本视频在线 | 午夜在线观看 | 成人欧美一区二区三区黑人孕妇 | 国产成人久久精品一区二区三区 | 精品国产乱码久久久久夜 | 韩日一区二区 | 亚洲一区二区国产 | 欧美国产精品一区 | 一区二区av | 日韩福利一区二区 | 久久国产精品91 | 男女羞羞羞视频午夜视频 | 中文字幕 视频一区 | 日韩和的一区二区 | 91中文字幕在线观看 | 久久人人爽人人爽 | 一区二区在线视频 | 欧美激情精品久久久久 | 久久国产美女 | 国产美女精品视频免费观看 | 中文字幕2021 | 精品免费视频 | 国产探花在线精品一区二区 | 国产成人精品在线观看 | 国产成人精品av | 欧美性18 | 国产精品成人品 | 欧美视频在线播放 | 久久亚洲国产精品日日av夜夜 | 97成人在线 | 羞羞的视频在线免费观看 | 国产精品96久久久久久久 | 国产激情视频在线观看 | 日本久久视频 | 亚洲狠狠| 亚洲一区二区三区四区五区午夜 | 日韩毛片免费在线观看 | 欧美日韩国产一区二区三区不卡 | 免费成人av在线 | 国产视频综合 | 国产日韩成人 | 99久久九九 | aaa在线免费观看 | 国产一区二区三区在线免费观看 | 性生活毛片| 九色视频在线播放 | 91精品国产欧美一区二区 | av天天操 | 午夜精品久久久久久久久久久久 | 日本阿v视频高清在线中文 中文二区 | 九九热九九 | 一级一片免费视频 | 亚洲欧美在线观看 | 美女操网站| 大香伊蕉在人线视频777 | 久久久久久国产精品美女 | 久久一区二区三区四区 | 免费日韩精品 | 久久97视频 | 亚洲精品一区国语对白 | 久久夜视频 | 国产精品久久久久影院色老大 | 黄色免费视频 | www.99久| 亚洲精品成人在线 | 久久久国产精品入口麻豆 | 中文字幕在线视频第一页 | 91在线看| 亚洲综合在线视频 | 麻豆av电影在线观看 | 手机看片1 | 午夜精品一区二区三区在线播放 | 看毛片网站 | 国产精品久久久久影院色老大 | 国产在亚洲 线视频播放 | 一级a毛片 | 五月激情综合 | 每日更新av | 国产精品久久国产精品99 gif | 欧美在线网站 | 国产日韩精品在线观看 | 婷婷激情五月 | 九九亚洲 | 黄色一级片在线看 | 精品久久av| 一区二区三区在线播放 | 成人综合在线观看 | 国产高清在线精品一区二区三区 | 免费av一区二区三区 | 国产成人高清 | 欧美激情自拍偷拍 | 欧美一区二区三区免费 | 一区二区三区国产 | 国产精品久久久久aaaa九色 | 91在线精品一区二区 | 精品在线播放 | av网站在线免费看 | 国产精品亚洲一区 | 亚洲人成在线播放 | 成人精品视频99在线观看免费 | 久久aⅴ乱码一区二区三区 91综合网 | 国内精品一区二区 | 日韩精品一区二区在线观看 | 国产午夜小视频 | 亚洲第一精品在线 | 日韩一区二区三区视频 | 中文字幕最新在线 | 中文字字幕一区二区三区四区五区 | 日穴视频在线观看 | 精品在线看 | 日本黄色毛片 | 99热播在线 | 99re6热在线精品视频播放 | 亚洲一区二区av | 中文字幕av一区二区 | 99精品视频在线观看 | 999视频在线 | av一区在线观看 | 亚洲精品国产一区 | 亚洲精品一区中文字幕乱码 | 日韩精品一区二区三区在线播放 | 免费看爱爱视频 | 亚洲欧美日韩在线一区二区 | 99热精品在线 | 超碰最新网址 | 亚洲专区欧美 | 精品在线一区二区 | 美国一级毛片a | 国产精品一区二区久久 | 国产精品一区二区视频 | 九九精品视频在线 | 999这里只有精品 | 色69av| 国产亚洲一区在线 | 亚州综合一区 | 久久av网 | 免费黄色网止 | 亚洲一区二区三区免费 | 亚洲欧美国产精品久久 | 福利片在线观看 | 国产精品美女久久久久aⅴ国产馆 | 高清视频一区二区三区 | 日产一区二区 | 成人久久18免费观看 | 亚洲成人久久久 | a级毛片基地 | 久久伊人成人网 | 久久久网站 | 日韩色av | 四虎影院免费看 | 日本在线观看视频一区 | 亚洲色图图片 | 日韩超级大片免费看国产国产播放器 | 亚洲欧美第一页 | 亚洲成人一区二区三区 | 精品一区二区在线观看 | 成人亚洲网 | 午夜影视av | 亚洲视频在线免费观看 | 欧美精品一区在线发布 | 国产一区二区视频精品 | 国产三级视频 | 国产精品毛片久久久久久久 | 一区二区三区国产 | 国产精品三级久久久久久电影 | 在线精品国产 | 久久久婷婷 | 在线观看亚洲 | 亚洲狠狠| 亚洲福利| 999久久久国产精品 免费视频一区 | 国内精品国产成人国产三级粉色 | 美女操网站 | 中文字幕在线看 | 性视频网站免费 | 久久久久国产一区二区三区 | 久久精品亚洲 | 亚洲成人二区 | 嫩草视频在线观看免费 | 国产一二三区在线观看 | 精品一区二区三区三区 | 中文字幕在线观看的电影 | 国产成人免费视频 | 中文字幕在线观看精品视频 | 不卡一区二区三区四区 | 久久黄色 | 精品久久久久久久久久久久久久 | 精品国产乱码简爱久久久久久 | 成人在线手机版视频 | 国产综合精品视频 | 精品无码久久久久久国产 | 天天拍天天操 | 做视频免费观看网站 | 一本一道久久久a久久久精品91 | 日本网站在线免费观看 | 久草福利在线视频 | 国产综合精品一区二区三区 | 黄色国产一级视频 | 99re6在线视频精品免费 | 在线看国产 | 国产精品禁久久精品 | 一级二级黄色大片 | 久久精品无码一区二区日韩av | 成人一区二区三区在线观看 | 亚洲精品久久久久avwww潮水 | 欧美日韩在线观看一区二区 | 国产成人精品一区二区三区四区 | 中文字幕不卡在线88 | 亚洲成人精品久久久 | 亚洲欧美在线观看 | 影音先锋中文字幕一区 | 精品中文字幕在线观看 | 色网在线观看 | 亚洲精品久久久一区二区三区 | 中文字幕亚洲第一 | 午夜天堂精品久久久久 | 久久久久久久久一区二区三区 | 男女视频在线观看 | 久久国产精品久久久久久久久久 | 日韩欧美一级精品久久 | 欧美一区二区三区视频 | igao视频 | 欧美日韩激情 | 亚洲综合色自拍一区 | 精品亚洲一区二区三区四区五区 | 国产欧美在线视频 | 伊人99| 午夜精品久久久久久久 | 久久精品国产91精品亚洲高清 | 亚洲免费小视频 | 啪啪tv网站免费入口 | 人成亚洲| 国产日韩欧美综合 | 久久久久国 | 中文字幕最新在线 | 欧美综合在线一区 | 99爱爱视频 | 伊人久久综合影院 | 欧美日韩视频在线第一区 | 老牛影视av一区二区在线观看 | 九九热这里 | 超碰香蕉 | 乱人伦xxxx国语对白 | 欧美自拍视频 | 九九热在线免费视频 | 真人女人一级毛片免费播放 | 欧美日韩精品久久久久 | av影院在线观看 | 国产欧美中文字幕 | 久久精品视 | 国产精品成人国产乱一区 | 国产精品成人国产乱一区 | 国产精品国产a级 | 国产精品美女久久久 | 亚洲精品二区 | 精品免费国产 | 欧美理论在线观看 | 四虎影院网| 天天干夜夜拍 | 日韩欧美在线免费观看 | 亚洲精品久久久久久久久久久 | 欧美日韩中文在线观看 | 国产精品久久久久久久久久久久久 | 成人水多啪啪片 | 国产一区二区三区久久久久久久久 | 91在线视频观看 | 欧美日韩黄色一区二区 | 日韩在线一区二区 | 999精品网 | 男人天堂网av | 精品亚洲一区二区三区 | 国产一区二区三区四区五区加勒比 | 日韩成人影视 | 天天草草草| 久久精品无码一区二区三区 | 国产午夜精品久久久久久久 | 亚洲色图综合 | 91在线视频播放 | 成人黄色电影小说 | 日本三级黄色录像 | 国产成人综合一区二区三区 | 亚洲不卡视频在线 | 亚洲91精品| 日韩在线不卡 | 国产探花在线精品一区二区 | 国产一区二区三区久久久久久久久 | 亚洲毛片在线观看 | 超碰伊人网| 欧洲亚洲精品久久久久 | 一区在线免费 | 天天久久| 免费黄色在线 | 自拍视频免费 | 色视频久久 | 亚洲91精品 | 日韩精品一区二区三区中文字幕 | 成人网18免费网站 | 99精品国产高清一区二区麻豆 | 天堂成人国产精品一区 | 高清一区二区三区 | 999久久久 | 91社区在线观看 | 无码日韩精品一区二区免费 | 91精品在线观看入口 | 久久国产精品99久久久久久牛牛 | 精品国产一区三区 | 日韩毛片在线观看 | 91麻豆精品国产91久久久久久 | 日韩欧美一区二区在线 | 久久精品99国产精品亚洲最刺激 | 久在线视频 | 羞羞视频免费观看 | 欧美久久一区二区三区 | 欧美精品黄 | 日韩欧美精品一区二区三区 | 中文字幕乱码亚洲精品一区 | 日韩精品一二三 | 成人久久精品 | 激情久久久 | 精品成人久久 | 国产一区二区三区久久久 | 中文字幕久久精品 | 嫩草视频入口 | 日本一区二区不卡 | 亚洲中出 | h在线观看| 超碰国产在线 | 久热av在线| 国产精品对白一区二区三区 | 日韩欧美一区二区三区免费观看 | 欧美日韩国产在线看 | a级在线| 国产精品免费视频一区 | 天天操天天操 | 久久国产亚洲精品 | 亚洲成人中文字幕 | 国产精品91久久久久 | 国内久久精品 | 日本亚洲国产一区二区三区 | 在线免费国产 | 在线视频不卡一区 | 欧美在线网站 | 国产在线视频网站 | 婷婷激情五月 | 免费毛片在线 | 黄在线免费观看 | 国产精品一区二区三区在线 | 色网站免费视频 | 亚洲精品a在线观看 | 欧美激情一区二区三区在线视频 | 免费午夜电影 | 日本美女一区二区三区 | 在线观看视频一区 | 国产欧美久久久久久 | 福利久久 | 欧美区亚洲区 | 色视频在线免费观看 | 美女视频黄a| 在线观看亚洲精品 | 精品久久久久国产免费 | 亚洲夜幕久久日韩精品一区 | 国产日韩欧美激情 | 色婷婷av久久久久久久 | 一区二区三区视频播放 | 久久中文字幕一区 | 亚洲免费视频一区 | 久久国产精品免费一区二区三区 | 日韩一区二区在线观看 | 好看的一级毛片 | 簧片免费网站 | 国产精品久久久久久二区 | 免费一二区 | 亚洲黄色免费 | 精品免费国产 | 色婷婷综合久久久久中文一区二区 | 精品视频在线免费观看 | 天天爽天天操 | 精品九九| 日韩午夜免费 | 精品视频一区二区三区 | 亚洲精品久久久久久下一站 | 麻豆国产露脸在线观看 | 欧美日韩久久久 | 亚洲综合无码一区二区 | 色一情一乱一伦一区二区三区 | 国产精品丝袜一区二区 | 夜夜操av| 精品毛片 | 色综合久久久久 | 亚洲一区二区视频在线播放 | 午夜精品一区二区三区四区 | 精品美女在线观看视频在线观看 | wwwjizz日本 | 成人久久久精品乱码一区二区三区 | 免费不卡视频 | 精品美女一区 | 91在线激情| 国产精品一区二区在线 | 欧美日韩免费 | 视频一区二区中文字幕日韩 | 波多野结衣 一区二区三区 精品精品久久 | 精品一区av | 夜本色 | 欧美激情a∨在线视频播放 中文字幕网在线 | 午夜影院免费 | 亚洲国产精品一区二区第一页 | 日本啪啪网站 | 成人网电影 | 日韩欧美国产精品综合嫩v 久久久久久国产精品高清 国产目拍亚洲精品99久久精品 | 国产欧美久久一区二区三区 | 国产精品a免费一区久久电影 | 97超碰免费 | 欧美日韩亚洲一区二区 | 男人天堂视频在线观看 | www.国产精品 | 九一视频在线观看 | 一区二区三区在线观看国产 | 国厂黄色片 | 亚洲国产精品一区二区久久 | 超碰激情 | 天堂av中文字幕 | 欧美日日干 | 欧美一区二区三区免费 | 久久精品免费国产 | 亚洲精品电影在线观看 | 成人福利在线观看 | 日本精品视频在线观看 | 国内成人精品2018免费看 | 日本亚洲欧美 | 成人深夜免费视频 | 国产精品久久久久久久久久久久久 | 亚洲成人影院在线观看 | 欧美日韩一区二区中文字幕 | 91.com在线 | 中文字幕亚洲欧美日韩在线不卡 | 自拍偷拍视频网 | 国产精品国产成人国产三级 | 欧美日韩综合视频 | 在线精品一区 | 国产精品视频一区二区三区不卡 | 91视频免费观看 | 中文在线亚洲 | 成人美女免费网站视频 | 午夜在线观看视频网站 | 91精品国产一区二区 | 欧美日韩在线免费观看 | 91视频免费观看 | 色视频网站在线观看 | h在线视频 | 日韩一区二区三区在线观看 | 成人福利在线观看 | 免费av黄色| 免费黄色小视频 | 国产影音先锋 | 在线中文字幕视频 | 午夜精品久久久久久久久久久久 | 亚洲精品视频免费看 | 色爽女人免费 | 伊人福利视频 | 日本黄色短片 | 一区二区精品视频 | 久久国产视频精品 | 亚洲国产高清在线 | 欧美日韩精品一区二区 | 一区| 成人亚洲黄色 | 羞羞视频在线观看免费 | 国产视频观看 | 国产精品久久久久久久久免费 | 成人av一区二区三区 | 精品欧美黑人一区二区三区 | 999视频| 最新国产精品 | 亚洲欧美日韩精品久久亚洲区 | 一级大片免费观看 | 国产精品一码二码三码在线 | 亚洲不卡视频 | 一级免费毛片 | 日本亚洲国产一区二区三区 | 亚洲午夜精品一区二区三区 | 狠狠爱www人成狠狠爱综合网 | 午夜免费视频福利 | 亚洲午夜精品一区二区三区 | 亚洲日本午夜 | 久久久99久久久国产自输拍 | 成人av网站在线观看 | 一级毛片电影 | 99久久99热这里只有精品 | 天堂伊人网| 天天综合网网欲色 | 欧美韩日 | 香蕉久久夜色精品国产使用方法 | 在线观看欧美一区 | 日韩一区二区三区在线播放 | 激情婷婷综合 | av网站网址 | 国产日韩精品视频 | 91精品国产综合久久婷婷香蕉 | 在线免费av观看 | 九九热这里只有精品8 | 亚洲午夜av | 日韩污视频在线观看 | 日韩有码在线观看 | 国产日韩精品在线观看 | 亚洲精品自拍视频 | 精品在线一区二区 | 一级片在线播放 | 精品久久久久久久 | 一色屋精品久久久久久久久久 | 99视频在线 | 成人午夜视频网 | 国产高清小视频 | 一级电影免费看 | 日日骚视频 | 九色视频在线播放 | 国内成人免费视频 | 久久久久亚洲视频 | 色综合久久天天综合网 | 国产精品一区二区三区四区 | 日本一区二区在线视频 | 成av人在线 | 欧美色欧美亚洲另类七区 | 国产午夜精品久久久久久久 | 中文字幕国产视频 | 欧美美女黄色网 | 一区二区视频在线观看 | 精品欧美黑人一区二区三区 | 国产精品国产三级国产aⅴ 羞羞的视频在线 | 国产99页 | 日韩成人在线观看 | 亚洲黄页| 国产精品无码专区在线观看 | 久久久国产精品免费 | 欧美视频第一页 | 亚洲国产成人在线 | 成人免费毛片高清视频 | 操网| 国产一区二区视频精品 | 中文字幕在线电影 | 91亚洲高清| 亚洲 自拍 另类 欧美 丝袜 | 成人av免费在线观看 | 国产精品精品 | 不卡的av电影 | 欧美一级二级视频 | 亚洲视频二区 | 亚洲综合色视频在线观看 | 日韩精品一区二区三区中文字幕 | 久久不色 | 日韩伦理一区二区 | 成人精品 | 97成人精品视频在线观看 | 成人h漫在线观看 | 欧美精品亚洲精品 | 玖玖精品 | 午夜视频| 国产拍拍拍拍拍拍拍拍拍拍拍拍拍 | 在线日韩欧美 | 精品av | 在线看av网址 | 日本午夜在线 | 日本高清视频在线播放 | 国产乱码精品一区二区三 | 天天艹逼 | 国产91成人在在线播放 | 久久综合中文字幕 | 亚洲福利社区 | 精品视频一区在线观看 | 久久一区二区三区四区 | 久久久一区二区 | 少妇一级淫免费放 | 日韩av免费看| 日韩久久精品电影 | 在线二区| 黄色视频a级毛片 | 91原创视频在线观看 | 欧美一区二区三区精品 | 性一交一乱一透一a级 | 国产精品电影 | 久久亚洲国产精品 | 亚洲精选免费视频 | 国产精品久久久久久久久免费桃花 | 国产精品久久久久久亚洲调教 | 日本久久二区 | 日韩一区二区在线免费 | 国产精品揄拍一区二区久久国内亚洲精 | 国精产品一区二区三区 | 欧美日韩中文在线 | 一级片福利| 超碰一区二区三区 | 国产精品ssss在线亚洲 | 久久成人一区二区 | 国内精品国产成人国产三级粉色 |