精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

網(wǎng)絡安全編程:服務控制管理器實例

安全
幾乎每一種操作系統(tǒng)都有一種在系統(tǒng)啟動時啟動的進程機制,這種機制不會依賴于用戶的交互。

 [[382170]]

幾乎每一種操作系統(tǒng)都有一種在系統(tǒng)啟動時啟動的進程機制,這種機制不會依賴于用戶的交互。在Windows下,類似的機制被稱為服務或Windows服務。服務是一種程序類型,它在后臺運行,服務程序通常可以在本地和通過網(wǎng)絡為用戶提供一些功能,服務在操作系統(tǒng)啟動時就會隨之啟動的程序。服務程序可能是EXE程序,具有其單獨的進程,也有可能是DLL文件依附于某個進程(比如svchost.exe),更有可能是SYS文件而處于系統(tǒng)的內核之中。由于服務所處的核心地位、啟動方式等因素,它也是反病毒軟件與惡意軟件的“兵家必爭之地”。對于研究系統(tǒng)安全來說則非常重要。

01 如何查看系統(tǒng)服務

在Windows下,有很多服務是跟隨操作系統(tǒng)一起啟動的,具體有哪些服務是跟隨操作系統(tǒng)一起啟動的呢?如何查看呢?其實非常簡單。在“我的電腦”上單擊鼠標右鍵,然后在彈出的菜單上選擇“管理”,打開“計算機管理”工具,單擊左面樹形列表的“服務和應用程序”會打開子列表,選擇“服務”,則在右側出現(xiàn)服務項列表。較為簡單的方法是直接在“運行”窗口中輸入“services.msc”,打開服務管理器。服務管理器主要用于顯示系統(tǒng)中已經(jīng)存在的應用程序服務,顯示對服務的描述,還可以控制服務的啟動狀態(tài)和啟動方式。服務管理器如圖1所示。

圖1  Windows下的服務管理程序

在圖1顯示的服務列表中,只能查看Win32應用程序的服務,無法查看關于驅動程序的服務。可以借助于其他一些工具來查看驅動程序級別的服務,圖2使用SREng來查看驅動程序相關的服務列表。

圖2  使用SREng查看驅動程序服務列表

接下來會編寫一個類似的程序,既可以查看應用程序服務列表,也可以查看驅動程序服務列表。編寫完成后的程序界面如圖3所示。

圖3  服務管理程序界面

編寫的服務管理程序既可以查看“Win32服務應用程序”,也可以查看“驅動服務程序”,并且可以對它們的運行狀態(tài)進行簡單的控制。這里開發(fā)的服務控制管理器使用MFC的對話框,其中用到了CListCtrl控件?,F(xiàn)在就開始打造一個屬于自己的服務控制管理器。

02 服務控制管理器的實現(xiàn)

服務控制管理器的開發(fā)過程與注冊表啟動管理器的開發(fā)過程比較類似,主要也是枚舉服務并顯示到列表控件中。對服務狀態(tài)的控制,是通過服務相關的API函數(shù)來完成的。首先來編寫代碼,希望大家能夠掌握服務相關的API函數(shù)。在代碼的后面,會對開發(fā)服務管理器涉及的API進行相應的解釋。

學習API函數(shù)的使用,MSDN是最好的老師,詳細、透徹、權威。在編程的道路上,要不斷通過閱讀別人的代碼來提高自己的編程能力,就需要自己來掌握陌生的API函數(shù),那時一定要想起查閱MSDN。

1. 服務的類型

服務控制管理器的界面都已經(jīng)熟悉了,界面的布局可以按照自己的方式進行調整。在枚舉服務的時候,將“Win32應用程序服務”和“驅動程序服務”分開枚舉,這樣有助于對各種服務的了解。

枚舉這兩類服務的主要差別在于調用EnumServicesStatus()函數(shù)時為其傳遞的第二個參數(shù)。如果枚舉“Win32應用程序服務”,那么傳遞的參數(shù)為SERVICE_WIN32;如果枚舉“驅動程序服務”,那么傳遞的參數(shù)為SERVICE_DRIVER。這兩個參數(shù)其實是系統(tǒng)定義的宏,該宏定義在WinNt.h頭文件中,具體定義如下: 

  1. #define SERVICE_DRIVER (SERVICE_KERNEL_DRIVER | \  
  2.  SERVICE_FILE_SYSTEM_DRIVER | \  
  3.  SERVICE_RECOGNIZER_DRIVER)  
  4. #define SERVICE_WIN32 (SERVICE_WIN32_OWN_PROCESS | \  
  5.  SERVICE_WIN32_SHARE_PROCESS) 

SERVICE_DRIVER 和 SERVICE_WIN32 是其他宏的組合,而那些宏又有具體的值。下面解釋一下其他宏的含義。

SERVICE_DRIVER 宏由 3 個宏組成,具體如下: 

  1. #define SERVICE_KERNEL_DRIVER 0x00000001 // 設備驅動程序  
  2. #define SERVICE_FILE_SYSTEM_DRIVER 0x00000002 // 內核模式文件系統(tǒng)驅動程序  
  3. #define SERVICE_RECOGNIZER_DRIVER 0x00000008 // 文件系統(tǒng)識別器驅動程序 

SERVICE_WIN32 宏由兩個宏組成,具體如下: 

  1. #define SERVICE_WIN32_OWN_PROCESS 0x00000010 // 獨占一個進程的服務  
  2. #define SERVICE_WIN32_SHARE_PROCESS 0x00000020 // 與其他服務共享一個進程的服務 

如果想要枚舉全部類型的服務,那么使用SERVICE_TYPE_ALL宏即可,該宏的定義如下: 

  1. #define SERVICE_TYPE_ALL (SERVICE_WIN32 | \  
  2.  SERVICE_ADAPTER | \  
  3.  SERVICE_DRIVER | \  
  4.  SERVICE_INTERACTIVE_PROCESS) 

2. 服務的枚舉函數(shù)

服務的枚舉所使用的API函數(shù)是EnumServicesStatus(),該函數(shù)中需要指定枚舉的類型分別是SERVICE_DRIVER和SERVICE_WIN32。

具體來看服務枚舉的函數(shù),代碼如下: 

  1. VOID CManageServicesDlg::ShowServiceList(DWORD dwServiceType)  
  2.  
  3.   m_ServiceList.DeleteAllItems();  
  4.   // 打開服務管理器  
  5.   SC_HANDLE hSCM = OpenSCManager(NULL, NULL, SC_MANAGER_ALL_ACCESS);  
  6.   if ( NULL == hSCM )  
  7.   {  
  8.     AfxMessageBox("OpenSCManger Error!");  
  9.     return ; 
  10.   }  
  11.   DWORD ServiceCount = 0 
  12.   DWORD dwSize = 0 
  13.   LPENUM_SERVICE_STATUS lpInfo;  
  14.   // 第一次調用  
  15.   BOOL bRet = EnumServicesStatus(hSCM,  
  16.     dwServiceType, SERVICE_STATE_ALL,  
  17.     NULL, 0, &dwSize,  
  18.     &ServiceCount, NULL);  
  19.   // 由于沒有給定接收服務列表的緩沖區(qū),這里必定會調用失敗  
  20.   // 失敗的原因是 ERROR_MORE_DATA  
  21.   // 說明需要更大的緩沖區(qū)來保存數(shù)據(jù)  
  22.   if ( !bRet && GetLastError() == ERROR_MORE_DATA )  
  23.   {  
  24.     // 分配緩沖區(qū),保存服務列表  
  25.     lpInfo = (LPENUM_SERVICE_STATUS)(new BYTE[dwSize]);  
  26.       bRet = EnumServicesStatus(hSCM,  
  27.       dwServiceType, SERVICE_STATE_ALL,  
  28.       (LPENUM_SERVICE_STATUS)lpInfo,  
  29.       dwSize, &dwSize,  
  30.       &ServiceCount, NULL);  
  31.     if ( !bRet )  
  32.     {  
  33.       CloseServiceHandle(hSCM); 
  34.       return ;  
  35.     }  
  36.     //逐個獲取數(shù)據(jù),添加至列表控件  
  37.     for ( DWORD i = 0; i < ServiceCount; i ++)  
  38.     {  
  39.       CString str;  
  40.       m_ServiceList.InsertItem(i, lpInfo[i].lpServiceName);  
  41.       m_ServiceList.SetItemText(i, 1, lpInfo[i].lpDisplayName);  
  42.       switch ( lpInfo[i].ServiceStatus.dwCurrentState )  
  43.       {  
  44.       case SERVICE_PAUSED: 
  45.         {  
  46.           m_ServiceList.SetItemText(i, 2, "暫停");  
  47.           break;  
  48.         }  
  49.       case SERVICE_STOPPED:  
  50.         {  
  51.           m_ServiceList.SetItemText(i, 2, "停止");  
  52.           break;  
  53.         }  
  54.       case SERVICE_RUNNING:  
  55.         {  
  56.           m_ServiceList.SetItemText(i, 2, "運行");  
  57.           break;  
  58.         }  
  59.       default:  
  60.         {  
  61.           m_ServiceList.SetItemText(i, 2, "其他");  
  62.         }  
  63.       }  
  64.     }  
  65.     // 釋放申請的空間  
  66.     delete lpInfo;  
  67.   }  
  68.   // 關閉服務管理器句柄  
  69.   CloseServiceHandle(hSCM);  

該函數(shù)有一個參數(shù),用來指明枚舉類型是“Win32應用程序服務”,還是“驅動程序服務”。該函數(shù)的默認參數(shù)為“Win32應用程序服務”,該函數(shù)的定義如下: 

  1. VOID ShowServiceList(DWORD dwServiceType = SERVICE_WIN32); 

3. 枚舉服務相關API函數(shù)解釋

(1)打開和關閉服務管理器

打開服務管理器的函數(shù)定義如下: 

  1. SC_HANDLE OpenSCManager(  
  2.  LPCTSTR lpMachineName, // computer name  
  3.  LPCTSTR lpDatabaseName, // SCM database name  
  4.  DWORD dwDesiredAccess // access type  
  5. ); 

參數(shù)說明如下。

lpMachineName:指向欲打開服務控制管理器數(shù)據(jù)庫的目標主機名,本機則設置為 NULL。

lpDatabaseName:指向目標主機 SCM 數(shù)據(jù)庫名字的字符串。

dwDesiredAccess:指定對 SCM 數(shù)據(jù)庫的訪問權限。

該函數(shù)調用成功,返回一個 SCM 句柄,否則返回 NULL。

SCM是服務控制管理器的意思,它是系統(tǒng)服務的一個組成部分,跟開發(fā)的軟件不是一個概念。

關閉服務句柄的函數(shù)定義如下: 

  1. BOOL CloseServiceHandle(  
  2.  SC_HANDLE hSCObject // handle to service or SCM object  
  3. ); 

該函數(shù)用來關閉由OpenSCManager()和OpenService()打開的句柄。

(2)服務的枚舉函數(shù)

枚舉服務的函數(shù)定義如下: 

  1. BOOL EnumServicesStatus(  
  2.  SC_HANDLE hSCManager, // handle to SCM database  
  3.  DWORD dwServiceType, // service type  
  4.  DWORD dwServiceState, // service state  
  5.  LPENUM_SERVICE_STATUS lpServices, // status buffer  
  6.  DWORD cbBufSize, // size of status buffer  
  7.  LPDWORD pcbBytesNeeded, // buffer size needed  
  8.  LPDWORD lpServicesReturned, // number of entries returned  
  9.  LPDWORD lpResumeHandle // next entry  
  10. ); 

參數(shù)說明如下。

hSCManager:OpenSCManager()函數(shù)返回的句柄。

dwServiceType:指定枚舉的服務類型,也就是自定義函數(shù)的參數(shù)。

dwServiceState:枚舉指定狀態(tài)的服務。

lpServices:指向 ENUM_SERVICE_STATUS 類型的指針。

cbBufSize:指定緩沖區(qū)的大小。

pcbBytesNeeded:返回實際使用的內存空間大小。

lpServicesReturned:返回枚舉服務的個數(shù)。

lpResumeHandle:返回枚舉是否成功。

ENUM_SERVICE_STATUS 結構體的定義如下: 

  1. typedef struct _ENUM_SERVICE_STATUS {  
  2.  LPTSTR lpServiceName;  
  3.  LPTSTR lpDisplayName;  
  4.  SERVICE_STATUS ServiceStatus;  
  5. } ENUM_SERVICE_STATUS, *LPENUM_SERVICE_STATUS; 

SERVICE_STATUS 結構體的定義如下: 

  1. typedef struct _SERVICE_STATUS {  
  2.  DWORD dwServiceType;  
  3.  DWORD dwCurrentState;  
  4.  DWORD dwControlsAccepted;  
  5.  DWORD dwWin32ExitCode;  
  6.  DWORD dwServiceSpecificExitCode;  
  7.  DWORD dwCheckPoint;  
  8.  DWORD dwWaitHint;  
  9. } SERVICE_STATUS, *LPSERVICE_STATUS; 

代碼中兩次調用EnumServicesStatus()函數(shù)。第1次沒有傳遞第4個和第5個參數(shù),使得函數(shù)返回FALSE,用GetLastError()得到錯誤的原因為ERROR_MORE_DATA。這時,第6個參數(shù)pcbBytesNeeded返回實際需要使用的內存大小,這樣可以通過new動態(tài)申請所需的堆空間。以這種方式來獲取實際所需緩沖區(qū)大小的情況是比較多的,請大家一定要理解。

4. 服務的啟動與停止

對服務的操作只介紹兩種,一種是啟動服務,另一種是停止服務,也就是改變服務的狀態(tài)。經(jīng)常會用到停止服務的操作,因為系統(tǒng)中有很多用不到的服務,但是它仍然會隨著系統(tǒng)的啟動而啟動,這樣既會影響到系統(tǒng)的啟動速度,也會占用寶貴的系統(tǒng)資源。因此,沒有用的系統(tǒng)服務最好將其停止(其實真正停止服務是改變它的啟動狀態(tài),而不是這里介紹的運行狀態(tài))。

啟動服務的代碼如下: 

  1. void CManageServicesDlg::OnBtnStart()  
  2.  
  3.   // TODO: Add your control notification handler code here  
  4.   // 選中服務的索引  
  5.   POSITION Pos = m_ServiceList.GetFirstSelectedItemPosition();  
  6.   int nSelect = -1;  
  7.   while ( Pos )  
  8.   {  
  9.     nSelect = m_ServiceList.GetNextSelectedItem(Pos);  
  10.   }  
  11.   if ( -1 == nSelect )  
  12.   {  
  13.     AfxMessageBox("請選擇要啟動的服務");  
  14.     return ; 
  15.   }  
  16.   // 獲取選中服務的服務名  
  17.   char szServiceName[MAXBYTE] = { 0 };  
  18.   m_ServiceList.GetItemText(nSelect, 0, szServiceName, MAXBYTE);  
  19.   SC_HANDLE hSCM = OpenSCManager(NULL, NULL, SC_MANAGER_ALL_ACCESS);  
  20.   if ( NULL == hSCM )  
  21.   {  
  22.     AfxMessageBox("OpenSCManager Error");  
  23.     return ;  
  24.   }  
  25.   // 打開指定的服務  
  26.   SC_HANDLE hSCService = OpenService(hSCM, szServiceName, SERVICE_ALL_ACCESS);  
  27.   // 啟動服務  
  28.   BOOL bRet = StartService(hSCService, 0, NULL);  
  29.   if ( bRet == TRUE )  
  30.   {  
  31.     m_ServiceList.SetItemText(nSelect, 2, "運行");  
  32.   }  
  33.   else  
  34.   {  
  35.     AfxMessageBox("啟動失敗!");  
  36.   }  
  37.   CloseServiceHandle(hSCService);  
  38.   CloseServiceHandle(hSCM);  

停止服務的代碼如下: 

  1. void CManageServicesDlg::OnBtnStop()  
  2.  
  3.   // TODO: Add your control notification handler code here  
  4.   // 選中服務的索引  
  5.   // 此部分操作與啟動服務相同,為節(jié)省篇幅,此處省略  
  6.   // ……  
  7.   SC_HANDLE hSCM = OpenSCManager(NULL, NULL, SC_MANAGER_ALL_ACCESS);  
  8.   if ( NULL == hSCM )  
  9.   {  
  10.     AfxMessageBox("OpenSCManager Error");  
  11.     return ;  
  12.   }  
  13.   // 打開指定的服務  
  14.   SC_HANDLE hSCService = OpenService(hSCM, szServiceName, SERVICE_ALL_ACCESS);  
  15.   SERVICE_STATUS ServiceStatus;  
  16.   // 停止服務  
  17.   BOOL bRet = ControlService(hSCService, SERVICE_CONTROL_STOP, &ServiceStatus);  
  18.   if ( bRet == TRUE )  
  19.   {  
  20.     m_ServiceList.SetItemText(nSelect, 2, "停止");  
  21.   }  
  22.   else  
  23.   {  
  24.     AfxMessageBox("停止失敗!");  
  25.   }  
  26.   CloseServiceHandle(hSCService);  
  27.   CloseServiceHandle(hSCM);  

5. 啟動與停止服務相關API函數(shù)解釋

打開指定服務的函數(shù)定義如下: 

  1. SC_HANDLE OpenService(  
  2.  SC_HANDLE hSCManager, // handle to SCM database  
  3.  LPCTSTR lpServiceName, // service name  
  4.  DWORD dwDesiredAccess // access  
  5. ); 

參數(shù)說明如下。

hSCManager:指定由 OpenSCManager()函數(shù)打開的服務句柄。

lpServiceName:指定要打開的服務的名稱。

dwDesiredAccess:對要打開服務的訪問權限,這里為了方便,指定為 SC_MANAGER_ALL_ACCESS。

啟動服務的函數(shù)定義如下: 

  1. BOOL StartService(  
  2.  SC_HANDLE hService, // handle to service  
  3.  DWORD dwNumServiceArgs, // number of arguments  
  4.  LPCTSTR *lpServiceArgVectors // array of arguments  
  5. ); 

參數(shù)說明如下。

hService:指定要啟動服務的句柄,該句柄由 OpenService()返回。

dwNumServiceArgs:指向啟動服務所需的參數(shù)個數(shù)。

lpServiceArgVectors:指向啟動服務的參數(shù)。

停止服務的函數(shù)定義如下: 

  1. BOOL ControlService(  
  2.  SC_HANDLE hService, // handle to service  
  3.  DWORD dwControl, // control code 
  4.  LPSERVICE_STATUS lpServiceStatus // status information  
  5. ); 

參數(shù)說明如下。

hService:指定一個由 OpenService()打開的服務句柄。

dwControl:指定要發(fā)送的控制碼。

lpServiceStatus:返回服務的狀態(tài)。

ControlService()可以對服務進行多種控制操作,每種控制操作對應一種控制碼。當要停止服務時,使用的控制碼為 SERVICE_CONTROL_STOP。一定要注意,停止服務不要想當然的使用 StopService()這樣的函數(shù),因為沒有這個 API 函數(shù)。 

 

責任編輯:龐桂玉 來源: 計算機與網(wǎng)絡安全
相關推薦

2021-04-25 21:25:09

網(wǎng)絡安全網(wǎng)絡安全編程PE編程

2021-04-28 14:35:48

網(wǎng)絡安全PE編程代碼

2021-01-18 10:35:18

網(wǎng)絡安全Windows代碼

2021-04-30 18:50:44

網(wǎng)絡安全PE編程添加節(jié)區(qū)

2009-02-10 15:49:00

Linux服務器服務器安全網(wǎng)絡服務器

2021-04-26 10:32:38

網(wǎng)絡安全PE編程工具

2021-03-03 12:20:42

網(wǎng)絡安全DLL編程

2021-03-05 13:46:56

網(wǎng)絡安全遠程線程

2021-01-26 13:45:03

網(wǎng)絡安全Winsock編程

2011-09-20 09:54:00

2021-02-21 18:19:43

網(wǎng)絡安全網(wǎng)絡安全編程創(chuàng)建進程

2021-02-23 10:20:07

網(wǎng)絡安全進程代碼

2013-04-27 14:36:28

2010-12-28 14:53:29

服務器管理器

2016-10-10 00:18:27

2012-02-09 15:48:13

2010-01-04 17:03:29

網(wǎng)絡安全路由器

2021-10-22 06:02:47

網(wǎng)絡安全風險管理網(wǎng)絡風險

2013-04-22 14:22:51

2021-06-18 09:55:09

網(wǎng)絡安全目錄監(jiān)控
點贊
收藏

51CTO技術棧公眾號

日韩精品一区二区三区色偷偷| 中文一区二区视频| 国产极品在线视频| 五月天丁香视频| 久久国产毛片| 日韩在线观看免费av| 奇米777在线| 僵尸再翻生在线观看| 国产欧美在线观看一区| 91精品啪在线观看麻豆免费| 国产一级特黄毛片| 精品国产日韩欧美| 日韩一区二区视频在线观看| 久在线观看视频| 黄视频在线观看网站| 成人av电影免费在线播放| 国产精品私拍pans大尺度在线| 国产免费无码一区二区视频| 久久不见久久见免费视频7| 欧美一区二区性放荡片| 茄子视频成人免费观看| 2024最新电影在线免费观看| 久久亚洲欧美国产精品乐播| 亚洲在线免费观看| 欧美一级黄视频| 亚洲人人精品| 久久精品亚洲国产| 国产女主播喷水高潮网红在线| 视频一区日韩| 欧美三片在线视频观看 | 欧美 日韩 国产 一区| 亚洲色图美腿丝袜| 污污污www精品国产网站| 亚州精品国产| 韩国福利在线| 韩国在线视频一区| xxx一区二区| 成人片黄网站色大片免费毛片| 久久爱www.| 欧美欧美欧美欧美首页| 国产精品久久久久9999小说| 狠狠躁少妇一区二区三区| 亚洲日本成人在线观看| 神马影院我不卡| 毛片网站在线| 91在线国内视频| 国产伦精品一区二区三区免费视频| 97精品久久人人爽人人爽| 丝袜美腿高跟呻吟高潮一区| 性欧美xxxx| 日韩福利片在线观看| 国产精品v欧美精品v日本精品动漫| 色视频www在线播放国产成人| 亚洲国产无码精品| 蜜桃tv一区二区三区| 日韩电影大片中文字幕| 少妇饥渴放荡91麻豆| 欧美调教在线| 精品视频偷偷看在线观看| 亚洲视频在线播放免费| 久久精品66| 亚洲国内高清视频| 婷婷五月精品中文字幕| 99久久免费精品国产72精品九九| 欧美成人精品福利| 亚洲精品第二页| 日韩欧美四区| 亚洲天堂男人天堂女人天堂| 91中文字幕永久在线| 精品久久久久久久| 日日噜噜噜夜夜爽亚洲精品 | av中文字幕免费| 国产成人在线看| 国产精品国产亚洲精品看不卡15 | 91中文在线| 亚洲综合丁香婷婷六月香| 欧美一级欧美一级| 成人爽a毛片免费啪啪| 在线观看免费视频综合| 免费成人黄色大片| a级日韩大片| 精品无码久久久久久国产| 亚洲一区二区自偷自拍| 国产韩日影视精品| 国内精品久久久久影院优| 日本中文字幕在线| 久久精品999| 国产精品久久久久av福利动漫| 色av男人的天堂免费在线| 国产日韩欧美制服另类| 91免费视频黄| 中文在线最新版地址| 欧洲精品一区二区三区在线观看| 中文字幕亚洲影院| 欧美黑白配在线| 中文字幕综合一区| 久艹视频在线观看| 日韩高清一区二区| 99re在线国产| 邻家有女韩剧在线观看国语| 亚洲欧美日韩在线不卡| 国产精品视频一区二区三区四区五区| 欧美久久久网站| 亚洲精品国产精品久久清纯直播| 久久久久久成人网| 中文一区在线| 91午夜理伦私人影院| 天天综合网在线观看| 国产精品高清亚洲| 国产亚洲欧美在线视频| 国产剧情一区二区在线观看| 精品网站999www| 免看一级a毛片一片成人不卡| 日本女人一区二区三区| 国产精品视频免费一区二区三区| 1区2区3区在线观看| 亚洲小说春色综合另类电影| 91在线小视频| 色哟哟免费网站| 欧美第一视频| 亚洲国产成人精品久久| 91n在线视频| 日本亚洲天堂网| 精选一区二区三区四区五区| 怡红院红怡院欧美aⅴ怡春院| 欧洲视频一区二区| 亚洲av无码国产精品久久| 欧美一区二区| 国产色婷婷国产综合在线理论片a| 亚洲 另类 春色 国产| 亚洲伊人色欲综合网| 三级av免费看| 99视频精品全国免费| 国产精品九九九| 婷婷视频在线观看| 亚洲综合另类小说| 男人女人拔萝卜视频| 欧美国产偷国产精品三区| 国产精品∨欧美精品v日韩精品| 欧美综合视频在线| 亚洲电影一区二区| 无码人妻一区二区三区精品视频| 亚洲国产一区二区在线观看| 国产日产欧美精品| 日本福利在线| 欧美日韩成人一区二区| 国产又粗又长又黄的视频| 日本中文字幕不卡| 亚洲国产精品一区二区第一页 | 红桃av永久久久| 中文在线字幕观看| 激情另类综合| 国产伦精品一区二区三区四区视频 | 日本精品裸体写真集在线观看| 亚洲欧洲激情在线| 国产午夜麻豆影院在线观看| 久久久精品天堂| 天堂在线资源视频| 欧美3p在线观看| 91精品啪aⅴ在线观看国产| 超碰在线最新| 亚洲黄色免费看| 精品久久久久久久久久久久久久久| 成人免费毛片东京热| 国产精品538一区二区在线| 欧美一二三不卡| 久久精品国产亚洲5555| 91av在线播放视频| 国产福利片在线| 欧美日韩在线综合| 老司机成人免费视频| 国产精品99久久久久久久vr| 国产免费黄色一级片| 婷婷综合电影| 国产精品老牛影院在线观看| 精品51国产黑色丝袜高跟鞋| 精品日韩av一区二区| 日韩特级黄色片| 国产精品麻豆久久久| 黑人无套内谢中国美女| 国产午夜久久| 亚洲欧美日韩精品在线| a看欧美黄色女同性恋| 热久久免费视频精品| 日韩毛片久久久| 亚洲国产成人精品一区二区| 在线视频一区二区三区四区| 日韩一区在线播放| xxxx黄色片| 另类小说视频一区二区| 久草视频这里只有精品| 欧美热在线视频精品999| 成人免费淫片视频软件| 国模私拍一区二区国模曼安| 夜夜嗨av一区二区三区四区| av资源免费看| 欧美在线视频你懂得| 久久一二三四区| 国产丝袜欧美中文另类| 巨乳女教师的诱惑| 秋霞成人午夜伦在线观看| 亚洲乱码日产精品bd在线观看| 伊人精品一区| 亚洲xxx大片| 欧美极品免费| 欧美极品少妇xxxxⅹ喷水| 成人在线观看黄色| 亚洲第一精品夜夜躁人人爽| 一区二区视频网站| 无码av免费一区二区三区试看| 潮喷失禁大喷水aⅴ无码| 最近国产精品视频| 欧美色偷偷大香| 日韩免费黄色片| 中文字幕字幕中文在线中不卡视频| 国产精品无码电影| 国产乱一区二区| 在线观看免费黄网站| 亚洲伊人观看| 国产情侣第一页| 91精品国产自产在线观看永久∴ | 57pao精品| 污污在线观看| 精品国产一区二区三区在线观看| 男生女生差差差的视频在线观看| 欧美mv日韩mv国产| 国产三级伦理片| 欧美天堂亚洲电影院在线播放| 91国产丝袜播放在线| 一区二区在线观看不卡| 97精品在线播放| 国产精品视频一区二区三区不卡| 久久人人妻人人人人妻性色av| 国产99久久久久| 古装做爰无遮挡三级聊斋艳谭| 久久精品国产99国产| 热久久精品国产| 久久最新视频| 国产成人a亚洲精v品无码| 亚洲精品四区| www精品久久| 在线精品一区| 国产无限制自拍| 亚洲电影在线| 无码av天堂一区二区三区| 欧美日韩国产成人精品| 91传媒免费视频| 亚洲小说欧美另类社区| 国产成人永久免费视频| 黄色日韩在线| 男女猛烈激情xx00免费视频| 欧美激情综合色综合啪啪| 操bbb操bbb| 欧美日一区二区在线观看| 精品国产一区二区三区在线| 中国成人一区| 国产精品www在线观看| 国产精品九九| www国产精品内射老熟女| 免费欧美在线| 中文字幕网av| 国产在线一区二区| 人妻精油按摩bd高清中文字幕| 国产福利不卡视频| 挪威xxxx性hd极品| 欧美电影三区| 亚洲国产精品久久| 亚洲一区二区人妻| 欧美高清性hdvideosex| 国产精品无码天天爽视频| 日韩欧美国产午夜精品| 三级在线观看网站| 亚洲老司机av| 日本黄色片在线观看| 久久99精品国产99久久6尤物| av影片在线| 奇米4444一区二区三区| 欧美成人三级| 亚洲一区二区三区香蕉| 欧美天堂影院| 亚洲制服中文| 激情久久久久久久| 日本久久精品一区二区| 黑人巨大精品欧美一区| 国产日韩视频一区| 国产日韩高清在线| 国产这里有精品| 欧美日韩性视频| 夜夜狠狠擅视频| 精品成人一区二区| yiren22综合网成人| 欧美国产日韩精品| 亚洲四虎影院| 国产精品久久精品国产| 精品国内自产拍在线观看视频| 欧美 亚洲 视频| 香蕉亚洲视频| 污免费在线观看| 久久久久9999亚洲精品| 亚洲成人生活片| 色综合色狠狠天天综合色| 国产美女精品视频国产| 国产视频亚洲精品| 超碰在线网址| 国产成人一区二区三区电影| a一区二区三区亚洲| 成人影片在线播放| 青青草原综合久久大伊人精品 | a视频在线观看| 国产ts一区二区| 北条麻妃一区二区三区在线观看 | 老司机免费在线视频| 这里只有视频精品| 女人高潮被爽到呻吟在线观看| 91久久久精品| 欧美日韩在线二区| 激情深爱综合网| 国产毛片一区二区| 大吊一区二区三区| 欧美日韩午夜剧场| 国模人体一区二区| 久久中国妇女中文字幕| 日韩经典一区| 麻豆av一区| 亚洲久色影视| av在线免费观看不卡| 国产精品久久久久永久免费观看 | 成人在线免费网站| 91av精品| 三上悠亚av一区二区三区| 国产婷婷色一区二区三区| 国产又黄又猛又粗又爽| 精品国产99国产精品| 色婷婷视频在线观看| 成人免费直播live| 婷婷综合视频| 中文字幕色网站| 中文字幕一区二区三区av| 精人妻无码一区二区三区| 日韩精品视频在线观看网址| 99热99re6国产在线播放| 91传媒视频免费| 欧美黄色一区| 国产精品91av| 亚洲综合免费观看高清完整版在线| 国产尤物在线观看| 久久精品久久久久久| 欧美视频免费看| 一区二区三区|亚洲午夜| 久久国产精品72免费观看| 激情高潮到大叫狂喷水| 欧美精品在线观看一区二区| 1024国产在线| 91亚洲永久免费精品| 在线中文字幕第一区| 性生活在线视频| 亚洲综合色婷婷| 天天综合天天综合| 欧洲s码亚洲m码精品一区| 婷婷综合福利| 亚洲高清在线免费观看| 中文字幕av在线一区二区三区| 在线免费a视频| 久热精品在线视频| 91精品尤物| 人妻有码中文字幕| 欧美激情一区二区三区不卡 | 黄色资源网久久资源365| 亚洲天堂一级片| 日韩欧美精品三级| 极品av在线| 日韩中文一区| 国产一区二区在线观看免费 | 激情欧美丁香| 中文字幕高清视频| 欧美日精品一区视频| 肉肉视频在线观看| 蜜桃视频在线观看91| 免费欧美在线视频| 青青草原国产视频| 亚洲美女av电影| 亚洲毛片在线免费| 婷婷五月综合缴情在线视频| 91麻豆免费看片| 一级全黄裸体免费视频| 久久99精品视频一区97| 一道在线中文一区二区三区| 日本国产一级片| 五月婷婷综合激情| 69av亚洲| 国内精品一区二区| 久久国产生活片100| 伊人国产在线观看| 中文字幕亚洲第一| 高潮久久久久久久久久久久久久| 亚洲精品高清无码视频| 亚洲最色的网站| 国产黄色在线播放| 国产精品yjizz| 美国一区二区三区在线播放|