3atv精品不卡视频,97人人超碰国产精品最新,中文字幕av一区二区三区人妻少妇,久久久精品波多野结衣,日韩一区二区三区精品

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > windows >内容正文

windows

用汇编写系统服务程序

發(fā)布時(shí)間:2025/3/15 windows 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 用汇编写系统服务程序 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

用匯編寫系統(tǒng)服務(wù)程序
本想寫一篇關(guān)于服務(wù)的文章,結(jié)果搜了一遍以后,發(fā)現(xiàn)發(fā)表于天極網(wǎng)上的一篇文章《Win32程序設(shè)計(jì)之服務(wù)》把要說的大部分東西都說了,為了不做重復(fù)勞動(dòng),所以在這里首先引用這篇文章來說明服務(wù)程序的原理,在后面的補(bǔ)充一節(jié)中再補(bǔ)上一些內(nèi)容和一個(gè)用匯編實(shí)現(xiàn)服務(wù)的源代碼。

======================================================================
第一部分:轉(zhuǎn)載《Win32程序設(shè)計(jì)之服務(wù)》

原始位置:http://www.chinabyte.com/20010528/181751.shtml
======================================================================

每個(gè)操作系統(tǒng)都需要有在后臺(tái)執(zhí)行任務(wù)的方法,無論是誰正在使用這部機(jī)器,這些任務(wù)都可以繼續(xù)運(yùn)行,后臺(tái)任務(wù)可以處理各種重要的服務(wù),包括系統(tǒng)的或者用戶的。例如,一個(gè)信使服務(wù)可以監(jiān)控網(wǎng)絡(luò),并且在接收到另一臺(tái)機(jī)子的信息時(shí),可以顯示一個(gè)對(duì)話框。一個(gè)發(fā)送和接收傳真的應(yīng)用需要在啟動(dòng)的時(shí)候運(yùn)行,并且不斷地監(jiān)控負(fù)責(zé)傳真的modem,看有沒有傳真進(jìn)來。一個(gè)家庭的或者辦公室的安全程序,用來控制一件檢測(cè)設(shè)備時(shí),它需要不時(shí)地查詢傳感器,并且在適當(dāng)?shù)臅r(shí)候響應(yīng)它。所有這些任務(wù)都需要CPU時(shí)間來執(zhí)行它們,不過由于它們需要的CPU時(shí)間很少,因此可以放在后臺(tái)而不影響用戶使用系統(tǒng)。

  在MS-DOS中,后臺(tái)的任務(wù)是通過TSR(Terminate and Stay Resident)程序來處理的。這些程序經(jīng)由autoexec.bat文件開始。在UNIX中,后臺(tái)任務(wù)是通過Daemons來處理的。在每次啟動(dòng)UNIX的過程中,你都可以看到操作系統(tǒng)啟動(dòng)一些任務(wù),例如定時(shí)的程序(Cron)和Finger的daemons,然后才可以讓首個(gè)用戶登錄。在Windows NT中,后臺(tái)的任務(wù)被稱為服務(wù)。服務(wù)可在每次NT啟動(dòng)的時(shí)候運(yùn)行,并且不管是誰登陸,都會(huì)一直運(yùn)行下去。

  Windows NT的服務(wù)都是通過一般的可執(zhí)行程序?qū)崿F(xiàn)的,不同的是,它遵循內(nèi)部的一個(gè)特定協(xié)議來設(shè)計(jì),以便它們能夠與服務(wù)控制管理器(SCM,Service Control Manager)進(jìn)行正確的交互。在這篇文章中,你將學(xué)習(xí)到如何在Windows NT中創(chuàng)建和安裝簡(jiǎn)單的Win32服務(wù)。一旦你懂得了這個(gè)簡(jiǎn)單的服務(wù),你要建立自己的服務(wù)也不難了,因?yàn)樗械姆?wù),不論是如何地復(fù)雜,都必須包含有同樣基本的SCM接口代碼。只要符合SCM的要求,其實(shí)為服務(wù)設(shè)計(jì)的可執(zhí)行文件和一般的程序并沒有多少的區(qū)別。

  無論是對(duì)于編程者或者系統(tǒng)管理員,了解NT的服務(wù)如何工作都是很重要的。編程者就不必說了,因?yàn)樗麄円獎(jiǎng)?chuàng)建自己的服務(wù),而對(duì)于系統(tǒng)管理員,也是同樣重要的。因?yàn)楹笈_(tái)的任務(wù)可以是很危險(xiǎn)的。MS-DOS和Macintosh系統(tǒng)都是一個(gè)病毒的溫床,因?yàn)樗鼈冊(cè)诎踩苑矫嫦忍觳蛔?#xff0c;它們都可以允許任何人或者程序在任何時(shí)間創(chuàng)建后臺(tái)的任務(wù)。Windows NT和UNIX系統(tǒng)是較安全的,因?yàn)橹挥邢到y(tǒng)管理員才可以為系統(tǒng)增加后臺(tái)的任務(wù),不過,如果系統(tǒng)管理員加入了一個(gè)破壞性的后臺(tái)程序,就它就可以為所欲為了。因此系統(tǒng)管理員要了解Windows NT服務(wù)的技巧和權(quán)限設(shè)置,就可以避免加入有潛在危險(xiǎn)的后臺(tái)任務(wù)。

基本的概念

  服務(wù)有兩種不同的形式。驅(qū)動(dòng)器服務(wù)使用驅(qū)動(dòng)器協(xié)議,讓NT可以與特定的硬件進(jìn)行通信。另一個(gè)是Win32服務(wù),通過一般的Win32 API來實(shí)現(xiàn)后臺(tái)任務(wù)。這篇文章的重點(diǎn)是談Win32服務(wù),因?yàn)樗鼈兏鼮槌R?#xff0c;而且創(chuàng)建起來也很容易。任何的NT編程者通過使用一般的NT SDK(或者Visual C++),并且可以用管理員的身份訪問一臺(tái)NT機(jī)器,都可以實(shí)現(xiàn)和安裝自己的Win32服務(wù)。如果你想創(chuàng)建一些在Windows NT啟動(dòng)時(shí)就運(yùn)行的程序,并且要求它會(huì)在系統(tǒng)中一直運(yùn)行,你就要使用Win32的服務(wù)。

  在NT中,服務(wù)通過控制面板進(jìn)行管理。在控制面板中,你會(huì)發(fā)現(xiàn)有一個(gè)服務(wù)的圖標(biāo),打開它你會(huì)看到所有Win32服務(wù)的清單。在那里你可以開始、停止、暫停和繼續(xù)某個(gè)服務(wù)。你按下其中的啟動(dòng)按鈕后,就會(huì)出現(xiàn)一個(gè)對(duì)話框,你可以修改啟動(dòng)操作以及服務(wù)使用的默認(rèn)帳號(hào)。一個(gè)服務(wù)可以在系統(tǒng)啟動(dòng)的時(shí)候自動(dòng)運(yùn)行,也可以被完全禁止。或者設(shè)置為手動(dòng)執(zhí)行。在手動(dòng)的時(shí)候,用戶還可以設(shè)置啟動(dòng)的參數(shù)。要對(duì)服務(wù)中的項(xiàng)目作修改的話,你需要以一個(gè)管理員或者超級(jí)用戶的身份登錄。

  Windows NT自帶有一些預(yù)裝的任務(wù),用來處理諸如網(wǎng)絡(luò)信使服務(wù)的操作或者使用“at”命令定時(shí)執(zhí)行的操作,以及分布的RPC命名。在你創(chuàng)建自己的服務(wù)時(shí),你必須執(zhí)行一個(gè)獨(dú)立的安裝步驟,以將服務(wù)的信息插入到服務(wù)管理工具的列表中,這些信息包括有新服務(wù)的名字、執(zhí)行文件的名字和啟動(dòng)的類型等,都會(huì)寫入到注冊(cè)表中,這樣在機(jī)器下次啟動(dòng)的時(shí)候,SCM就會(huì)得到新服務(wù)的相關(guān)信息。

創(chuàng)建一個(gè)新的服務(wù)

  執(zhí)行服務(wù)的程序也是一個(gè)EXE文件,不過它必須符合某些特定的規(guī)范,以便可以與SCM進(jìn)行正確的交互。微軟很細(xì)致地設(shè)計(jì)了函數(shù)調(diào)用的流程,你必須遵循這些流程,否則你的服務(wù)就不能工作。具體的規(guī)定如下所列。你可以在Win32編程者的參考指南中找到以下涉及的函數(shù),這些資料在SDK的Win32在線幫助或者Visual C++都有:

   .服務(wù)的代碼必須要有一個(gè)一般的main或者WinMain函數(shù)。這個(gè)函數(shù)應(yīng)該會(huì)馬上調(diào)用StartServiceCrtlDispatcher函數(shù)。通過調(diào)用這個(gè)函數(shù),你可以讓SCM得到ServiceMain函數(shù)的指針,這樣在SCM要啟動(dòng)該服務(wù)時(shí),就可以調(diào)用它

   .在SCM要啟動(dòng)服務(wù)的時(shí)候,就會(huì)調(diào)用ServiceMain函數(shù)。例如,如果管理員在服務(wù)管理器中按下啟動(dòng)的按鈕,SCM就會(huì)在一個(gè)獨(dú)立的線程中執(zhí)行ServiceMain函數(shù)。ServiceMain應(yīng)該調(diào)用RegisterServiceCtrlHandler函數(shù),這樣可以注冊(cè)一個(gè)Handler函數(shù),以便SCM對(duì)服務(wù)進(jìn)行控制。Handler函數(shù)的名字可以是任意的,不過它會(huì)在Handler下的文檔中列出來。RegisterServiceCtrlHandler函數(shù)會(huì)返回一個(gè)句柄,在服務(wù)需要發(fā)送狀態(tài)信息給SCM時(shí),可以通過該句柄進(jìn)行。

   .ServiceMain函數(shù)也必須啟動(dòng)做該服務(wù)實(shí)際工作的線程。在服務(wù)停止前,ServiceMain函數(shù)是不應(yīng)該有返回的。當(dāng)它返回的時(shí)候,服務(wù)已經(jīng)停止了。

   .Handler函數(shù)包含了一個(gè)switch語句,用來分析由SCM傳送過來的請(qǐng)求。默認(rèn)的情況,SCM可以發(fā)送以下任何的的控制常數(shù):

     SERVICE_CONTROL_STOP - 要服務(wù)停止
     SERVICE_CONTROL_PAUSE - 要服務(wù)暫停
     SERVICE_CONTROL_CONTINUE - 要服務(wù)繼續(xù)
     SERVICE_CONTROL_INTERROGATE - 要服務(wù)馬上報(bào)告它的狀態(tài)
     SERVICE_CONTROL_SHUTDOWN - 告訴服務(wù)即將關(guān)機(jī)

  也可以創(chuàng)建自定義的常數(shù)(值在128到255之間),并且通過SCM發(fā)送給服務(wù)。

  如果你創(chuàng)建的EXE包括有以上提到的main、ServiceMain和Handler函數(shù),以及執(zhí)行服務(wù)自身任務(wù)的線程函數(shù),那么你的服務(wù)程序設(shè)計(jì)就完成了。以下的圖總結(jié)了這些不同的函數(shù)和SCM之間的交互:

  在本文的最后還有幾段程序的列表,其中列表一為我們展示了一個(gè)可能是最簡(jiǎn)單的服務(wù)。該服務(wù)只發(fā)出"嘟"的響聲。默認(rèn)的狀態(tài)下,它每?jī)擅腠懸淮巍D憧梢酝ㄟ^啟動(dòng)的參數(shù)來修改發(fā)聲的間隔。這個(gè)服務(wù)挺完整,它可以正確響應(yīng)SCM傳來的每個(gè)控制信號(hào)。因此,這個(gè)程序可作為你創(chuàng)建自己服務(wù)的一個(gè)很好的模板。

  main函數(shù)通過調(diào)用StartServiceCtrlDispatcher來注冊(cè)ServiceMain函數(shù)。注冊(cè)的操作使用了一個(gè)SERVICE_TABLE_ENTRY結(jié)構(gòu)的數(shù)組。在這個(gè)例子中,該程序只包含了一個(gè)服務(wù),因此在表中只會(huì)有一個(gè)項(xiàng)目。不過,對(duì)于一個(gè)EXE文件,可以創(chuàng)建幾個(gè)任務(wù),這樣在表中就會(huì)有幾項(xiàng),以識(shí)別不同的ServiceMain函數(shù)。在調(diào)用StartServiceCtrlDispatcher之前,可在main函數(shù)中放入初始化的代碼,不過這些代碼必須在少于30秒內(nèi)完成,否則,SCM會(huì)認(rèn)為某些地方出錯(cuò)而終止服務(wù)。

  在自動(dòng)或者手動(dòng)啟動(dòng)服務(wù)時(shí),將會(huì)調(diào)用ServiceMain函數(shù)。ServiceMain函數(shù)將包含有以下的步驟:

  1.它馬上調(diào)用RegisterServiceCtrlHandler來注冊(cè)Handler函數(shù),作為SCM控制該服務(wù)的Handler函數(shù)

  2.然后它將調(diào)用SendStatusToSCM函數(shù),將當(dāng)前的進(jìn)程通報(bào)給SCM。第四個(gè)參數(shù)是一個(gè)“click count”值,在程序每次更新狀態(tài)時(shí),它的值就會(huì)增加。SCM和其它的程序可以根據(jù)click count的值來知道初始化期間進(jìn)行的處理。最后的參數(shù)是"wait hint",是用來告訴SCM在click count下次更新前,它需要等待的時(shí)間(以毫秒計(jì)算)。

  3.ServiceMain接著會(huì)創(chuàng)建一個(gè)事情,該事件在函數(shù)的底部使用,可讓它一直運(yùn)行,直到SCM發(fā)出一個(gè)STOP的請(qǐng)求。

  4.接著,ServiceMain檢查啟動(dòng)的參數(shù)。參數(shù)可在用戶手動(dòng)啟動(dòng)服務(wù)時(shí),通過服務(wù)管理工具中的啟動(dòng)參數(shù)傳送過來。這些參數(shù)以一個(gè)argv形式的數(shù)組進(jìn)入ServiceMain函數(shù)。

  5.如果你的服務(wù)需要處理其它初始化的任務(wù),它們應(yīng)該放在這一步,在調(diào)用InitService之前。

  6.ServiceMain函數(shù)接著調(diào)用InitService函數(shù),這將啟動(dòng)線程并做服務(wù)的真正工作。如果該調(diào)用成功,SverviceMain將會(huì)通知SCM服務(wù)已經(jīng)成功啟動(dòng)。

  7.ServiceMain將調(diào)用WaitForSingleObject,用來等待terminateEvent事件對(duì)象被設(shè)置。這個(gè)對(duì)象通過Handler函數(shù)設(shè)置,一旦它被設(shè)置,ServiceMain將調(diào)用終止的函數(shù)來做清除的工作,然后就返回并停止服務(wù)。

  你從上面可以看到,在這個(gè)函數(shù)中并沒有多少靈活的地方。除了第5步外,你必須按步執(zhí)行以上提到的任務(wù),否則服務(wù)將不可以正確啟動(dòng)。

  終止函數(shù)清除所有打開的句柄,并且發(fā)送一個(gè)狀態(tài)的信息給SCM,告訴它服務(wù)現(xiàn)已停止。

  在SCM要暫停、繼續(xù)、詢問或者停止服務(wù)時(shí),它就會(huì)調(diào)用Handler函數(shù)。要停止服務(wù),Handler設(shè)置terminateEvent,這樣做會(huì)導(dǎo)致ServiceMain(它會(huì)以一個(gè)獨(dú)立線程的形式執(zhí)行)終止并且返回。一旦ServiceMain返回,服務(wù)就停止了。

  SendStatusToSCM 函數(shù)負(fù)責(zé)發(fā)送服務(wù)的當(dāng)前狀態(tài)給SCM。

  在需要啟動(dòng)服務(wù)線程時(shí),ServiceMain就會(huì)調(diào)用InitService函數(shù)。該函數(shù)調(diào)用CreateThread來為服務(wù)創(chuàng)建一個(gè)新的線程。

  ServiceThread函數(shù)包含有該服務(wù)真正要做的工作。在這個(gè)例子中,該線程包含有一個(gè)無限的循環(huán),以一個(gè)預(yù)定義的時(shí)間間隔發(fā)出響聲。在你創(chuàng)建自己的服務(wù)時(shí),你可以在該線程中放入任何的代碼,調(diào)用Win32函數(shù)或者你自己的函數(shù)。

安裝和移除服務(wù)

  為了使用上面提到的發(fā)響聲服務(wù),你必須安裝它。安裝可讓SCM知道這個(gè)服務(wù),并且讓SCM將它加入到控制面板中的服務(wù)列表中。表單二的代碼展示了如何安裝一個(gè)服務(wù)。

  表單2先通過OpenSCManager函數(shù)打開一個(gè)到SCM的連接。在OpenSCManager的調(diào)用中,你必須指定你要做的東西,以便SCM可以驗(yàn)證這個(gè)行為。如果你登錄的帳號(hào)沒有足夠的權(quán)限,該調(diào)用將返回NULL。

  CreateService的調(diào)用是真正用來裝入新服務(wù)的。它使用OpenSCManager返回至SCM的指針、名字、標(biāo)簽和命令行中的EXE文件,還有一些標(biāo)準(zhǔn)的參數(shù)值。使用SERVICE_WIN32_OWN_PROCESS表明該服務(wù)的EXE文件只包含有一個(gè)服務(wù),而SERVICE_DEMAND_START則表明該服務(wù)是手動(dòng)而不是自動(dòng)啟動(dòng)的。使用命令行安裝程序的一個(gè)典型格式如下:

   install BeepService "Beeper" c:/winnt/beep.exe

  第一個(gè)參數(shù)是SCM內(nèi)部使用的服務(wù)名字。這個(gè)名字也用在以后移除服務(wù)。第二個(gè)參數(shù)是一個(gè)標(biāo)識(shí)符,即服務(wù)管理中顯示的名字。第三個(gè)參數(shù)指出該服務(wù)的執(zhí)行文件的路徑。在你安裝服務(wù)后,可在控制面板的服務(wù)管理中啟動(dòng)它。如果有錯(cuò),可在Win32 API的在線文檔中查出錯(cuò)誤代碼的含義。

  要移除服務(wù),你要按列表3的步驟進(jìn)行。它首先打開一個(gè)到SCM的連接,然后使用OpenService函數(shù)打開一個(gè)與服務(wù)的連接。列表3中接著查詢服務(wù)來看它是否現(xiàn)已停止了。如果不是的話,就會(huì)停止它。DeleteService 用來從控制面板中移除服務(wù),移除操作的典型格式如下:

  remove BeepService

  需要的話,你也可以在馬上重新安裝服務(wù)。

結(jié)論

  服務(wù)對(duì)于Windows NT是很重要的一部分,因?yàn)樗勺屇銓?duì)操作系統(tǒng)進(jìn)行擴(kuò)展。使用列表1的代碼作為一個(gè)模板,你將會(huì)發(fā)現(xiàn)要建立一個(gè)自己的新服務(wù)是非常簡(jiǎn)單的。

  列表1

  實(shí)現(xiàn)可能是最簡(jiǎn)單NT服務(wù)的代碼


//***************************************************************
// From the book "Win32 System Services: The Heart of Windows NT"
// by Marshall Brain
// Published by Prentice Hall
file://
// This code implements the simplest possible service.
// It beeps every 2 seconds, or at a user specified interval.
file://***************************************************************

// beepserv.cpp

#include
#include
#include
#include

#define DEFAULT_BEEP_DELAY 2000

// Global variables

// The name of the service
char *SERVICE_NAME = "BeepService";
// Event used to hold ServiceMain from completing
HANDLE terminateEvent = NULL;
// Handle used to communicate status info with
// the SCM. Created by RegisterServiceCtrlHandler
SERVICE_STATUS_HANDLE serviceStatusHandle;
// The beep interval in ms.
int beepDelay = DEFAULT_BEEP_DELAY;
// Flags holding current state of service
BOOL pauseService = FALSE;
BOOL runningService = FALSE;
// Thread for the actual work
HANDLE threadHandle = 0;

void ErrorHandler(char *s, DWORD err)
{
cout s endl;
cout "Error number: " err endl;
ExitProcess(err);
}

// This function consolidates the activities of
// updating the service status with
// SetServiceStatus
BOOL SendStatusToSCM (DWORD dwCurrentState,
DWORD dwWin32ExitCode,
DWORD dwServiceSpecificExitCode,
DWORD dwCheckPoint,
DWORD dwWaitHint)
{
BOOL success;
SERVICE_STATUS serviceStatus;

// Fill in all of the SERVICE_STATUS fields
serviceStatus.dwServiceType = SERVICE_WIN32_OWN_PROCESS;
serviceStatus.dwCurrentState = dwCurrentState;

// If in the process of doing something, then accept
// no control events, else accept anything
if (dwCurrentState == SERVICE_START_PENDING)
serviceStatus.dwControlsAccepted = 0;
else
serviceStatus.dwControlsAccepted = SERVICE_ACCEPT_STOP |
SERVICE_ACCEPT_PAUSE_CONTINUE |
SERVICE_ACCEPT_SHUTDOWN;

// if a specific exit code is defined, set up
// the win32 exit code properly
if (dwServiceSpecificExitCode == 0)
serviceStatus.dwWin32ExitCode = dwWin32ExitCode;
else
serviceStatus.dwWin32ExitCode = ERROR_SERVICE_SPECIFIC_ERROR;
serviceStatus.dwServiceSpecificExitCode =dwServiceSpecificExitCode;
serviceStatus.dwCheckPoint = dwCheckPoint;
serviceStatus.dwWaitHint = dwWaitHint;

// Pass the status record to the SCM
success = SetServiceStatus (serviceStatusHandle, &serviceStatus);
return success;
}

DWORD ServiceThread(LPDWORD param)
{
while (1)
{
Beep(200,200);
Sleep(beepDelay);
}
return 0;
}

// Initializes the service by starting its thread
BOOL InitService()
{
DWORD id;

// Start the service's thread
threadHandle = CreateThread(0, 0,(LPTHREAD_START_ROUTINE) ServiceThread,0, 0, &id);

if (threadHandle==0)
return FALSE;
else
{
runningService = TRUE;
return TRUE;
}
}

// Dispatches events received from the SCM
VOID Handler (DWORD controlCode)
{
DWORD currentState = 0;
BOOL success;

switch(controlCode)
{
// There is no START option because
// ServiceMain gets called on a start

// Stop the service
case SERVICE_CONTROL_STOP:
// Tell the SCM what's happening
success = SendStatusToSCM(SERVICE_STOP_PENDING,NO_ERROR, 0, 1, 5000);
runningService=FALSE;
// Set the event that is holding ServiceMain
// so that ServiceMain can return
SetEvent(terminateEvent);
return;
// Pause the service
case SERVICE_CONTROL_PAUSE:
if (runningService && !pauseService)
{
// Tell the SCM what's happening
success = SendStatusToSCM(SERVICE_PAUSE_PENDING,
NO_ERROR, 0, 1, 1000);
pauseService = TRUE;
SuspendThread(threadHandle);
currentState = SERVICE_PAUSED;
}
break;
// Resume from a pause
case SERVICE_CONTROL_CONTINUE:
if (runningService && pauseService)
{
// Tell the SCM what's happening
success = SendStatusToSCM(SERVICE_CONTINUE_PENDING,
NO_ERROR, 0, 1, 1000);
pauseService=FALSE;
ResumeThread(threadHandle);
currentState = SERVICE_RUNNING;
}
break;
// Update current status
case SERVICE_CONTROL_INTERROGATE:
// it will fall to bottom and send status
break;
// Do nothing in a shutdown. Could do cleanup
// here but it must be very quick.
case SERVICE_CONTROL_SHUTDOWN:
return;
default:
break;
}
SendStatusToSCM(currentState, NO_ERROR, 0, 0, 0);
}

// Handle an error from ServiceMain by cleaning up
// and telling SCM that the service didn't start.
VOID terminate(DWORD error)
{
// if terminateEvent has been created, close it.
if (terminateEvent) CloseHandle(terminateEvent);

// Send a message to the scm to tell about stopage
if (serviceStatusHandle)
SendStatusToSCM(SERVICE_STOPPED, error,0, 0, 0);

// If the thread has started, kill it off
if (threadHandle) CloseHandle(threadHandle);

// Do not need to close serviceStatusHandle
}

// ServiceMain is called when the SCM wants to
// start the service. When it returns, the service
// has stopped. It therefore waits on an event
// just before the end of the function, and
// that event gets set when it is time to stop.
// It also returns on any error because the
// service cannot start if there is an eror.
VOID ServiceMain(DWORD argc, LPTSTR *argv)
{
BOOL success;

// immediately call Registration function
serviceStatusHandle =
RegisterServiceCtrlHandler(
SERVICE_NAME, (LPHANDLER_FUNCTION)Handler);
if (!serviceStatusHandle) {terminate(GetLastError()); return;}

// Notify SCM of progress
success = SendStatusToSCM(SERVICE_START_PENDING,
NO_ERROR, 0, 1, 5000);
if (!success) {terminate(GetLastError()); return;}

// create the termination event
terminateEvent = CreateEvent (0, TRUE, FALSE, 0);
if (!terminateEvent) {terminate(GetLastError()); return;}

// Notify SCM of progress
success = SendStatusToSCM(SERVICE_START_PENDING,
NO_ERROR, 0, 2, 1000);
if (!success) {terminate(GetLastError()); return;}

// Check for startup params
if (argc == 2)
{
int temp = atoi(argv[1]);
if (temp 1000)
beepDelay = DEFAULT_BEEP_DELAY;
else
beepDelay = temp;
}

// Notify SCM of progress
success = SendStatusToSCM(SERVICE_START_PENDING,
NO_ERROR, 0, 3, 5000);
if (!success) {terminate(GetLastError()); return;}

// Start the service itself
success = InitService();
if (!success) {terminate(GetLastError()); return;}

// The service is now running.
// Notify SCM of progress
success = SendStatusToSCM(SERVICE_RUNNING,
NO_ERROR, 0, 0, 0);
if (!success) {terminate(GetLastError()); return;}

// Wait for stop signal, and then terminate
WaitForSingleObject (terminateEvent, INFINITE);

terminate(0);
}

VOID main(VOID)
{
SERVICE_TABLE_ENTRY serviceTable[] =
{
{ SERVICE_NAME,
(LPSERVICE_MAIN_FUNCTION) ServiceMain},
{ NULL, NULL }
};
BOOL success;

// Register with the SCM
success =
StartServiceCtrlDispatcher(serviceTable);
if (!success)
ErrorHandler("In StartServiceCtrlDispatcher",
GetLastError());
}

列表2
安裝NT服務(wù)的代碼


file://***************************************************************
// From the book "Win32 System Services: The Heart of Windows NT"
// by Marshall Brain
// Published by Prentice Hall
file://
// This code installs a service.
file://***************************************************************

// install.cpp

#include
#include

void ErrorHandler(char *s, DWORD err)
{
cout s endl;
cout "Error number: " err endl;
ExitProcess(err);
}

void main(int argc, char *argv[])
{
SC_HANDLE newService, scm;

if (argc != 4)
{
cout "Usage:/n";
cout " install service_name /
service_label executable/n";
cout " service_name is the /
name used internally by the SCM/n";
cout " service_label is the /
name that appears in the Services applet/n";
cout " (for multiple /
words, put them in double quotes)/n";
cout " executable is the /
full path to the EXE/n/n";
return;
}

// open a connection to the SCM
scm = OpenSCManager(0, 0, SC_MANAGER_CREATE_SERVICE);
if (!scm) ErrorHandler("In OpenScManager",
GetLastError());

// Install the new service
newService = CreateService(
scm, argv[1], // eg "beep_srv"
argv[2], // eg "Beep Service"
SERVICE_ALL_ACCESS, SERVICE_WIN32_OWN_PROCESS,
SERVICE_DEMAND_START, SERVICE_ERROR_NORMAL,
argv[3], // eg "c:/winnt/xxx.exe"
0, 0, 0, 0, 0);
if (!newService) ErrorHandler("In CreateService",
GetLastError());
else cout "Service installed/n";

// clean up
CloseServiceHandle(newService);
CloseServiceHandle(scm);
}

列表3
移除NT服務(wù)的代碼
file://***************************************************************
// From the book "Win32 System Services: The Heart of Windows NT"
// by Marshall Brain
// Published by Prentice Hall
file://
// This code removes a service from the Services applet in the
// Control Panel.
file://***************************************************************

// remove.cpp

#include
#include

void ErrorHandler(char *s, DWORD err)
{
cout s endl;
cout "Error number: " err endl;
ExitProcess(err);
}

void main(int argc, char *argv[])
{
SC_HANDLE service, scm;
BOOL success;
SERVICE_STATUS status;

if (argc != 2)
{
cout "Usage:/n remove service_name/n";
return;
}

// Open a connection to the SCM
scm = OpenSCManager(0, 0, SC_MANAGER_CREATE_SERVICE);
if (!scm) ErrorHandler("In OpenScManager",
GetLastError());

// Get the service's handle
service = OpenService(scm, argv[1],
SERVICE_ALL_ACCESS | DELETE);
if (!service) ErrorHandler("In OpenService",
GetLastError());

// Stop the service if necessary
success = QueryServiceStatus(service, &status);
if (!success) ErrorHandler("In QueryServiceStatus",
GetLastError());
if (status.dwCurrentState != SERVICE_STOPPED)
{
cout "Stopping service.../n";
success = ControlService(service,
SERVICE_CONTROL_STOP, &status);
if (!success) ErrorHandler("In ControlService",
GetLastError());
}

// Remove the service
success = DeleteService(service);
if (success) cout "Service removed/n";
else ErrorHandler("In DeleteService",
GetLastError());

// Clean up
CloseServiceHandle(service);
CloseServiceHandle(scm);
}


======================================================================
第二部分:用Win32匯編實(shí)現(xiàn)系統(tǒng)服務(wù)
by:羅云彬

好了,經(jīng)過了上面這篇文章,大家對(duì)服務(wù)應(yīng)該有個(gè)初步的了解了,但是要注意分辨文章中提及的 API 名稱和程序自己的模塊名稱,比如CreateService是一個(gè) API,而 ServiceMain 是程序中一個(gè)子程序的名稱,千萬不要把子程序名當(dāng)系統(tǒng)的 API 去使用了 :)
在這部分的補(bǔ)充中,我再歸納一下實(shí)現(xiàn)各種功能所使用的 API 函數(shù)名和使用的步驟,并提供一個(gè)匯編源程序例子來供大家參考,大家也可以下載整個(gè)源代碼包并修改使用。
一般來說,整個(gè)服務(wù)程序系統(tǒng)由兩個(gè)單獨(dú)的程序組成:服務(wù)程序和服務(wù)控制程序,經(jīng)過了上面的介紹,大家一定明白這兩個(gè)程序應(yīng)該由哪些部分組成了:

服務(wù)程序的結(jié)構(gòu)

服務(wù)程序是被用來實(shí)現(xiàn)服務(wù)功能的部分,它由相對(duì)獨(dú)立的3個(gè)部分組成:

1. 程序入口 -> 調(diào)用StartServiceCtrlDispatcher(注冊(cè)服務(wù)主程序)
2. 服務(wù)主程序(被SCM調(diào)用)-> 調(diào)用RegisterServiceCtrlHandler(注冊(cè)控制handler)-> 調(diào)用 SetServiceStatus 設(shè)置服務(wù)的正確狀態(tài) -> 執(zhí)行服務(wù)的功能代碼 -> 需要結(jié)束服務(wù)的時(shí)候則返回。
3. 控制Handler -> 設(shè)置內(nèi)部標(biāo)志以控制第2部分服務(wù)主程序中的代碼走向,并調(diào)用 SetServiceStatus 更新服務(wù)的狀態(tài)。

可見,服務(wù)程序必須用到的 API 只有 StartServiceCtrlDispatcher、RegisterServiceCtrlHandler和SetServiceStatus ,其余的大部分代碼是執(zhí)行本身的功能模塊。這里有一個(gè)服務(wù)程序的簡(jiǎn)單例子,實(shí)現(xiàn)的是每秒種讓喇叭發(fā)聲一次的功能。

下面的源代碼是 Service.asm 程序:

;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; Windows NT 服務(wù)程序模板
; by 羅云彬, http://asm.yeah.net
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; 服務(wù)端程序 Ver 1.0
;
; 2002.06.20 ----- 第1版
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
.386
.model flat, stdcall
option casemap :none
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; Include 文件定義
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
include windows.inc
include user32.inc
includelib user32.lib
include kernel32.inc
includelib kernel32.lib
include AdvApi32.inc
includelib AdvApi32.lib
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; 數(shù)據(jù)段
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
.data?

stSS SERVICE_STATUS > ;服務(wù)的狀態(tài)
hSS dd ? ;服務(wù)的狀態(tài)句柄
dwOption dd ?
F_STOP equ 0001h ;停止服務(wù)

include
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; 代碼段
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
.code
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; 服務(wù)控制程序
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
_ProcHandler proc _dwControl

pushad
mov eax,_dwControl
.if eax == SERVICE_CONTROL_STOP
or dwOption,F_STOP
mov stSS.dwCurrentState,SERVICE_STOPPED
invoke SetServiceStatus,hSS,addr stSS
.elseif eax == SERVICE_CONTROL_INTERROGATE
invoke SetServiceStatus,hSS,addr stSS
.endif
popad
ret

_ProcHandler endp
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; 服務(wù)主程序
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
_ServiceMain proc _dwArgc,_lpszArgv

pushad
invoke RegisterServiceCtrlHandler,addr szServiceName,offset _ProcHandler
mov hSS,eax
mov stSS.dwServiceType,SERVICE_WIN32_OWN_PROCESS or SERVICE_INTERACTIVE_PROCESS
mov stSS.dwCurrentState,SERVICE_START_PENDING
mov stSS.dwControlsAccepted,SERVICE_ACCEPT_STOP
mov stSS.dwWin32ExitCode,NO_ERROR
invoke SetServiceStatus,hSS,addr stSS
;********************************************************************
; 如果初始化代碼比較多,那么需要首先把狀態(tài)設(shè)置為 pending,等完成以后
; 再設(shè)置為 Running。(在這里加入初始化代碼)
;********************************************************************
mov stSS.dwCurrentState,SERVICE_RUNNING
invoke SetServiceStatus,hSS,addr stSS
;********************************************************************
; 服務(wù)的具體執(zhí)行代碼
; 在這里是每隔1秒種讓喇叭發(fā)聲
;********************************************************************
.repeat
invoke MessageBeep,-1
invoke Sleep,1000
.until dwOption & F_STOP
popad
ret

_ServiceMain endp
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; 主程序
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
_WinMain proc
local @stSTE[2]:SERVICE_TABLE_ENTRY

invoke RtlZeroMemory,addr @stSTE,sizeof @stSTE
mov @stSTE[0].lpServiceName,offset szServiceName
mov @stSTE[0].lpServiceProc,offset _ServiceMain
invoke StartServiceCtrlDispatcher,addr @stSTE
ret

_WinMain endp
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
start:
invoke _WinMain
invoke ExitProcess,NULL
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
end start

這里是服務(wù)名稱的定義文件 Define.inc,這個(gè)文件已經(jīng)在前面用include語句包含進(jìn)來:

;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; 公用文本信息
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
.const

szServiceEXE db 'Service.exe',0 ;在這里定義運(yùn)行服務(wù)的 exe 文件名
szServiceName db 'ServiceTemplate',0 ;在這里定義服務(wù)的名稱
szDisplayName db 'Service Template for test',0 ;在這里定義服務(wù)顯示的名稱
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>


要注意的是,服務(wù)程序部分的代碼并沒有什么靈活性可言,它必須按照這樣的步驟來實(shí)現(xiàn),否則Windows就不認(rèn)為它是一個(gè)服務(wù)程序了,另外,需要補(bǔ)充說明的是:

1. StartServiceCtrlDispatcher 函數(shù)被調(diào)用后并不馬上返回,這時(shí)系統(tǒng)會(huì)去調(diào)用服務(wù)主程序(上面的_ServiceMain子程序),只有當(dāng)服務(wù)主程序返回的時(shí)候,函數(shù)才會(huì)返回,這時(shí)主程序繼續(xù)執(zhí)行并執(zhí)行 ExitProcess 終止執(zhí)行。
2. 從第1點(diǎn)可以發(fā)現(xiàn):在服務(wù)程序中,服務(wù)主程序的退出就意味著服務(wù)自行終止了,所以假如程序創(chuàng)建了多個(gè)線程來執(zhí)行功能代碼的話,在線程被創(chuàng)建以后,主程序還需要在這里等待,否則子程序返回以后服務(wù)進(jìn)程就結(jié)束了,這些線程又怎么能繼續(xù)執(zhí)行呢?

服務(wù)控制程序的結(jié)構(gòu)

好了,有了服務(wù)程序以后,還需要把服務(wù)正確安裝才能讓它運(yùn)行,這個(gè)工作就是服務(wù)控制程序的事情了,一般來說,服務(wù)控制程序的結(jié)構(gòu)并沒有什么特殊的要求,它只是一個(gè)普通的Win32可執(zhí)行文件而已,在服務(wù)控制程序中可以使用下面的 API 來進(jìn)行各種控制,這些 API的具體語法請(qǐng)查看 Win32 API 手冊(cè):

1. 在進(jìn)行和服務(wù)相關(guān)的各種操作之前,必須使用OpenSCManager來聯(lián)系服務(wù)管理器,并從這個(gè) API 得到一個(gè)
服務(wù)管理器的句柄 hSCM。
2. 操作某個(gè)具體的服務(wù)前,需要使用OpenService來打開服務(wù),并得到服務(wù)的句柄hService,接下來就可以使用這個(gè)句柄來控制服務(wù)(當(dāng)然,安裝服務(wù)的時(shí)候并不需要此步驟,這時(shí)服務(wù)還不存在呢,又如何打開?)
3. 安裝服務(wù):使用 CreateService 函數(shù),這個(gè)函數(shù)將服務(wù)程序的可執(zhí)行文件在SCM中注冊(cè),注意:“注冊(cè)”并不意味著執(zhí)行,它只是在SCM的數(shù)據(jù)庫中登記一條包含可執(zhí)行文件名、啟動(dòng)方式、服務(wù)名稱等信息的數(shù)據(jù)而已,執(zhí)行這個(gè)函數(shù)以后,在控制面板的服務(wù)一欄中就可以看到服務(wù)列表中已經(jīng)出現(xiàn)這個(gè)服務(wù)了,由于這僅僅是“注冊(cè)”,所以系統(tǒng)并不檢查可執(zhí)行文件的合法性,也就是說,即使注冊(cè)一個(gè)不存在的可執(zhí)行文件,注冊(cè)操作仍然會(huì)成功,但這樣以后要啟動(dòng)服務(wù)的時(shí)候就會(huì)失敗。注冊(cè)過一次以后,SCM數(shù)據(jù)庫中的信息會(huì)被自動(dòng)保存,所以“注冊(cè)”操作是一次性的過程,并不需要在每次啟動(dòng)服務(wù)的時(shí)候都去注冊(cè)一遍。
4. 啟動(dòng)服務(wù):當(dāng)安裝了服務(wù)以后,可以用StartService函數(shù)來啟動(dòng)服務(wù),這時(shí)系統(tǒng)才真正根據(jù)注冊(cè)的文件名去執(zhí)行服務(wù)程序。
5. 刪除服務(wù):刪除服務(wù)是安裝服務(wù)的逆過程,也就是在SCM的數(shù)據(jù)庫中將服務(wù)程序的信息刪除,刪除服務(wù)使用DeleteService函數(shù)。
6. 服務(wù)的控制:服務(wù)的暫停、停止等工作都可以由服務(wù)控制函數(shù)ControlService來完成,需要的僅僅是指定不同的參數(shù)而已。
7. 服務(wù)狀態(tài)的查詢可以由QueryServiceStatus函數(shù)來完成。
8. 句柄的關(guān)閉:和上面的操作相關(guān)的句柄(包括SCM句柄和服務(wù)句柄)在不再使用以后需要用CloseServiceHandle函數(shù)關(guān)閉。

下面的幾個(gè)子程序舉例說明了安裝服務(wù)、刪除服務(wù)、啟動(dòng)服務(wù)和停止服務(wù)的操作方法,注意子程序中用到的hSCM已經(jīng)在其他地方首先調(diào)用OpenSCManager函數(shù)獲取了。更具體的源代碼請(qǐng)查看文章附帶的源代碼包中的Control.asm文件。


;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; 安裝服務(wù)
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
_InstallService proc
local @hService,@dwReturn

mov @dwReturn,FALSE
;********************************************************************
; 創(chuàng)建服務(wù)
;********************************************************************
invoke CreateService,hSCM,addr szServiceName,addr szDisplayName,/
SERVICE_ALL_ACCESS,SERVICE_WIN32_OWN_PROCESS or SERVICE_INTERACTIVE_PROCESS,/
SERVICE_AUTO_START,SERVICE_ERROR_NORMAL,addr szServiceFile,/
NULL,NULL,NULL,NULL,NULL
.if ! eax
invoke GetLastError
.if eax == ERROR_DUP_NAME || eax == ERROR_SERVICE_EXISTS
mov @dwReturn,TRUE
.else
mov @dwReturn,FALSE
.endif
jmp @F
.endif
mov @hService,eax
mov @dwReturn,TRUE
;********************************************************************
invoke CloseServiceHandle,@hService
@@:
mov eax,@dwReturn
ret

_InstallService endp
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; 刪除服務(wù)
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
_DeleteService proc
local @hService,@dwReturn
local @stStatus:SERVICE_STATUS

mov @dwReturn,FALSE
;********************************************************************
; 打開服務(wù)
;********************************************************************
invoke OpenService,hSCM,addr szServiceName,SERVICE_ALL_ACCESS
.if ! eax
jmp @F
.endif
mov @hService,eax
;********************************************************************
; 停止服務(wù)并刪除服務(wù)
;********************************************************************
call _StopService
invoke DeleteService,@hService
.if eax
mov @dwReturn,TRUE
.endif
invoke CloseServiceHandle,@hService
@@:
mov eax,@dwReturn
ret

_DeleteService endp
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; 啟動(dòng)服務(wù)
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
_StartService proc
local @hService

invoke OpenService,hSCM,addr szServiceName,SERVICE_START
.if eax
mov @hService,eax
invoke StartService,@hService,0,NULL
.if eax
mov eax,TRUE
.else
mov eax,FALSE
.endif
push eax
invoke CloseServiceHandle,@hService
pop eax
.else
mov eax,FALSE
.endif
ret

_StartService endp
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; 停止服務(wù)
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
_StopService proc
local @hService
local @stStatus:SERVICE_STATUS

invoke OpenService,hSCM,addr szServiceName,SERVICE_ALL_ACCESS
.if eax
mov @hService,eax
invoke QueryServiceStatus,@hService,addr @stStatus
invoke ControlService,@hService,SERVICE_CONTROL_STOP,addr @stStatus
.if eax
mov eax,TRUE
.else
mov eax,FALSE
.endif
push eax
invoke CloseServiceHandle,@hService
pop eax
.else
mov eax,FALSE
.endif
ret

_StopService endp
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>


合并服務(wù)程序和服務(wù)控制程序

在上面的例子中,將服務(wù)程序和服務(wù)控制程序分開是為了更好地從概念上說明兩者的區(qū)別,但在實(shí)際應(yīng)用中,還是有很多的程序?qū)蓚€(gè)部分合在同一個(gè)可執(zhí)行文件中實(shí)現(xiàn),這時(shí)兩部分僅僅是在物理上被放在同一個(gè)exe文件中,在結(jié)構(gòu)上還是無不相干,完全獨(dú)立的。
雖然兩個(gè)部分的實(shí)現(xiàn)方式是完全不同的,但只要在程序的入口處就按照不同的情況去執(zhí)行不同部分的代碼,將它們合在一個(gè)文件中還是可行的,其關(guān)鍵就是分辨程序被執(zhí)行的時(shí)候是作為服務(wù)程序執(zhí)行還是被作為服務(wù)控制程序執(zhí)行的,常見的方法有:

1. 用命令行參數(shù)來分辨,使用CreateService函數(shù)安裝服務(wù)的時(shí)候遞交文件名字符串時(shí)可以在文件名后面跟參數(shù),這樣程序入口處用GetCommandLine函數(shù)獲取命令行參數(shù),檢測(cè)到特定參數(shù)則按照服務(wù)方式執(zhí)行,否則按照服務(wù)控制程序方式運(yùn)行。
2. 用運(yùn)行路徑分辨,一些病毒程序初始化的時(shí)候?qū)⒆约旱母北究截惖絎indows目錄下并將這個(gè)副本注冊(cè)為服務(wù),所以到它檢測(cè)到當(dāng)前路徑是Windows目錄的時(shí)候,就按照服務(wù)方式運(yùn)行。

總結(jié)

以上是生活随笔為你收集整理的用汇编写系统服务程序的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

色欲人妻aaaaaaa无码 | 国产人妻精品一区二区三区不卡 | 成人性做爰aaa片免费看 | 欧美野外疯狂做受xxxx高潮 | 97无码免费人妻超级碰碰夜夜 | 377p欧洲日本亚洲大胆 | 国产亚洲视频中文字幕97精品 | 欧美肥老太牲交大战 | 成人欧美一区二区三区黑人免费 | 亚洲中文字幕无码中文字在线 | 色婷婷久久一区二区三区麻豆 | a在线观看免费网站大全 | 天天av天天av天天透 | 东京一本一道一二三区 | 国产高潮视频在线观看 | 中文字幕乱码中文乱码51精品 | 亚洲狠狠婷婷综合久久 | 一本大道久久东京热无码av | 少妇人妻大乳在线视频 | 亚洲色偷偷男人的天堂 | 国产精品久久久久9999小说 | 亚洲国产成人av在线观看 | 好屌草这里只有精品 | 搡女人真爽免费视频大全 | 亚洲aⅴ无码成人网站国产app | 国产一区二区三区精品视频 | ass日本丰满熟妇pics | 日日躁夜夜躁狠狠躁 | 精品少妇爆乳无码av无码专区 | 九九在线中文字幕无码 | 亚洲国产精品久久久久久 | 亚洲无人区一区二区三区 | 无码人妻精品一区二区三区下载 | 国产肉丝袜在线观看 | 精品厕所偷拍各类美女tp嘘嘘 | 精品一区二区不卡无码av | 亚洲の无码国产の无码影院 | 永久免费观看美女裸体的网站 | 欧美日韩视频无码一区二区三 | 国内揄拍国内精品少妇国语 | 国产香蕉尹人综合在线观看 | 午夜精品久久久久久久 | 亚洲综合无码久久精品综合 | 波多野结衣一区二区三区av免费 | 俺去俺来也在线www色官网 | 亚洲区小说区激情区图片区 | 亚洲熟妇色xxxxx欧美老妇y | 亚洲一区二区三区含羞草 | 国产亚洲精品久久久ai换 | 免费网站看v片在线18禁无码 | 日韩精品无码免费一区二区三区 | 国产亚洲精品久久久闺蜜 | 黄网在线观看免费网站 | 国内少妇偷人精品视频 | 51国偷自产一区二区三区 | 无码人妻精品一区二区三区不卡 | 国产性猛交╳xxx乱大交 国产精品久久久久久无码 欧洲欧美人成视频在线 | 国产精品.xx视频.xxtv | 天天综合网天天综合色 | 波多野结衣aⅴ在线 | 美女张开腿让人桶 | 国产精品久久久一区二区三区 | 国产做国产爱免费视频 | 熟女少妇在线视频播放 | 熟妇激情内射com | 国产热a欧美热a在线视频 | 久久亚洲中文字幕无码 | 亚洲精品成a人在线观看 | 无码国内精品人妻少妇 | 亚洲国产av美女网站 | 丰腴饱满的极品熟妇 | 人妻少妇被猛烈进入中文字幕 | 亚洲成a人一区二区三区 | 暴力强奷在线播放无码 | 日韩少妇白浆无码系列 | 色窝窝无码一区二区三区色欲 | 97色伦图片97综合影院 | 熟女少妇人妻中文字幕 | 久久久精品456亚洲影院 | 国产偷国产偷精品高清尤物 | 国产办公室秘书无码精品99 | 熟女俱乐部五十路六十路av | 少妇久久久久久人妻无码 | 天干天干啦夜天干天2017 | 久久人人爽人人爽人人片av高清 | 成人欧美一区二区三区黑人 | 波多野结衣 黑人 | 国产手机在线αⅴ片无码观看 | 人妻少妇被猛烈进入中文字幕 | 国内揄拍国内精品人妻 | 乱人伦人妻中文字幕无码久久网 | 成熟女人特级毛片www免费 | 国产精品第一区揄拍无码 | 2019nv天堂香蕉在线观看 | 熟女俱乐部五十路六十路av | 欧美大屁股xxxxhd黑色 | 中文字幕日韩精品一区二区三区 | 国产网红无码精品视频 | 久久国产精品精品国产色婷婷 | 亚洲一区二区三区国产精华液 | 久久精品女人的天堂av | 国产美女精品一区二区三区 | 成人精品一区二区三区中文字幕 | 亚洲无人区一区二区三区 | 55夜色66夜色国产精品视频 | 国产成人无码av一区二区 | 夜夜影院未满十八勿进 | 天堂在线观看www | 奇米影视7777久久精品人人爽 | 亚洲精品午夜无码电影网 | 国产精品亚洲а∨无码播放麻豆 | 九月婷婷人人澡人人添人人爽 | 无码午夜成人1000部免费视频 | 国产综合色产在线精品 | 日产精品99久久久久久 | 最新国产麻豆aⅴ精品无码 | 欧洲美熟女乱又伦 | 亚洲综合色区中文字幕 | 人妻少妇精品视频专区 | aⅴ亚洲 日韩 色 图网站 播放 | 少妇的肉体aa片免费 | 中文字幕乱码中文乱码51精品 | 粗大的内捧猛烈进出视频 | 国产精品嫩草久久久久 | 日本又色又爽又黄的a片18禁 | 国产肉丝袜在线观看 | 国产人妖乱国产精品人妖 | 欧美老人巨大xxxx做受 | 黑人粗大猛烈进出高潮视频 | 性啪啪chinese东北女人 | 日本精品少妇一区二区三区 | 97精品国产97久久久久久免费 | 一二三四在线观看免费视频 | 天干天干啦夜天干天2017 | 亚洲欧美精品伊人久久 | 国产97人人超碰caoprom | 正在播放东北夫妻内射 | а√天堂www在线天堂小说 | 秋霞成人午夜鲁丝一区二区三区 | 一区二区三区乱码在线 | 欧洲 | 99re在线播放 | 国产亚洲欧美日韩亚洲中文色 | 性色欲网站人妻丰满中文久久不卡 | 久久无码人妻影院 | 国产成人精品视频ⅴa片软件竹菊 | 亚洲欧洲中文日韩av乱码 | 夜夜高潮次次欢爽av女 | 亚洲国产精品一区二区第一页 | 中文毛片无遮挡高清免费 | 97夜夜澡人人爽人人喊中国片 | 久久精品一区二区三区四区 | 丰满护士巨好爽好大乳 | 国产无遮挡又黄又爽又色 | 亚洲一区二区三区在线观看网站 | 亚洲精品国偷拍自产在线麻豆 | 国产精品理论片在线观看 | 成熟女人特级毛片www免费 | 亚洲国产精品久久久久久 | 中文精品久久久久人妻不卡 | 国产艳妇av在线观看果冻传媒 | 丰满少妇熟乱xxxxx视频 | 日日麻批免费40分钟无码 | 综合网日日天干夜夜久久 | 成人亚洲精品久久久久软件 | 四虎国产精品免费久久 | 亚洲综合伊人久久大杳蕉 | 97精品人妻一区二区三区香蕉 | 中文字幕人妻无码一区二区三区 | 日本熟妇人妻xxxxx人hd | 午夜精品久久久内射近拍高清 | 中文字幕无线码免费人妻 | 久久综合九色综合欧美狠狠 | 欧美精品免费观看二区 | 亚洲爆乳大丰满无码专区 | 国产精品手机免费 | 欧美日韩综合一区二区三区 | 性色欲网站人妻丰满中文久久不卡 | 偷窥日本少妇撒尿chinese | 欧美人与物videos另类 | 野外少妇愉情中文字幕 | 天堂а√在线地址中文在线 | 国产精品人人爽人人做我的可爱 | 午夜熟女插插xx免费视频 | 色五月五月丁香亚洲综合网 | 久久久成人毛片无码 | 亚洲人成人无码网www国产 | 欧美人与禽zoz0性伦交 | 人人爽人人澡人人高潮 | 鲁一鲁av2019在线 | 99久久精品日本一区二区免费 | 久9re热视频这里只有精品 | 午夜精品一区二区三区的区别 | 亚洲性无码av中文字幕 | 人人妻人人澡人人爽欧美一区九九 | 国产乱人偷精品人妻a片 | 荫蒂被男人添的好舒服爽免费视频 | 国产精品人人妻人人爽 | 理论片87福利理论电影 | 蜜桃视频插满18在线观看 | 97夜夜澡人人双人人人喊 | 图片区 小说区 区 亚洲五月 | 天天av天天av天天透 | 国产午夜无码视频在线观看 | 久久精品国产99久久6动漫 | 欧美熟妇另类久久久久久多毛 | 久久99精品久久久久久 | 亚洲精品欧美二区三区中文字幕 | 动漫av一区二区在线观看 | 中文久久乱码一区二区 | 成人影院yy111111在线观看 | 亚洲国产成人a精品不卡在线 | 中文字幕无码热在线视频 | 国产片av国语在线观看 | 无码人妻久久一区二区三区不卡 | 成 人 免费观看网站 | 成人aaa片一区国产精品 | 日韩人妻无码中文字幕视频 | 精品aⅴ一区二区三区 | 无遮无挡爽爽免费视频 | 人妻互换免费中文字幕 | 超碰97人人做人人爱少妇 | 欧美变态另类xxxx | 成人片黄网站色大片免费观看 | 色婷婷综合激情综在线播放 | 欧美性生交xxxxx久久久 | 色妞www精品免费视频 | 秋霞成人午夜鲁丝一区二区三区 | 纯爱无遮挡h肉动漫在线播放 | 亚洲一区二区三区含羞草 | 97精品人妻一区二区三区香蕉 | 99久久婷婷国产综合精品青草免费 | 99riav国产精品视频 | 久久久中文久久久无码 | 日本精品高清一区二区 | 日本一区二区更新不卡 | www国产精品内射老师 | 九月婷婷人人澡人人添人人爽 | 亚洲爆乳大丰满无码专区 | 熟妇人妻激情偷爽文 | 一本大道久久东京热无码av | 99久久婷婷国产综合精品青草免费 | 国产办公室秘书无码精品99 | 精品久久久久久亚洲精品 | 99久久久国产精品无码免费 | 中文字幕精品av一区二区五区 | 亚洲精品久久久久久一区二区 | 精品国精品国产自在久国产87 | 亚洲区小说区激情区图片区 | 丝袜 中出 制服 人妻 美腿 | 永久免费观看国产裸体美女 | 国产九九九九九九九a片 | 亚洲中文无码av永久不收费 | 98国产精品综合一区二区三区 | 成人av无码一区二区三区 | 在线成人www免费观看视频 | 国产在线一区二区三区四区五区 | 亚洲成av人综合在线观看 | 欧美老人巨大xxxx做受 | 一个人看的视频www在线 | 久久无码人妻影院 | 国产精品美女久久久久av爽李琼 | 在线播放免费人成毛片乱码 | 成熟人妻av无码专区 | 四虎影视成人永久免费观看视频 | 天天摸天天透天天添 | 双乳奶水饱满少妇呻吟 | 国内精品九九久久久精品 | 老熟女重囗味hdxx69 | 国产亚av手机在线观看 | 日本饥渴人妻欲求不满 | 久久综合给合久久狠狠狠97色 | 中文字幕无码av波多野吉衣 | 免费男性肉肉影院 | 精品国产麻豆免费人成网站 | 亚洲人亚洲人成电影网站色 | 亚洲自偷自拍另类第1页 | 午夜理论片yy44880影院 | 精品乱码久久久久久久 | 欧美 亚洲 国产 另类 | 精品午夜福利在线观看 | 7777奇米四色成人眼影 | 亚洲精品国偷拍自产在线麻豆 | 精品人妻人人做人人爽 | 精品无码国产自产拍在线观看蜜 | 麻豆国产97在线 | 欧洲 | 1000部夫妻午夜免费 | 亚洲精品国产第一综合99久久 | 老熟女乱子伦 | 色情久久久av熟女人妻网站 | 免费中文字幕日韩欧美 | 亚洲中文无码av永久不收费 | 麻豆人妻少妇精品无码专区 | 夜夜高潮次次欢爽av女 | 男女性色大片免费网站 | 2019午夜福利不卡片在线 | 亚洲人亚洲人成电影网站色 | 四虎影视成人永久免费观看视频 | 国产精品a成v人在线播放 | 中文精品无码中文字幕无码专区 | 日韩成人一区二区三区在线观看 | 亚洲精品一区二区三区大桥未久 | 国产精品办公室沙发 | 四虎国产精品免费久久 | 久久精品国产日本波多野结衣 | 国内精品九九久久久精品 | 国产人成高清在线视频99最全资源 | a在线观看免费网站大全 | 性色欲网站人妻丰满中文久久不卡 | 天天做天天爱天天爽综合网 | 蜜桃视频插满18在线观看 | 日日夜夜撸啊撸 | 国产日产欧产精品精品app | 欧美 亚洲 国产 另类 | 国产亲子乱弄免费视频 | 夜精品a片一区二区三区无码白浆 | 精品无码成人片一区二区98 | 亚洲国产高清在线观看视频 | 蜜桃无码一区二区三区 | 黑人巨大精品欧美一区二区 | 欧洲欧美人成视频在线 | 无码一区二区三区在线 | 香蕉久久久久久av成人 | 少妇人妻大乳在线视频 | 欧洲极品少妇 | 亚洲一区av无码专区在线观看 | 欧美日韩亚洲国产精品 | 亚洲日本一区二区三区在线 | 无码人妻精品一区二区三区下载 | 亚洲欧美日韩成人高清在线一区 | 国产精品二区一区二区aⅴ污介绍 | 日本护士xxxxhd少妇 | 无人区乱码一区二区三区 | 中国大陆精品视频xxxx | 国产舌乚八伦偷品w中 | 国产精品成人av在线观看 | 日日天干夜夜狠狠爱 | 我要看www免费看插插视频 | 天堂а√在线中文在线 | 亚洲精品综合五月久久小说 | 国产成人无码午夜视频在线观看 | 亚洲国产精品无码久久久久高潮 | 国产亚洲人成a在线v网站 | 日产精品高潮呻吟av久久 | 亚洲日本va中文字幕 | 大色综合色综合网站 | 免费人成网站视频在线观看 | 奇米综合四色77777久久 东京无码熟妇人妻av在线网址 | 国产色xx群视频射精 | 人妻尝试又大又粗久久 | 任你躁国产自任一区二区三区 | 高潮喷水的毛片 | 亚洲s色大片在线观看 | 亚洲成av人片在线观看无码不卡 | 久久精品女人的天堂av | 日本精品久久久久中文字幕 | 好男人www社区 | 亚洲熟妇色xxxxx欧美老妇 | 沈阳熟女露脸对白视频 | 久久亚洲中文字幕精品一区 | 国产又粗又硬又大爽黄老大爷视 | 无码一区二区三区在线观看 | 久久精品国产日本波多野结衣 | 狂野欧美性猛xxxx乱大交 | 国产成人综合在线女婷五月99播放 | 一个人免费观看的www视频 | 国产精品怡红院永久免费 | 野外少妇愉情中文字幕 | 在线精品国产一区二区三区 | 男女性色大片免费网站 | 亚洲午夜无码久久 | 久久无码中文字幕免费影院蜜桃 | 欧洲精品码一区二区三区免费看 | 亚洲中文字幕乱码av波多ji | 亚无码乱人伦一区二区 | 综合激情五月综合激情五月激情1 | 午夜时刻免费入口 | 亚洲春色在线视频 | 午夜精品久久久内射近拍高清 | 性欧美牲交在线视频 | 3d动漫精品啪啪一区二区中 | 丁香花在线影院观看在线播放 | 精品国产乱码久久久久乱码 | 天堂а√在线中文在线 | 亚洲精品综合五月久久小说 | 人人妻人人澡人人爽欧美精品 | 国产无套粉嫩白浆在线 | 日韩av无码中文无码电影 | 久久午夜无码鲁丝片秋霞 | 性欧美熟妇videofreesex | 亚洲中文字幕无码一久久区 | 日本一区二区三区免费播放 | 99国产精品白浆在线观看免费 | 国产偷自视频区视频 | 一区二区三区高清视频一 | 爱做久久久久久 | 成人aaa片一区国产精品 | 亚洲а∨天堂久久精品2021 | 人人妻人人澡人人爽人人精品 | 欧洲美熟女乱又伦 | 狠狠色丁香久久婷婷综合五月 | 久久国产精品偷任你爽任你 | 亚洲阿v天堂在线 | 狠狠噜狠狠狠狠丁香五月 | 我要看www免费看插插视频 | 男女超爽视频免费播放 | 久久精品中文字幕一区 | 狠狠噜狠狠狠狠丁香五月 | 3d动漫精品啪啪一区二区中 | 日日天日日夜日日摸 | 国产婷婷色一区二区三区在线 | 激情五月综合色婷婷一区二区 | 国产亚洲tv在线观看 | 4hu四虎永久在线观看 | 国产亚洲日韩欧美另类第八页 | 久久精品一区二区三区四区 | 色情久久久av熟女人妻网站 | 动漫av一区二区在线观看 | 久久久国产精品无码免费专区 | 久久久久久久久888 | 亚洲自偷自偷在线制服 | 日韩 欧美 动漫 国产 制服 | 国产亚洲tv在线观看 | 蜜桃臀无码内射一区二区三区 | 免费国产成人高清在线观看网站 | 欧美人与牲动交xxxx | 丰腴饱满的极品熟妇 | 亚洲自偷自偷在线制服 | 男女爱爱好爽视频免费看 | 任你躁国产自任一区二区三区 | 亚洲欧美精品aaaaaa片 | 国产网红无码精品视频 | 欧美人与动性行为视频 | 国产精品久久久av久久久 | 国产午夜精品一区二区三区嫩草 | 啦啦啦www在线观看免费视频 | 天干天干啦夜天干天2017 | 国产特级毛片aaaaaa高潮流水 | 六月丁香婷婷色狠狠久久 | 久在线观看福利视频 | 理论片87福利理论电影 | 久久久精品欧美一区二区免费 | 亚洲精品欧美二区三区中文字幕 | 老子影院午夜伦不卡 | 日日摸夜夜摸狠狠摸婷婷 | 久久久亚洲欧洲日产国码αv | 亚洲中文字幕在线无码一区二区 | 亚洲欧美色中文字幕在线 | 国产九九九九九九九a片 | 国精产品一品二品国精品69xx | 日韩精品无码一区二区中文字幕 | 爆乳一区二区三区无码 | 欧美zoozzooz性欧美 | 青草视频在线播放 | 国产精品久久久午夜夜伦鲁鲁 | 久久99精品久久久久久动态图 | 永久黄网站色视频免费直播 | 澳门永久av免费网站 | 国产成人无码午夜视频在线观看 | 欧美国产日韩亚洲中文 | 亚洲精品一区二区三区四区五区 | 在线观看欧美一区二区三区 | 中文字幕无码日韩欧毛 | 色综合天天综合狠狠爱 | 中文字幕+乱码+中文字幕一区 | 99精品久久毛片a片 | 色综合久久88色综合天天 | 精品偷自拍另类在线观看 | 免费网站看v片在线18禁无码 | 国产精品资源一区二区 | 熟女俱乐部五十路六十路av | 2020久久香蕉国产线看观看 | 欧美 亚洲 国产 另类 | 精品无码国产一区二区三区av | 中文字幕日韩精品一区二区三区 | 国产精品无码永久免费888 | 色婷婷综合中文久久一本 | 99久久无码一区人妻 | 亚洲伊人久久精品影院 | 国产激情精品一区二区三区 | 国产精品igao视频网 | 老头边吃奶边弄进去呻吟 | 国产热a欧美热a在线视频 | 人妻少妇精品无码专区二区 | 亚洲欧美日韩成人高清在线一区 | 国产无遮挡吃胸膜奶免费看 | 中文无码成人免费视频在线观看 | aⅴ在线视频男人的天堂 | 国产精华av午夜在线观看 | 日韩av激情在线观看 | 精品国产乱码久久久久乱码 | 久久久久免费看成人影片 | 国产尤物精品视频 | 人人妻人人澡人人爽精品欧美 | 亚洲人成网站免费播放 | 国产美女精品一区二区三区 | 丰满少妇女裸体bbw | 欧美自拍另类欧美综合图片区 | 午夜无码人妻av大片色欲 | 国产精品久久久午夜夜伦鲁鲁 | 国产精品沙发午睡系列 | 日韩成人一区二区三区在线观看 | 51国偷自产一区二区三区 | 色五月丁香五月综合五月 | 丰满护士巨好爽好大乳 | 曰本女人与公拘交酡免费视频 | 人人爽人人澡人人人妻 | 国产两女互慰高潮视频在线观看 | 日本精品高清一区二区 | 国产激情无码一区二区 | 欧美人与禽猛交狂配 | 久9re热视频这里只有精品 | 乱人伦人妻中文字幕无码 | 黑森林福利视频导航 | 午夜嘿嘿嘿影院 | 国产精品国产自线拍免费软件 | 精品少妇爆乳无码av无码专区 | 亚洲中文字幕无码中字 | 无遮挡国产高潮视频免费观看 | 久久99久久99精品中文字幕 | 成人欧美一区二区三区黑人 | aⅴ亚洲 日韩 色 图网站 播放 | 久久精品人妻少妇一区二区三区 | 美女扒开屁股让男人桶 | 东京热无码av男人的天堂 | 国产成人午夜福利在线播放 | 少妇人妻偷人精品无码视频 | 欧美人与牲动交xxxx | 7777奇米四色成人眼影 | 又湿又紧又大又爽a视频国产 | 国产午夜手机精彩视频 | 俺去俺来也在线www色官网 | 美女张开腿让人桶 | 成 人 免费观看网站 | 国产又粗又硬又大爽黄老大爷视 | 欧美亚洲国产一区二区三区 | 午夜福利一区二区三区在线观看 | 人妻与老人中文字幕 | 亚洲乱码国产乱码精品精 | 精品亚洲成av人在线观看 | 欧美放荡的少妇 | 国产精品亚洲lv粉色 | 色五月丁香五月综合五月 | 亚洲天堂2017无码中文 | 国产亚洲美女精品久久久2020 | 综合激情五月综合激情五月激情1 | 婷婷综合久久中文字幕蜜桃三电影 | 国产办公室秘书无码精品99 | 伊在人天堂亚洲香蕉精品区 | 99麻豆久久久国产精品免费 | 亚洲一区二区三区播放 | 久久精品中文闷骚内射 | 未满小14洗澡无码视频网站 | 国产婷婷色一区二区三区在线 | 国产精品久久久久无码av色戒 | a在线观看免费网站大全 | 国产精品无码mv在线观看 | 午夜丰满少妇性开放视频 | 天天拍夜夜添久久精品大 | 中文字幕无码人妻少妇免费 | 中文亚洲成a人片在线观看 | 国产又爽又猛又粗的视频a片 | 国产xxx69麻豆国语对白 | 色偷偷人人澡人人爽人人模 | 日本www一道久久久免费榴莲 | 亚洲一区二区三区播放 | 久久精品中文闷骚内射 | 亚洲精品久久久久久一区二区 | 欧美黑人巨大xxxxx | 水蜜桃色314在线观看 | 国产乱人偷精品人妻a片 | 亚洲 欧美 激情 小说 另类 | 色欲综合久久中文字幕网 | 丝袜美腿亚洲一区二区 | 欧美zoozzooz性欧美 | 最新国产乱人伦偷精品免费网站 | 又大又黄又粗又爽的免费视频 | 美女扒开屁股让男人桶 | 日本乱人伦片中文三区 | 国产 浪潮av性色四虎 | 精品国产一区二区三区四区 | 全球成人中文在线 | 国产精品国产自线拍免费软件 | 欧美成人午夜精品久久久 | 欧美自拍另类欧美综合图片区 | 国产乱码精品一品二品 | 成人试看120秒体验区 | 网友自拍区视频精品 | 亚洲综合无码久久精品综合 | 亚洲国产高清在线观看视频 | 蜜桃av蜜臀av色欲av麻 999久久久国产精品消防器材 | 亚洲国产精品久久久久久 | 成人精品一区二区三区中文字幕 | 未满小14洗澡无码视频网站 | 国产乡下妇女做爰 | 97久久超碰中文字幕 | 人妻插b视频一区二区三区 | 波多野结衣aⅴ在线 | 永久黄网站色视频免费直播 | 精品无码成人片一区二区98 | 国产欧美精品一区二区三区 | 国产明星裸体无码xxxx视频 | 偷窥村妇洗澡毛毛多 | 青青草原综合久久大伊人精品 | 久久久国产精品无码免费专区 | 国产成人久久精品流白浆 | 成人无码视频在线观看网站 | 影音先锋中文字幕无码 | 在线天堂新版最新版在线8 | 久久国产精品精品国产色婷婷 | 亚洲一区二区三区四区 | 欧美日本日韩 | 亚洲の无码国产の无码影院 | 激情国产av做激情国产爱 | 国产精品99爱免费视频 | 国产精品国产三级国产专播 | 熟妇人妻中文av无码 | 99久久99久久免费精品蜜桃 | 丰满人妻一区二区三区免费视频 | 欧美肥老太牲交大战 | 一区二区三区高清视频一 | 国产亚洲精品久久久久久久久动漫 | 久久国产精品萌白酱免费 | 日韩少妇内射免费播放 | 日韩av无码中文无码电影 | 又紧又大又爽精品一区二区 | 人妻aⅴ无码一区二区三区 | av香港经典三级级 在线 | 国产在线一区二区三区四区五区 | 亚洲人成网站免费播放 | 精品久久久久久人妻无码中文字幕 | 亚洲午夜无码久久 | 一本一道久久综合久久 | 久久久精品成人免费观看 | 一二三四社区在线中文视频 | 久久精品女人的天堂av | 99久久精品日本一区二区免费 | 乱码av麻豆丝袜熟女系列 | 国产精品鲁鲁鲁 | 成年美女黄网站色大免费全看 | 久久午夜无码鲁丝片午夜精品 | 国产精品爱久久久久久久 | 欧美日韩色另类综合 | 国产精品18久久久久久麻辣 | 国产精品嫩草久久久久 | 亚洲中文字幕无码中文字在线 | 亚洲一区二区三区无码久久 | 国产午夜无码精品免费看 | 西西人体www44rt大胆高清 | 亚洲va欧美va天堂v国产综合 | 欧美性生交活xxxxxdddd | 日韩人妻少妇一区二区三区 | 亚洲大尺度无码无码专区 | 精品人妻人人做人人爽夜夜爽 | 久久精品国产一区二区三区肥胖 | 两性色午夜视频免费播放 | 人人爽人人澡人人人妻 | 国产两女互慰高潮视频在线观看 | 色欲综合久久中文字幕网 | 国产精品久久久av久久久 | 成在人线av无码免费 | 国产成人综合在线女婷五月99播放 | 国产精品美女久久久网av | 成人女人看片免费视频放人 | 野外少妇愉情中文字幕 | 亚洲呦女专区 | 99久久久无码国产aaa精品 | 精品久久久久久亚洲精品 | 国产在线精品一区二区三区直播 | 日产精品99久久久久久 | 在线精品亚洲一区二区 | 欧美人与善在线com | 亚洲成a人一区二区三区 | 内射后入在线观看一区 | 麻豆人妻少妇精品无码专区 | 377p欧洲日本亚洲大胆 | аⅴ资源天堂资源库在线 | 亚洲成在人网站无码天堂 | 性生交大片免费看l | 久久精品成人欧美大片 | v一区无码内射国产 | 国产精品二区一区二区aⅴ污介绍 | 久久亚洲精品中文字幕无男同 | 亚洲爆乳无码专区 | 亚洲欧美综合区丁香五月小说 | 欧美老熟妇乱xxxxx | 窝窝午夜理论片影院 | 两性色午夜免费视频 | 国产成人综合在线女婷五月99播放 | 好男人社区资源 | 中文无码精品a∨在线观看不卡 | 蜜臀av在线观看 在线欧美精品一区二区三区 | 捆绑白丝粉色jk震动捧喷白浆 | 扒开双腿疯狂进出爽爽爽视频 | 亚洲欧美精品aaaaaa片 | v一区无码内射国产 | 中文字幕乱码人妻无码久久 | 秋霞成人午夜鲁丝一区二区三区 | 夜先锋av资源网站 | 亚洲国产欧美国产综合一区 | 日韩精品无码一本二本三本色 | 四虎永久在线精品免费网址 | 久久久婷婷五月亚洲97号色 | 欧美老人巨大xxxx做受 | 国产无av码在线观看 | 久久久久人妻一区精品色欧美 | 日本熟妇大屁股人妻 | 午夜时刻免费入口 | 久久久国产精品无码免费专区 | 玩弄中年熟妇正在播放 | 在教室伦流澡到高潮hnp视频 | 亚洲国产午夜精品理论片 | 六月丁香婷婷色狠狠久久 | 免费观看激色视频网站 | 国产人成高清在线视频99最全资源 | 欧美一区二区三区 | 欧美人与牲动交xxxx | 亚洲中文字幕在线观看 | 3d动漫精品啪啪一区二区中 | 大屁股大乳丰满人妻 | 亚洲一区二区三区国产精华液 | 黄网在线观看免费网站 | 成人无码视频免费播放 | 国产精品18久久久久久麻辣 | 特级做a爰片毛片免费69 | 日本一卡二卡不卡视频查询 | 十八禁视频网站在线观看 | 久久久国产一区二区三区 | 亚洲国产av美女网站 | 又黄又爽又色的视频 | 全球成人中文在线 | 中文字幕 人妻熟女 | 夜先锋av资源网站 | 国产精品99久久精品爆乳 | 黑森林福利视频导航 | 中文字幕无码人妻少妇免费 | 青青久在线视频免费观看 | 捆绑白丝粉色jk震动捧喷白浆 | 中文字幕无码日韩欧毛 | 人人超人人超碰超国产 | 亚洲毛片av日韩av无码 | 久久久中文久久久无码 | 久久99精品国产麻豆蜜芽 | 精品亚洲成av人在线观看 | 亚洲 a v无 码免 费 成 人 a v | 老太婆性杂交欧美肥老太 | 日本乱偷人妻中文字幕 | 欧美日本精品一区二区三区 | 国产麻豆精品精东影业av网站 | 成人试看120秒体验区 | 国产尤物精品视频 | 欧美熟妇另类久久久久久多毛 | 精品水蜜桃久久久久久久 | 亚洲精品一区二区三区大桥未久 | 蜜臀av无码人妻精品 | 婷婷色婷婷开心五月四房播播 | 无码任你躁久久久久久久 | 久久久亚洲欧洲日产国码αv | 中文字幕av日韩精品一区二区 | 国产一区二区三区精品视频 | 蜜桃视频韩日免费播放 | 日本乱偷人妻中文字幕 | 一二三四社区在线中文视频 | 久久国产精品萌白酱免费 | 在线a亚洲视频播放在线观看 | 国产精品久久久一区二区三区 | 亚洲色在线无码国产精品不卡 | 亚洲 a v无 码免 费 成 人 a v | 女人和拘做爰正片视频 | 精品无码成人片一区二区98 | 久久精品国产99精品亚洲 | 野狼第一精品社区 | 国产精品无码一区二区三区不卡 | 熟妇人妻中文av无码 | 又粗又大又硬又长又爽 | 成人aaa片一区国产精品 | 国产一区二区三区四区五区加勒比 | 一本一道久久综合久久 | 欧美日韩一区二区三区自拍 | 国产精品国产三级国产专播 | 久久久国产精品无码免费专区 | 亚洲成色在线综合网站 | 香蕉久久久久久av成人 | 六月丁香婷婷色狠狠久久 | 精品国产av色一区二区深夜久久 | 成 人 网 站国产免费观看 | 无遮挡啪啪摇乳动态图 | 免费观看的无遮挡av | 欧美国产日产一区二区 | 人妻少妇精品久久 | 奇米影视7777久久精品人人爽 | 国产亚洲美女精品久久久2020 | 扒开双腿疯狂进出爽爽爽视频 | 99re在线播放 | 免费男性肉肉影院 | 亚洲国产欧美国产综合一区 | 国产两女互慰高潮视频在线观看 | 玩弄人妻少妇500系列视频 | 中文字幕人妻无码一区二区三区 | 在线看片无码永久免费视频 | 午夜精品久久久内射近拍高清 | 搡女人真爽免费视频大全 | 欧美乱妇无乱码大黄a片 | 国产人妻人伦精品1国产丝袜 | 人人妻人人澡人人爽欧美一区 | 国产熟妇另类久久久久 | 日韩精品久久久肉伦网站 | 大色综合色综合网站 | 成人三级无码视频在线观看 | 亚洲中文字幕无码中字 | 激情亚洲一区国产精品 | 夜夜高潮次次欢爽av女 | 国产午夜无码精品免费看 | 欧美乱妇无乱码大黄a片 | aⅴ亚洲 日韩 色 图网站 播放 | 欧美激情内射喷水高潮 | 蜜臀av在线观看 在线欧美精品一区二区三区 | 最新国产乱人伦偷精品免费网站 | 男人扒开女人内裤强吻桶进去 | 又大又黄又粗又爽的免费视频 | 2020久久香蕉国产线看观看 | 无码人妻少妇伦在线电影 | 帮老师解开蕾丝奶罩吸乳网站 | 黑人巨大精品欧美黑寡妇 | 搡女人真爽免费视频大全 | 亚洲热妇无码av在线播放 | 成人性做爰aaa片免费看 | 亚洲日韩精品欧美一区二区 | 熟妇女人妻丰满少妇中文字幕 | 强开小婷嫩苞又嫩又紧视频 | 蜜桃视频韩日免费播放 | 无码国内精品人妻少妇 | 国产真人无遮挡作爱免费视频 | 日本大乳高潮视频在线观看 | 亚洲一区二区三区国产精华液 | 亚洲精品一区三区三区在线观看 | 国产9 9在线 | 中文 | 亚洲人成网站色7799 | 少妇的肉体aa片免费 | 麻豆果冻传媒2021精品传媒一区下载 | 久久97精品久久久久久久不卡 | 国产一区二区三区影院 | 中文字幕无码av波多野吉衣 | 黑人巨大精品欧美一区二区 | 国产成人综合在线女婷五月99播放 | 黑森林福利视频导航 | 亚洲一区二区三区含羞草 | 骚片av蜜桃精品一区 | 国产精品久久久久久无码 | 亚洲aⅴ无码成人网站国产app | 久久精品一区二区三区四区 | 亚洲综合另类小说色区 | av人摸人人人澡人人超碰下载 | 在线 国产 欧美 亚洲 天堂 | 亚洲熟妇色xxxxx欧美老妇y | 国产精品免费大片 | 国产精品理论片在线观看 | 国产综合久久久久鬼色 | 国产电影无码午夜在线播放 | 四虎4hu永久免费 | 国产精品爱久久久久久久 | 亚洲 另类 在线 欧美 制服 | 一本色道久久综合狠狠躁 | 天堂久久天堂av色综合 | 人妻少妇精品视频专区 | 国产午夜视频在线观看 | 国产成人无码av一区二区 | 三上悠亚人妻中文字幕在线 | 国产精品久久福利网站 | 久久久久久亚洲精品a片成人 | 日日天日日夜日日摸 | 国产成人综合在线女婷五月99播放 | 亚洲国产高清在线观看视频 | 日日夜夜撸啊撸 | 国产9 9在线 | 中文 | 亚洲国产精品无码一区二区三区 | 婷婷五月综合缴情在线视频 | 亚洲色大成网站www | 麻豆成人精品国产免费 | 高潮毛片无遮挡高清免费 | 亚洲精品综合五月久久小说 | 久久熟妇人妻午夜寂寞影院 | 亚洲人交乣女bbw | 免费国产黄网站在线观看 | 丝袜美腿亚洲一区二区 | 亚洲熟女一区二区三区 | 亚洲精品久久久久中文第一幕 | 久久久久se色偷偷亚洲精品av | 亚洲精品国偷拍自产在线麻豆 | 黑森林福利视频导航 | 日韩精品无码一区二区中文字幕 | 久久久久久国产精品无码下载 | av在线亚洲欧洲日产一区二区 | 日韩人妻无码一区二区三区久久99 | 狂野欧美性猛xxxx乱大交 | 成人无码精品1区2区3区免费看 | 国产精品爱久久久久久久 | 中国女人内谢69xxxxxa片 | 波多野结衣高清一区二区三区 | 99久久无码一区人妻 | 少妇无码吹潮 | 久久国产自偷自偷免费一区调 | 在线a亚洲视频播放在线观看 | 巨爆乳无码视频在线观看 | 欧美猛少妇色xxxxx | 国产特级毛片aaaaaaa高清 | 国产人成高清在线视频99最全资源 | 国产亚洲精品久久久久久久久动漫 | 对白脏话肉麻粗话av | 亚洲精品国产精品乱码不卡 | 成人无码视频免费播放 | 久久午夜无码鲁丝片秋霞 | 亚洲精品一区三区三区在线观看 | 日日摸天天摸爽爽狠狠97 | 亚洲成av人在线观看网址 | 中文字幕乱妇无码av在线 | 欧美性色19p | 夜精品a片一区二区三区无码白浆 | 国产精品亚洲а∨无码播放麻豆 | 久久国产劲爆∧v内射 | 婷婷丁香五月天综合东京热 | 亚洲人成影院在线观看 | 四虎国产精品一区二区 | 人妻互换免费中文字幕 | 亚洲日韩av片在线观看 | 国产精品亚洲一区二区三区喷水 | 日本熟妇人妻xxxxx人hd | 波多野42部无码喷潮在线 | 欧美亚洲国产一区二区三区 | 色 综合 欧美 亚洲 国产 | 小泽玛莉亚一区二区视频在线 | 国产成人无码区免费内射一片色欲 | 性啪啪chinese东北女人 | 国产精品第一区揄拍无码 | 日日干夜夜干 | 性欧美牲交xxxxx视频 | 日本va欧美va欧美va精品 | 色综合久久久无码中文字幕 | 麻豆人妻少妇精品无码专区 | 久久国产精品_国产精品 | 午夜精品久久久久久久久 | 久久精品女人的天堂av | 亚洲色在线无码国产精品不卡 | 久久午夜夜伦鲁鲁片无码免费 | 少妇邻居内射在线 | 久久 国产 尿 小便 嘘嘘 | 婷婷五月综合激情中文字幕 | 国产精品亚洲lv粉色 | 中文字幕av日韩精品一区二区 | 激情人妻另类人妻伦 | 沈阳熟女露脸对白视频 | 夜精品a片一区二区三区无码白浆 | 无码国模国产在线观看 | 四虎影视成人永久免费观看视频 | 国产成人无码a区在线观看视频app | 兔费看少妇性l交大片免费 | 水蜜桃亚洲一二三四在线 | 色婷婷香蕉在线一区二区 | 久久97精品久久久久久久不卡 | 国产亚洲美女精品久久久2020 | 国产亚洲人成a在线v网站 | 国产国语老龄妇女a片 | 国产在线精品一区二区高清不卡 | 亚洲日本va午夜在线电影 | 四虎永久在线精品免费网址 | 国产色视频一区二区三区 | 亚洲国产精品久久人人爱 | 天堂一区人妻无码 | 永久黄网站色视频免费直播 | 色噜噜亚洲男人的天堂 | 久久人人爽人人爽人人片av高清 | 色 综合 欧美 亚洲 国产 | 久久精品国产99久久6动漫 | 色窝窝无码一区二区三区色欲 | 国产婷婷色一区二区三区在线 | 国产乱人偷精品人妻a片 | 亚洲一区二区观看播放 | 天天躁夜夜躁狠狠是什么心态 | 国产成人无码一二三区视频 | 成在人线av无码免观看麻豆 | 无码人妻黑人中文字幕 | 国产香蕉97碰碰久久人人 | 精品国产精品久久一区免费式 | www成人国产高清内射 | 99久久无码一区人妻 | 亚拍精品一区二区三区探花 | av无码久久久久不卡免费网站 | 人妻少妇精品视频专区 | 久久精品国产99久久6动漫 | 国产麻豆精品一区二区三区v视界 | 少妇高潮喷潮久久久影院 | 国产精品无码成人午夜电影 | 宝宝好涨水快流出来免费视频 | 日本熟妇人妻xxxxx人hd | 丝袜人妻一区二区三区 | 国产农村妇女aaaaa视频 撕开奶罩揉吮奶头视频 | 亚洲国产欧美日韩精品一区二区三区 | 高中生自慰www网站 | 国产三级久久久精品麻豆三级 | 麻花豆传媒剧国产免费mv在线 | 成人无码视频在线观看网站 | 全黄性性激高免费视频 | 亚洲 欧美 激情 小说 另类 | 全黄性性激高免费视频 | 偷窥日本少妇撒尿chinese | 天天综合网天天综合色 | 天天躁夜夜躁狠狠是什么心态 | 久激情内射婷内射蜜桃人妖 | 久久综合激激的五月天 | 99久久久无码国产精品免费 | yw尤物av无码国产在线观看 | 99久久精品无码一区二区毛片 | 国产精品久久久久无码av色戒 | 大屁股大乳丰满人妻 | 人妻中文无码久热丝袜 | 亚洲熟妇色xxxxx欧美老妇 | 欧美精品无码一区二区三区 | 日日摸日日碰夜夜爽av | 国产精品理论片在线观看 | 一二三四社区在线中文视频 | 欧美高清在线精品一区 | 99久久婷婷国产综合精品青草免费 | 亚洲娇小与黑人巨大交 | 欧洲熟妇色 欧美 | 国产亚洲精品久久久久久国模美 | 亚洲熟妇色xxxxx欧美老妇y | 好爽又高潮了毛片免费下载 | 青青久在线视频免费观看 | 人人妻人人澡人人爽欧美一区九九 | 欧美国产日产一区二区 | 中国大陆精品视频xxxx | 特级做a爰片毛片免费69 | 亚洲男人av天堂午夜在 | 欧美 日韩 人妻 高清 中文 | 成人试看120秒体验区 | 99国产欧美久久久精品 | 无码免费一区二区三区 | 无遮挡啪啪摇乳动态图 | 人人妻人人澡人人爽精品欧美 | 国产凸凹视频一区二区 | 亚洲国产欧美日韩精品一区二区三区 | 亚洲欧美日韩成人高清在线一区 | 99久久精品日本一区二区免费 | 亚洲综合色区中文字幕 | 免费无码一区二区三区蜜桃大 | 国产精品高潮呻吟av久久 | 激情五月综合色婷婷一区二区 | 综合人妻久久一区二区精品 | 蜜桃无码一区二区三区 | 日韩av无码中文无码电影 | 亚洲精品一区二区三区在线观看 | 大乳丰满人妻中文字幕日本 | 久久久久成人片免费观看蜜芽 | 亚洲中文字幕成人无码 | 东京热一精品无码av | 午夜性刺激在线视频免费 | 国产肉丝袜在线观看 | 思思久久99热只有频精品66 | 久热国产vs视频在线观看 | 亚洲精品一区二区三区在线 | 国产高清不卡无码视频 | 又粗又大又硬又长又爽 | 亚洲欧美日韩国产精品一区二区 | 中文亚洲成a人片在线观看 | 国产手机在线αⅴ片无码观看 | 300部国产真实乱 | 综合网日日天干夜夜久久 | 国产偷自视频区视频 | 男人扒开女人内裤强吻桶进去 | 亚洲午夜无码久久 | 国产精品嫩草久久久久 | 亚洲a无码综合a国产av中文 | 国产办公室秘书无码精品99 | 欧美人与物videos另类 | 亚洲 欧美 激情 小说 另类 | 波多野结衣aⅴ在线 | 亚洲国产精品无码久久久久高潮 | 中文字幕无线码免费人妻 | 欧美 亚洲 国产 另类 | 国产成人无码区免费内射一片色欲 | 无码一区二区三区在线观看 | 伦伦影院午夜理论片 | 成人免费视频在线观看 | 亚洲精品一区三区三区在线观看 | 欧美国产日韩久久mv | 性生交大片免费看女人按摩摩 | 红桃av一区二区三区在线无码av | 国产三级精品三级男人的天堂 | 久久伊人色av天堂九九小黄鸭 | 亚洲日本va中文字幕 | 国产精品-区区久久久狼 | 国产高清av在线播放 | 少女韩国电视剧在线观看完整 | 一本一道久久综合久久 | 日本一卡2卡3卡四卡精品网站 | 成人免费视频一区二区 | 人人爽人人澡人人人妻 | 久久无码专区国产精品s | 国产在线一区二区三区四区五区 | 久久国产劲爆∧v内射 | 欧美人与物videos另类 | 亚洲人成网站在线播放942 | 99精品国产综合久久久久五月天 | 日韩亚洲欧美中文高清在线 | 蜜桃臀无码内射一区二区三区 | 无码一区二区三区在线观看 | 对白脏话肉麻粗话av | 乌克兰少妇性做爰 | 97资源共享在线视频 | 内射欧美老妇wbb | 亚洲中文字幕乱码av波多ji | 国产成人综合色在线观看网站 | 中文字幕无码免费久久99 | 国产亚洲人成在线播放 | 色综合视频一区二区三区 | 欧美怡红院免费全部视频 | 精品乱子伦一区二区三区 | 亚洲熟悉妇女xxx妇女av | 欧美色就是色 | 九九热爱视频精品 | 国产口爆吞精在线视频 | 欧美丰满熟妇xxxx | 久久无码专区国产精品s | 内射巨臀欧美在线视频 | 呦交小u女精品视频 | 国产香蕉尹人综合在线观看 | 色欲综合久久中文字幕网 | 人妻少妇被猛烈进入中文字幕 | 亚洲精品中文字幕久久久久 | 精品一区二区三区无码免费视频 | 55夜色66夜色国产精品视频 | 国产麻豆精品精东影业av网站 | 久久久久99精品成人片 | 动漫av网站免费观看 | 2019午夜福利不卡片在线 | 熟女俱乐部五十路六十路av | 久久精品人人做人人综合试看 | 精品无人区无码乱码毛片国产 | 亚洲精品鲁一鲁一区二区三区 | 97夜夜澡人人双人人人喊 | 午夜福利试看120秒体验区 | 国产精品对白交换视频 | 国产综合在线观看 | 日本又色又爽又黄的a片18禁 | 国产明星裸体无码xxxx视频 | 婷婷丁香五月天综合东京热 | 久久成人a毛片免费观看网站 | 午夜福利电影 | 国产va免费精品观看 | 无码人妻黑人中文字幕 | 小鲜肉自慰网站xnxx | 夜夜高潮次次欢爽av女 | 亚洲 日韩 欧美 成人 在线观看 | 国产成人精品优优av | 欧美午夜特黄aaaaaa片 | 精品人妻人人做人人爽 | 高清不卡一区二区三区 | 国产精品二区一区二区aⅴ污介绍 | 天堂а√在线地址中文在线 | 国产在线一区二区三区四区五区 | 青草视频在线播放 | 国产精品美女久久久久av爽李琼 | 97久久国产亚洲精品超碰热 | 黑人玩弄人妻中文在线 | 欧美真人作爱免费视频 | 欧美熟妇另类久久久久久多毛 | 久久zyz资源站无码中文动漫 | 亚洲自偷精品视频自拍 | 精品一区二区三区无码免费视频 | 夜夜高潮次次欢爽av女 | 国产偷自视频区视频 | 成人亚洲精品久久久久 | 亚洲第一网站男人都懂 | 国产9 9在线 | 中文 | 亚洲色偷偷男人的天堂 | 无码人妻精品一区二区三区下载 | 国产人妻精品午夜福利免费 | 牲欲强的熟妇农村老妇女 | 国产成人无码午夜视频在线观看 | 午夜丰满少妇性开放视频 | 97久久国产亚洲精品超碰热 | 永久免费精品精品永久-夜色 | 蜜臀aⅴ国产精品久久久国产老师 | 欧美自拍另类欧美综合图片区 | 奇米综合四色77777久久 东京无码熟妇人妻av在线网址 | 伊人色综合久久天天小片 | а√资源新版在线天堂 | 国产成人综合在线女婷五月99播放 | 人妻无码αv中文字幕久久琪琪布 | 麻豆国产97在线 | 欧洲 | 精品一区二区不卡无码av | 人人澡人人妻人人爽人人蜜桃 | 少妇无码一区二区二三区 | 日日摸夜夜摸狠狠摸婷婷 | 亚洲综合无码久久精品综合 | 天天躁夜夜躁狠狠是什么心态 | 免费视频欧美无人区码 | 中文字幕人成乱码熟女app | 国产精品高潮呻吟av久久 | 久久国产精品_国产精品 | 欧美乱妇无乱码大黄a片 | 亚洲精品久久久久久一区二区 | 国精品人妻无码一区二区三区蜜柚 | 欧美一区二区三区视频在线观看 | 一本久道久久综合婷婷五月 | 亚洲aⅴ无码成人网站国产app | 久久久久亚洲精品男人的天堂 | 天天躁日日躁狠狠躁免费麻豆 | 亚洲欧美日韩国产精品一区二区 | 亚洲色欲久久久综合网东京热 | 激情亚洲一区国产精品 | 免费无码的av片在线观看 | 欧美人与动性行为视频 | 性欧美牲交在线视频 | 欧美怡红院免费全部视频 | 在线 国产 欧美 亚洲 天堂 | 澳门永久av免费网站 | 东京无码熟妇人妻av在线网址 | 少妇一晚三次一区二区三区 | 成人欧美一区二区三区 | 色 综合 欧美 亚洲 国产 | 国产明星裸体无码xxxx视频 | 无码纯肉视频在线观看 | 午夜精品久久久久久久久 | 亚洲自偷自拍另类第1页 | 在线播放免费人成毛片乱码 | 无码人妻丰满熟妇区毛片18 | 黄网在线观看免费网站 | 国内少妇偷人精品视频免费 | 四虎国产精品免费久久 | 亚洲国产精品一区二区美利坚 | 国产乱人伦av在线无码 | 亚洲天堂2017无码中文 | а√天堂www在线天堂小说 | 亚洲精品午夜国产va久久成人 | 一本久久伊人热热精品中文字幕 | 玩弄人妻少妇500系列视频 | 成人性做爰aaa片免费看不忠 | 国产亚洲精品久久久久久国模美 | 午夜嘿嘿嘿影院 | 精品夜夜澡人妻无码av蜜桃 | 无码人妻精品一区二区三区下载 | 国产麻豆精品一区二区三区v视界 | 丰满人妻翻云覆雨呻吟视频 | 免费观看激色视频网站 | 男女猛烈xx00免费视频试看 | 无码人妻少妇伦在线电影 | 国产成人无码区免费内射一片色欲 | 国产av无码专区亚洲a∨毛片 | 亚洲色偷偷男人的天堂 | 国产偷抇久久精品a片69 | 久久99精品国产.久久久久 | 欧美国产亚洲日韩在线二区 | 久久综合给久久狠狠97色 | 欧美日韩一区二区三区自拍 | 波多野结衣一区二区三区av免费 | 色综合天天综合狠狠爱 | av人摸人人人澡人人超碰下载 | 妺妺窝人体色www在线小说 | 国产精品va在线播放 | 亚洲国产成人av在线观看 | 欧美xxxx黑人又粗又长 | 一个人看的www免费视频在线观看 | 亚洲欧美综合区丁香五月小说 | 亚洲精品无码国产 | 欧美怡红院免费全部视频 | 激情爆乳一区二区三区 | 亚洲精品中文字幕乱码 | av无码电影一区二区三区 | 国产成人无码一二三区视频 | 丰满人妻一区二区三区免费视频 | 国产亚洲精品久久久久久国模美 | 55夜色66夜色国产精品视频 | 少妇厨房愉情理9仑片视频 | 久久久久成人精品免费播放动漫 | 精品国产aⅴ无码一区二区 | 少妇太爽了在线观看 | 国产一精品一av一免费 | 久久久国产一区二区三区 | 理论片87福利理论电影 | 樱花草在线播放免费中文 | 国产在热线精品视频 | 亚洲а∨天堂久久精品2021 | 青青草原综合久久大伊人精品 | 中文字幕av日韩精品一区二区 | 成人亚洲精品久久久久 | 无码人妻久久一区二区三区不卡 | 蜜臀av无码人妻精品 | 中文精品久久久久人妻不卡 | 国产精品无码一区二区桃花视频 | 国产福利视频一区二区 | 无码人妻少妇伦在线电影 | 俺去俺来也在线www色官网 | 亚洲а∨天堂久久精品2021 | 免费人成网站视频在线观看 | 国产黄在线观看免费观看不卡 | 国产又粗又硬又大爽黄老大爷视 | 国产国语老龄妇女a片 | 久久婷婷五月综合色国产香蕉 | 国产亚洲精品久久久ai换 | 国产精品亚洲专区无码不卡 | 日本护士xxxxhd少妇 | 久久久久国色av免费观看性色 | 国产片av国语在线观看 | 午夜熟女插插xx免费视频 | 亚洲大尺度无码无码专区 | 亚洲人成网站免费播放 | 久久久久久久人妻无码中文字幕爆 | 国产精品久久福利网站 | 人妻少妇精品无码专区动漫 | 女人被男人爽到呻吟的视频 | 人妻互换免费中文字幕 | 日本在线高清不卡免费播放 | 亚洲国产精品无码一区二区三区 | 亚洲精品国产a久久久久久 | 国产精品久久久久7777 | 中文无码成人免费视频在线观看 | 2020久久香蕉国产线看观看 | 丰满人妻翻云覆雨呻吟视频 | 精品国产福利一区二区 | 亚洲自偷自偷在线制服 | 一本久久伊人热热精品中文字幕 | 国产电影无码午夜在线播放 | 色欲av亚洲一区无码少妇 | 国产乱人伦偷精品视频 | 国产精品视频免费播放 | 亚洲中文字幕av在天堂 | 色诱久久久久综合网ywww | 男人的天堂2018无码 | 日韩精品成人一区二区三区 | 亚洲欧美中文字幕5发布 | 色诱久久久久综合网ywww | 亚洲色偷偷偷综合网 | 亚洲高清偷拍一区二区三区 | 国产精品久久久久久久9999 | 日韩欧美成人免费观看 | 国产免费久久精品国产传媒 | 在线天堂新版最新版在线8 | 强伦人妻一区二区三区视频18 | 亚洲日韩乱码中文无码蜜桃臀网站 | 久久无码专区国产精品s | 亚洲中文字幕va福利 | 欧美熟妇另类久久久久久不卡 | 国产综合色产在线精品 | 装睡被陌生人摸出水好爽 | 人妻夜夜爽天天爽三区 | 久久久久成人精品免费播放动漫 | 女人被爽到呻吟gif动态图视看 | 国产真人无遮挡作爱免费视频 | 免费国产成人高清在线观看网站 | 国产亚洲精品久久久久久大师 | 纯爱无遮挡h肉动漫在线播放 | 无码免费一区二区三区 | 色五月五月丁香亚洲综合网 | 国产午夜精品一区二区三区嫩草 | 麻豆国产丝袜白领秘书在线观看 | 内射老妇bbwx0c0ck | 一二三四在线观看免费视频 | 影音先锋中文字幕无码 | 亚洲日韩av一区二区三区中文 | 思思久久99热只有频精品66 | 久久人人97超碰a片精品 | 天海翼激烈高潮到腰振不止 | 亚洲精品久久久久中文第一幕 | 成人性做爰aaa片免费看不忠 | 国产亚av手机在线观看 | 午夜肉伦伦影院 | 影音先锋中文字幕无码 | 人人妻人人澡人人爽人人精品浪潮 | 又大又紧又粉嫩18p少妇 | 99精品无人区乱码1区2区3区 | v一区无码内射国产 | а√资源新版在线天堂 | 人人澡人摸人人添 | 欧美猛少妇色xxxxx | 久久天天躁夜夜躁狠狠 | 暴力强奷在线播放无码 | 国产人妻久久精品二区三区老狼 | 亚洲熟妇色xxxxx欧美老妇 | 国产猛烈高潮尖叫视频免费 | 撕开奶罩揉吮奶头视频 | 成人精品天堂一区二区三区 | 性欧美熟妇videofreesex | 亚洲欧美综合区丁香五月小说 | 亚洲日韩av一区二区三区中文 | 国产亚洲精品久久久久久大师 | 99久久无码一区人妻 | 久久天天躁夜夜躁狠狠 | 午夜精品久久久内射近拍高清 | 亚洲男人av天堂午夜在 | 国产无av码在线观看 | 色综合天天综合狠狠爱 | 综合人妻久久一区二区精品 | 无码国模国产在线观看 | 亚洲中文字幕久久无码 | 97人妻精品一区二区三区 | 国产成人综合在线女婷五月99播放 | 欧美亚洲日韩国产人成在线播放 | 亚洲色欲色欲天天天www | 亚洲欧洲日本综合aⅴ在线 | 日韩欧美成人免费观看 | 国产人妻精品一区二区三区不卡 | 精品午夜福利在线观看 | 高清无码午夜福利视频 | 国产精品亚洲五月天高清 | 精品一区二区不卡无码av | 十八禁视频网站在线观看 | 亚洲精品一区二区三区在线 | 日日摸夜夜摸狠狠摸婷婷 | 日日天日日夜日日摸 | av无码久久久久不卡免费网站 | 永久免费精品精品永久-夜色 | 高潮毛片无遮挡高清免费视频 | 亚洲乱码国产乱码精品精 | 亚洲精品欧美二区三区中文字幕 | 亚洲精品一区国产 | 国产性猛交╳xxx乱大交 国产精品久久久久久无码 欧洲欧美人成视频在线 | 人人澡人人透人人爽 | 天下第一社区视频www日本 | 亚洲日韩中文字幕在线播放 | 国产精品怡红院永久免费 | 久久亚洲a片com人成 | 99麻豆久久久国产精品免费 | 亚洲中文字幕无码一久久区 | www国产亚洲精品久久久日本 | 亚洲国产精品一区二区美利坚 | 无码国模国产在线观看 | 国产午夜精品一区二区三区嫩草 | 日欧一片内射va在线影院 | 国产午夜精品一区二区三区嫩草 | 国产午夜福利亚洲第一 | 日日摸日日碰夜夜爽av | 亚洲日韩一区二区 | 鲁大师影院在线观看 | 久久zyz资源站无码中文动漫 | 亚洲中文字幕无码中文字在线 | 国产艳妇av在线观看果冻传媒 | 亚洲春色在线视频 | 丰满岳乱妇在线观看中字无码 | 亚洲日韩av一区二区三区中文 | 精品偷自拍另类在线观看 | 人人妻人人澡人人爽精品欧美 | 亚洲精品国产精品乱码视色 | 色综合视频一区二区三区 | 国产精品第一国产精品 | 亚洲乱码国产乱码精品精 | 天天爽夜夜爽夜夜爽 | 性色欲情网站iwww九文堂 | 精品人妻中文字幕有码在线 | 中文字幕精品av一区二区五区 | 日产精品99久久久久久 | 国内少妇偷人精品视频免费 | 国产无av码在线观看 | 中文字幕 亚洲精品 第1页 | 未满成年国产在线观看 | 少妇高潮一区二区三区99 | 1000部啪啪未满十八勿入下载 | 蜜桃av抽搐高潮一区二区 | 亚洲色欲色欲天天天www | 99国产欧美久久久精品 | 国产99久久精品一区二区 | 伊人久久大香线蕉亚洲 | 西西人体www44rt大胆高清 | 国产日产欧产精品精品app | 偷窥日本少妇撒尿chinese | 亚洲 日韩 欧美 成人 在线观看 | 熟女俱乐部五十路六十路av | 亚洲成av人片在线观看无码不卡 | 中文无码精品a∨在线观看不卡 | 夜夜高潮次次欢爽av女 | 欧美一区二区三区 | 国产高潮视频在线观看 | 丰满少妇女裸体bbw | 国产熟妇另类久久久久 | 玩弄人妻少妇500系列视频 | 夜夜高潮次次欢爽av女 | 无码av岛国片在线播放 | 一本色道久久综合狠狠躁 | 人人澡人人透人人爽 | 亚洲区欧美区综合区自拍区 | 熟妇人妻激情偷爽文 | 欧美黑人乱大交 | 精品国偷自产在线视频 | 久久99精品久久久久久动态图 | 亚洲经典千人经典日产 | 国产乱子伦视频在线播放 | www国产亚洲精品久久网站 | 国产xxx69麻豆国语对白 | 色狠狠av一区二区三区 | 亚无码乱人伦一区二区 | 在线播放免费人成毛片乱码 | 国产欧美精品一区二区三区 | 未满小14洗澡无码视频网站 | 无码人妻丰满熟妇区毛片18 | 色一情一乱一伦 | 少妇厨房愉情理9仑片视频 | 人妻人人添人妻人人爱 | 亚洲中文字幕va福利 | 中国大陆精品视频xxxx | 天堂а√在线地址中文在线 | 亚洲色大成网站www | а√资源新版在线天堂 | 久久99久久99精品中文字幕 | 最近中文2019字幕第二页 | 色婷婷av一区二区三区之红樱桃 | 老子影院午夜精品无码 | 日本精品人妻无码77777 天堂一区人妻无码 | 国产成人精品优优av | 丰满人妻被黑人猛烈进入 | 欧美日韩综合一区二区三区 | 乱码av麻豆丝袜熟女系列 | 国产成人精品久久亚洲高清不卡 | 欧美黑人性暴力猛交喷水 | 国产熟女一区二区三区四区五区 | 正在播放东北夫妻内射 | 精品人妻人人做人人爽 | 久久亚洲精品成人无码 | 国产人妻精品一区二区三区不卡 | 国产人妻人伦精品1国产丝袜 | 久久天天躁夜夜躁狠狠 | 无遮挡啪啪摇乳动态图 | 久激情内射婷内射蜜桃人妖 | 又黄又爽又色的视频 | 国产性生交xxxxx无码 | 久久久久久av无码免费看大片 | 性欧美videos高清精品 | 国产无套内射久久久国产 | 人妻无码αv中文字幕久久琪琪布 | 国产精品久久久 | 黑人巨大精品欧美一区二区 | 亚洲gv猛男gv无码男同 | 中文字幕精品av一区二区五区 | 久久久精品人妻久久影视 | 午夜理论片yy44880影院 | 国产精品手机免费 | 欧美成人高清在线播放 | 久久综合激激的五月天 | a片在线免费观看 | 国产成人综合美国十次 | 国产真实乱对白精彩久久 | 无码av最新清无码专区吞精 | 日韩成人一区二区三区在线观看 | 丰满人妻一区二区三区免费视频 | 久久久久人妻一区精品色欧美 | 日本精品久久久久中文字幕 | 久久久中文字幕日本无吗 | 大肉大捧一进一出好爽视频 | 露脸叫床粗话东北少妇 | 老子影院午夜精品无码 | 久久99精品国产麻豆蜜芽 | 97精品国产97久久久久久免费 | 欧洲熟妇色 欧美 | 人妻有码中文字幕在线 | 日韩欧美中文字幕公布 | 亚洲欧洲日本无在线码 | 婷婷丁香五月天综合东京热 | 曰韩少妇内射免费播放 | 精品人妻人人做人人爽夜夜爽 | 国产激情艳情在线看视频 | 亚洲中文字幕无码一久久区 | 最近的中文字幕在线看视频 | 日产精品高潮呻吟av久久 | 九九久久精品国产免费看小说 | 久久久精品人妻久久影视 | av在线亚洲欧洲日产一区二区 | 国产精品久久久久无码av色戒 | 国产午夜无码视频在线观看 | 日本精品少妇一区二区三区 | 久久国内精品自在自线 | 樱花草在线播放免费中文 | 国产精品久久久久影院嫩草 | 全黄性性激高免费视频 | 青草视频在线播放 | 久久综合色之久久综合 | 蜜桃臀无码内射一区二区三区 | 纯爱无遮挡h肉动漫在线播放 | 精品一区二区不卡无码av | 欧美丰满少妇xxxx性 | 成人免费视频视频在线观看 免费 | 久久综合激激的五月天 | 夜夜夜高潮夜夜爽夜夜爰爰 | 国产人妻精品一区二区三区不卡 | 人人澡人人妻人人爽人人蜜桃 | 国产成人av免费观看 | 欧美熟妇另类久久久久久不卡 | 国产无套粉嫩白浆在线 | 欧洲欧美人成视频在线 | 日本高清一区免费中文视频 | 午夜精品久久久内射近拍高清 | 亚洲日本va中文字幕 | 亚洲成av人片天堂网无码】 | 日本成熟视频免费视频 | 久久综合给合久久狠狠狠97色 | 国产精品办公室沙发 | 2020久久香蕉国产线看观看 | 国产免费久久精品国产传媒 | 欧美三级不卡在线观看 | av小次郎收藏 | 国产精品久久福利网站 | 久久综合九色综合欧美狠狠 | 露脸叫床粗话东北少妇 | 亲嘴扒胸摸屁股激烈网站 | 一本久道久久综合婷婷五月 | 国产精品办公室沙发 | 成熟妇人a片免费看网站 | 欧美午夜特黄aaaaaa片 | 我要看www免费看插插视频 | 国产xxx69麻豆国语对白 | 国产午夜视频在线观看 | 久久五月精品中文字幕 | 永久免费观看美女裸体的网站 | 午夜时刻免费入口 | 久久午夜无码鲁丝片 | 又大又黄又粗又爽的免费视频 | 永久免费精品精品永久-夜色 | 夜夜躁日日躁狠狠久久av | 日韩无套无码精品 | 亚洲一区二区观看播放 | 国产高清av在线播放 | 性欧美大战久久久久久久 | 未满小14洗澡无码视频网站 | 久久久婷婷五月亚洲97号色 | 99久久婷婷国产综合精品青草免费 | 欧美真人作爱免费视频 | 成年美女黄网站色大免费视频 | 欧美色就是色 | 亚洲国产精品一区二区美利坚 | 国产熟妇另类久久久久 | 天天摸天天碰天天添 | 精品国产福利一区二区 | 日日碰狠狠躁久久躁蜜桃 | 三级4级全黄60分钟 | 国产区女主播在线观看 | 黑人巨大精品欧美一区二区 | 精品久久久无码人妻字幂 | 樱花草在线播放免费中文 | 国产精品久久久久久久影院 | 一个人免费观看的www视频 | 熟女少妇人妻中文字幕 | 亚洲自偷自偷在线制服 | 国产农村妇女aaaaa视频 撕开奶罩揉吮奶头视频 | 精品国产乱码久久久久乱码 | 久久人妻内射无码一区三区 | 日韩av无码中文无码电影 | 扒开双腿疯狂进出爽爽爽视频 | 精品一二三区久久aaa片 | 久久午夜夜伦鲁鲁片无码免费 | 欧美国产亚洲日韩在线二区 | 国产精品99爱免费视频 | 麻豆国产丝袜白领秘书在线观看 | √8天堂资源地址中文在线 | 午夜丰满少妇性开放视频 | 国产午夜手机精彩视频 | 内射欧美老妇wbb | 女人被爽到呻吟gif动态图视看 | 国内精品久久久久久中文字幕 | 国产精华av午夜在线观看 | 极品嫩模高潮叫床 | 精品国产一区二区三区av 性色 | 高潮毛片无遮挡高清免费视频 | 国产亲子乱弄免费视频 | 国产在线精品一区二区三区直播 | 日本一卡2卡3卡4卡无卡免费网站 国产一区二区三区影院 | 少妇高潮一区二区三区99 | 一本久久a久久精品vr综合 | 国产人妻人伦精品1国产丝袜 | 欧美人与物videos另类 | 午夜精品一区二区三区的区别 | 秋霞特色aa大片 | 日本乱人伦片中文三区 | 国产精品香蕉在线观看 | 国产成人无码a区在线观看视频app | 国产午夜亚洲精品不卡 | 中文毛片无遮挡高清免费 | 色一情一乱一伦一视频免费看 | 国产成人一区二区三区在线观看 | 动漫av一区二区在线观看 |