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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? mifare.c

?? 用于小商品消費(fèi)的SMS消費(fèi)機(jī)程序
?? C
?? 第 1 頁 / 共 5 頁
字號(hào):
				{
					return ERR_POS_NOTBLCARD;
				}
			}
			else
				return ERR_POS_ERRORPARM;
//			guDate.l_word = RTC_read_date();
//			guTime.l_word = RTC_read_time();
//			sprintf(gcASCDateTime, "%04d%02d%02d%02d%02d%02d", guDate.fields.year, guDate.fields.month, guDate.fields.day, guTime.fields.hour, guTime.fields.minute, guTime.fields.second);
			getBCDDateTime(gcASCDateTime);
			memcpy(gcNowTime, ASC2BCD(gcASCDateTime,14), 7);
			for(i=0;i<3;i++)
				gcHexNowTime[i] = (gcNowTime[i] >> 4) * 10 + (gcNowTime[i] & 0x0f);
			i = CompareDate(gcNowTime, (unsigned char*)gstWorkCardInfomation.cLimitDate);

			if (i == 2)
				return ERR_POS_OUTOFLIMIT;

			gcSector = gstWorkCardInfomation.stCardStruct.cPublicSector;
			gcBlock = gcSector*4;
			if(!AuthenCard(&lSerialNo, gcSector, MIF_READ)) return ERR_MIF_AUTEN;
			for(k=0;k<3;k++)
				if(CardMFCRead16Bytes(gcBlock, gcMifBuffer)==MI_OK) break;
			if(k==3) return ERR_MIF_READ;
			gcMifBuffer[6] = cNewCardFlag;
			gcMifBuffer[15] = 0;
			for(i=0;i<15;i++)
				gcMifBuffer[15]^=gcMifBuffer[i];
			for(k=0;k<3;k++)
				if(CardMFCWrite16Bytes(gcBlock, gcMifBuffer)==MI_OK) break;
			if(k==3) return ERR_MIF_WRITE;
			for(i=0;i<16;i++)
				gcMifBuffer[i]= 0xff - gcMifBuffer[i];
			for(k=0;k<3;k++)
				if(CardMFCWrite16Bytes(gcBlock+1, gcMifBuffer)==MI_OK) break;
			if(k==3) return ERR_MIF_WRITE;
			gstWorkCardInfomation.cBlackListFlag = cNewCardFlag;
			gstWorkCardInfomation.cGetInfoFinished &= MASK_SECTOR_PUBLIC;
//			GetCardInformation(lSerialNo, SECTOR_PUBLIC);
		}
		else
			return ERR_POS_NOCARD;
	}
	return ST_OK;
}

//充值交易
//
//
unsigned char ChargeMoneyOrTimes(unsigned char Cmd, unsigned long lSerialNo, unsigned long lChargeMoney, unsigned char *cDate)
{
	unsigned char i, j, k, tmpbuff[200];
	unsigned long llSerialNo;	

	delay_n_ms(20);
//	clr_scr();
//	Dispbcd(0,0, &lSerialNo, 4);
//	DispLong(0,2, lChargeMoney);
	if(gcAuthenMode !=2) return ERR_POS_DEVICENOTAUTH;
	glChargeMoney = lChargeMoney;
	switch(Cmd)
	{
	case CMD_CHARGE_MONEY:		
		gcChargeMode = MODE_CHARGE_MONEY;
		gcChargeMode2 = PICC_INCREMENT;
		gcChargeType = CHARGETYPE_INCMONEY;
		break;
	case CMD_CHARGE_SMONEY:
		gcChargeMode = MODE_CHARGE_TIMES;
		gcChargeMode2 = PICC_INCREMENT;
		gcChargeType = CHARGETYPE_INCTIMES;
		memcpy(gcChargeTimesDate, cDate, 3);
		break;
	case CMD_CHARGE_MONEYN:
		gcChargeMode = MODE_CHARGE_MONEY;
		gcChargeMode2 = PICC_DECREMENT;
		gcChargeType = CHARGETYPE_DECMONEY;
		break;
	case CMD_CHARGE_SMONEYN:	
		gcChargeMode = MODE_CHARGE_TIMES;
		gcChargeMode2 = PICC_DECREMENT;
		gcChargeType = CHARGETYPE_DECTIMES;
		memcpy(gcChargeTimesDate, cDate, 3);
		break;
	case CMD_PURCHASE_MONEY:
		gcChargeMode = MODE_PURCHASE_MONEY;
		gcChargeMode2 = PICC_DECREMENT;
		gcChargeType = CHARGETYPE_PURMONEY;
		break;
	case CMD_PURCHASE_TIMES:
		gcChargeMode = MODE_PURCHASE_TIMES;
		gcChargeMode2 = PICC_DECREMENT;
		gcChargeType = CHARGETYPE_PURTIMES;
		memcpy(gcChargeTimesDate, cDate, 3);
		break;
	}
	SPT_set(2);
	for(i = 3;i;)
	{
		if (!SPT_read())
		{
			SPT_set(2);
			i --;
		}
		if(CardTypeARequest(PICC_REQIDL,gcATQ) == MI_OK)
			break;
	}	
	if(i!=0)
	{
		CardTypeAAnticollLevel1((unsigned char*)&llSerialNo);
		CardTypeASelectLevel1((unsigned char*)&llSerialNo, gcATS);
		if (lSerialNo != llSerialNo)
			return ERR_POS_NOTSAMECARD;
		if ((lSerialNo != gstWorkCardKey.lSerialNo)||(gcGetKeyFinished != 4))
		{
			GetCardKey(lSerialNo);
		}
		if (gstWorkCardInfomation.cGetInfoFinished != SECTOR_ALL)
			if (GetCardInformation(lSerialNo, SECTOR_ALL)!=1)
				return ERR_POS_GETCARDINFO;
//		gstWorkCardInfomation.cGetInfoFinished = 0;			
		if(gstWorkCardInfomation.cCardType > 0x1f)
			return ERR_POS_NOTCUMSCARD;
		if(gstWorkCardInfomation.cBlackListFlag == 0x04)
			return ERR_POS_BLCARD;		
//for debug
//		if(gstWorkCardInfomation.cUsageFlag != 2)
//			return ERR_POS_CARDNOTSTART; 
//for debug
		memcpy(tmpbuff, gstWorkCardInfomation.cCityCode, 2);
		memcpy(tmpbuff+2, gstWorkCardInfomation.cTradeCode, 2);
		memcpy(tmpbuff+4, &gstWorkCardInfomation.lCardNo, 4);
		if(findBlackList(tmpbuff)==ST_OK)
		{
			i = SetBlackListFlag(lSerialNo, 0x04);
			if(i==ST_OK)
				return ERR_POS_BLCARD;
			else
				return i;
		}

		guDate.l_word = RTC_read_date();
		guTime.l_word = RTC_read_time();
		sprintf(gcASCDateTime, "%04d%02d%02d%02d%02d%02d", guDate.fields.year, guDate.fields.month, guDate.fields.day, guTime.fields.hour, guTime.fields.minute, guTime.fields.second);
//		getBCDDateTime(gcASCDateTime);
		memcpy(gcNowTime, ASC2BCD(gcASCDateTime,14), 7);
		for(i=0;i<3;i++)
			gcHexNowTime[i] = (gcNowTime[i] >> 4) * 10 + (gcNowTime[i] & 0x0f);
/*		clr_scr();
		Dispbcd(0,0, gcASCDateTime, 14);
		Dispbcd(0,4, gcNowTime, 7);
		Dispbcd(0,6, gstWorkCardInfomation.cLimitDate, 4);
*/		
		if(gstWorkCardInfomation.cChargeStep==0x01) return ERR_POS_ERRORCARD;
		i = CompareDate(gcNowTime, (unsigned char*)gstWorkCardInfomation.cLimitDate);

		if (i == 2)
			return ERR_POS_OUTOFLIMIT;
		if(gcChargeMode2 == PICC_DECREMENT)
		{
			if((gcChargeType != CHARGETYPE_PURMONEY)&&(gcChargeType != CHARGETYPE_PURTIMES))
			{
				if(((gcChargeType == CHARGETYPE_DECMONEY)&&(gstWorkCardInfomation.cHistoryChargeType == CHARGETYPE_INCMONEY))||((gcChargeType == CHARGETYPE_DECTIMES)&&(gstWorkCardInfomation.cHistoryChargeType == CHARGETYPE_INCTIMES)))
				{
	
					if ((gstWorkCardInfomation.lHistoryChargeMoney != glChargeMoney)||(memcmp(gstWorkCardInfomation.cHistoryPSAMNo, gcPSAMNo, 4) != 0))
						return ERR_CHG_CANNOTCHARGEN;
				}
				else 
					return ERR_CHG_CANNOTCHARGEN;
			}
			else
			{
				if((gcChargeMode == MODE_PURCHASE_MONEY)||(gcChargeMode == MODE_CHARGE_MONEY))
				{
					if(gstWorkCardInfomation.lMoney<glChargeMoney)
						return ERR_POS_NOTENOUGHMONEY;
				}
			}			
		}
		
		if (!WriteChargeStep(1)) return ERR_POS_WRITECHRSTEP;
		
		if((gcChargeMode == MODE_PURCHASE_MONEY)||(gcChargeMode == MODE_CHARGE_MONEY))
		{
			gcSector = gstWorkCardInfomation.stCardStruct.cMoneySector;
			gcBlock = gcSector * 4;
			if(!ModifyMoney(gcChargeMode2, gcBlock + gcMoneyMarsterBlock + 1, glChargeMoney)) return ERR_POS_MODIFYMONEY;
			if(!IsValidMoney(gcSector, gcBlock + 2 - gcMoneyMarsterBlock)) return ERR_POS_MODIFYMONEY;

			if(gcChargeMode == MODE_CHARGE_MONEY)
			{
				if(CardMFCRead16Bytes(gcBlock, gcMifBuffer)!=MI_OK) return ERR_MIF_READ;
				if (gcChargeMode2 == PICC_INCREMENT)
				{
					gstWorkCardInfomation.lMoneySum += glChargeMoney;
					gstWorkCardInfomation.lCurMoney = gstWorkCardInfomation.lMoney + glChargeMoney;
				}
				else
				{
					gstWorkCardInfomation.lMoneySum -= glChargeMoney;
					gstWorkCardInfomation.lCurMoney = gstWorkCardInfomation.lMoney - glChargeMoney;
				}
	//			memcpy(gcMifBuffer, &gstWorkCardInfomation.lMoneySum, 4);
				OverTurnString(gcMifBuffer, &gstWorkCardInfomation.lMoneySum, 4);
	//			memcpy(gcMifBuffer+4, &gstWorkCardInfomation.lCurMoney, 4);
				OverTurnString(gcMifBuffer+4, &gstWorkCardInfomation.lCurMoney, 4);
				memcpy(gcMifBuffer+8, gcPSAMNo, 4);
				memset(gcMifBuffer+12, 0, 4);
				for(i=0;i<15;i++)
					gcMifBuffer[15] ^= gcMifBuffer[i];
				for(k=0;k<3;k++)
					if(CardMFCWrite16Bytes(gcBlock, gcMifBuffer)==MI_OK) break;
				if(k==3) return ERR_MIF_WRITE;
			}			

			if(!ModifyPoint()) return ERR_POS_WRITECHRPOINT;

			if(!WriteChargeStep(0x02)) return ERR_POS_WRITECHRSTEP;

			CopyBlock(gcSector, gcBlock, gcBlock+1, 1);

			gcSector = gstWorkCardInfomation.stCardStruct.cMoneySector;
			gcBlock = gcSector * 4;
			AuthenCard(&lSerialNo, gcSector, MIF_READ);
			if(!ModifyMoney(gcChargeMode2, gcBlock + 2 - gcMoneyMarsterBlock, 0)) return ERR_POS_MODIFYMONEY;
			if(!IsValidMoney(gcSector, gcBlock + gcMoneyMarsterBlock + 1)) return ERR_POS_MODIFYMONEY;
		}

		if(BuildRecord()!=ST_OK) return ERR_POS_BUILDRECORD;
		if((gcChargeMode == MODE_CHARGE_MONEY)||(gcChargeMode == MODE_PURCHASE_MONEY))
		{
			gstWorkCardInfomation.cGetInfoFinished &= (MASK_SECTOR_MONEY&MASK_SECTOR_HISTORY&MASK_SECTOR_PUBLIC);
//			GetCardInformation(lSerialNo, SECTOR_MONEY|SECTOR_HISTORY|SECTOR_PUBLIC);
		}		
	}
	else
		return ERR_POS_NOCARD;
	return ST_OK;
}
//卡片恢復(fù)
unsigned char CardRestore(unsigned char cMode)
{
	unsigned char cFlag1, cFlag2, i, k, cMarsterBlock, cOperMode;
	unsigned long lMoney1, lMoney2;	


	for (k=0;k<2;k++)
	{
		if (k==0)	
		{
			gcSector = gstWorkCardInfomation.stCardStruct.cMoneySector;
			cMarsterBlock = gcMoneyMarsterBlock;
			if ((gstWorkCardInfomation.cHistoryChargeType == CHARGETYPE_PURMONEY)||(gstWorkCardInfomation.cHistoryChargeType == CHARGETYPE_DECMONEY)||(gstWorkCardInfomation.cHistoryChargeType == CHARGETYPE_INCMONEY))	
				cOperMode = cMode;
			else
				cOperMode = 'B';
		}
		else
		{
			if(gstWorkCardInfomation.stCardStruct.cEveTimesSector!=0xff)
			{
				gcSector = gstWorkCardInfomation.stCardStruct.cEveTimesSector;
				cMarsterBlock = gcTimesMarsterBlock;
				if ((gstWorkCardInfomation.cHistoryChargeType == CHARGETYPE_PURTIMES)||(gstWorkCardInfomation.cHistoryChargeType == CHARGETYPE_DECTIMES)||(gstWorkCardInfomation.cHistoryChargeType == CHARGETYPE_INCTIMES))	
					cOperMode = cMode;
				else
					cOperMode = 'B';
			}
			else
				break;
		}
		gcBlock = gcSector * 4;
		switch(cOperMode)
		{
		case 'A':
//			clr_scr();
//			move_cursor(0,0);
//			puts("Step A");
//			getch();

			if(!AuthenCard(&glSerialNo,gcSector,MIF_READ)) return 0;
			switch(CompareBlock(gcSector, gcBlock+2-cMarsterBlock, gcBlock+cMarsterBlock+1, 0))
			{
			case 0:	
				return 0;
			case 1:	
				cFlag2 = IsValidMoney(gcSector, gcBlock+2-cMarsterBlock);
				if (!cFlag2)	return 2;
				if(!CopyBlock(gcSector, gcBlock+2-cMarsterBlock, gcBlock+cMarsterBlock+1, 0)) return 0;
			default:
				break;
			}
			gcSector = gstWorkCardInfomation.stCardStruct.cPublicSector;
			gcBlock = gcSector * 4;
			if(!AuthenCard(&glSerialNo,gcSector,MIF_READ)) return 0;
			if(!CopyBlock(gcSector, gcBlock+1, gcBlock, 1)) return 0;
			break;
		case 'B':
//			clr_scr();
//			move_cursor(0,0);
//			puts("Step B");
//			getch();

			if(!AuthenCard(&glSerialNo,gcSector,MIF_READ)) return 0;
			cFlag1 = IsValidMoney(gcSector, gcBlock+cMarsterBlock+1);
			if (!cFlag1) return 2;
			switch(CompareBlock(gcSector, gcBlock+cMarsterBlock+1, gcBlock+2-cMarsterBlock, 0))
			{
			case 0:	
				return 0;
			case 1:	
				if(!CopyBlock(gcSector, gcBlock+cMarsterBlock+1, gcBlock+2-cMarsterBlock, 0)) return 0;
			default:
				break;
			}
			gcSector = gstWorkCardInfomation.stCardStruct.cPublicSector;
			gcBlock = gcSector * 4;
			if(!AuthenCard(&glSerialNo,gcSector,MIF_READ)) return 0;
			if(!CopyBlock(gcSector, gcBlock, gcBlock+1, 1)) return 0;
			break;
		case 'C':
//			clr_scr();
//			move_cursor(0,0);
//			puts("Step C");
//			getch();

			if(!AuthenCard(&glSerialNo,gcSector,MIF_READ)) return 0;
			cFlag1 = IsValidMoney(gcSector, gcBlock+cMarsterBlock+1);
			cFlag2 = IsValidMoney(gcSector, gcBlock+2-cMarsterBlock);
			if ((cFlag1)&&(cFlag2))
			{
				i = CompareBlock(gcSector, gcBlock+cMarsterBlock+1, gcBlock+2-cMarsterBlock, 0);
				if (i==0)
					return 0;
				else if (i == 1)
					goto StepD;
				if(!CopyBlock(gcSector, gcBlock+2-cMarsterBlock, gcBlock+cMarsterBlock+1, 0)) return 0;
				gcSector = gstWorkCardInfomation.stCardStruct.cPublicSector;
				gcBlock = gcSector * 4;
				if(!AuthenCard(&glSerialNo,gcSector,MIF_READ)) return 0;
				if(!CopyBlock(gcSector, gcBlock+1, gcBlock, 1)) return 0;
			}
			else if((cFlag1)&&(!cFlag2))
			{
				CopyBlock(gcSector, gcBlock+cMarsterBlock+1, gcBlock+2-cMarsterBlock, 0);
			}
			else if((!cFlag1)&&(cFlag2))
			{
				CopyBlock(gcSector, gcBlock+2-cMarsterBlock, gcBlock+cMarsterBlock+1, 0);
			}
			else
			{
				return 2;	
			}
			break;
		case 'D':
StepD:
//			clr_scr();
//			move_cursor(0,0);
//			puts("Step D");
//			getch();

			if(!AuthenCard(&glSerialNo, gcSector,MIF_READ)) return 0;
			if(CardMFCRead16Bytes(gcBlock+cMarsterBlock+1,gcMifBuffer)!=MI_OK) return 0;
//			memcpy(&lMoney2, gcMifBuffer, 4);
			OverTurnString(&lMoney2, gcMifBuffer, 4);
			if ((gstWorkCardInfomation.cHistoryChargeType== CHARGETYPE_INCMONEY)||(gstWorkCardInfomation.cHistoryChargeType== CHARGETYPE_INCTIMES))
			{
				lMoney1 -= gstWorkCardInfomation.lHistoryChargeMoney;
			}
			else if ((gstWorkCardInfomation.cHistoryChargeType== CHARGETYPE_DECMONEY)||(gstWorkCardInfomation.cHistoryChargeType== CHARGETYPE_DECTIMES)||(gstWorkCardInfomation.cHistoryChargeType== CHARGETYPE_PURMONEY)||(gstWorkCardInfomation.cHistoryChargeType== CHARGETYPE_PURTIMES))
			{
				lMoney1 += gstWorkCardInfomation.lHistoryChargeMoney;
			}
			if(CardMFCRead16Bytes(gcBlock+2-cMarsterBlock, gcMifBuffer)!=MI_OK) return 0;
//			memcpy(&lMoney2, gcMifBuffer, 4);
			OverTurnString(&lMoney2, gcMifBuffer, 4);
			if(lMoney1 == lMoney2)
			{
				if (gstWorkCardInfomation.iMoneyTotleTimes>0) 
					gstWorkCardInfomation.iMoneyTotleTimes --;
				else
					gstWorkCardInfomation.iMoneyTotleTimes = 0xffff;
				gcSector = gstWorkCardInfomation.stCardStruct.cPublicSector;
				gcBlock = gcSector * 4;
				if(!AuthenCard(&glSerialNo,gcSector,MIF_READ)) return 0;
				if(CardMFCRead16Bytes(gcBlock,gcMifBuffer)!=MI_OK) return 0;
				gcMifBuffer[0] = gstWorkCardInfomation.cHisCharge2;
//				memcpy(gcMifBuffer+1, &gstWorkCardInfomation.iMoneyTotleTimes, 2);
				OverTurnString(gcMifBuffer+1, &gstWorkCardInfomation.iMoneyTotleTimes, 2);
//				memcpy(gcMifBuffer+4, &gstWorkCardInfomation.iTimesTotleTimes, 2);
				OverTurnString(gcMifBuffer+4, &gstWorkCardInfomation.iTimesTotleTimes, 2);
				if(CardMFCWrite16Bytes(gcBlock,gcMifBuffer)!=MI_OK) return 0;
				if ((gstWorkCardInfomation.cHistoryChargeType == CHARGETYPE_PURMONEY)||(gstWorkCardInfomation.cHistoryChargeType == CHARGETYPE_DECMONEY)||(gstWorkCardInfomation.cHistoryChargeType == CHARGETYPE_INCMONEY))	
				{
					gcSector = gstWorkCardInfomation.stCardStruct.cMoneySector;
					cMarsterBlock = gcMoneyMarsterBlock;
				}
				else if ((gstWorkCardInfomation.cHistoryChargeType == CHARGETYPE_PURTIMES)||(gstWorkCardInfomation.cHistoryChargeType == CHARGETYPE_DECTIMES)||(gstWorkCardInfomation.cHistoryChargeType == CHARGETYPE_INCTIMES))	
				{
					gcSector = gstWorkCardInfomation.stCardStruct.cEveTimesSector;
					cMarsterBlock = gcTimesMarsterBlock;
				}
				else
					return 1;
				gcBlock = gcSector * 4;
				if(!AuthenCard(&glSerialNo,gcSector,MIF_READ)) return 0;
				if(!CopyBlock(gcSector,  gcBlock+2-cMarsterBlock, gcBlock+cMarsterBlock+1, 0)) return 0;
			}
			else	
				return 2;
			break;
		}
		gstWorkCardInfomation.cGetInfoFinished &= (MASK_SECTOR_PUBLIC&MASK_SECTOR_MONEY&MASK_SECTOR_HISTORY);
	}
	return 1;
}
//寫售卡標(biāo)志
unsigned char WriteSaleCardFlag(unsigned char Mode, unsigned char CardType)

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美肥大bbwbbw高潮| 亚洲日本丝袜连裤袜办公室| 制服丝袜亚洲精品中文字幕| 欧日韩精品视频| 欧美在线看片a免费观看| 色噜噜偷拍精品综合在线| 91亚洲男人天堂| 91农村精品一区二区在线| 成人av电影在线| 99re66热这里只有精品3直播| 91丨porny丨中文| 91福利国产精品| 精品视频1区2区| 欧美一区二区黄| 久久久久久久久蜜桃| 久久精品一区四区| 国产精品麻豆网站| 亚洲四区在线观看| 亚洲国产成人高清精品| 日韩精品一区第一页| 日韩高清不卡一区二区三区| 精品亚洲国产成人av制服丝袜 | 国产精品白丝jk黑袜喷水| 国产精品一卡二卡在线观看| 9l国产精品久久久久麻豆| 91久久精品一区二区三| 欧美乱妇一区二区三区不卡视频| 欧美一三区三区四区免费在线看| 久久综合狠狠综合久久激情| 国产精品视频免费| 亚洲综合av网| 极品美女销魂一区二区三区免费 | 欧美一区二区三区色| 2017欧美狠狠色| 中文字幕永久在线不卡| 五月激情综合网| 国产资源精品在线观看| 91网站在线播放| 91精品一区二区三区久久久久久| 精品国产凹凸成av人导航| 亚洲色图色小说| 日本免费在线视频不卡一不卡二 | 欧美熟乱第一页| 日韩欧美激情四射| 国产精品动漫网站| 麻豆精品国产传媒mv男同| 99国产精品视频免费观看| 69av一区二区三区| 国产精品你懂的在线欣赏| 天堂影院一区二区| 99久久国产综合精品色伊| 日韩一区二区三区免费看| 国产精品第一页第二页第三页| 日日摸夜夜添夜夜添国产精品 | 色婷婷久久一区二区三区麻豆| 欧美放荡的少妇| 综合中文字幕亚洲| 韩国中文字幕2020精品| 欧美在线高清视频| 国产亚洲va综合人人澡精品| 亚洲第一主播视频| 成人激情开心网| 日韩三级视频中文字幕| 亚洲精品久久久蜜桃| 国产精品996| 日韩欧美专区在线| 亚洲国产精品久久久久婷婷884 | 99视频精品免费视频| 欧美videofree性高清杂交| 一区二区三区日韩欧美| 国产精品 欧美精品| 91精品国产全国免费观看| 最新热久久免费视频| 国产久卡久卡久卡久卡视频精品| 欧美人xxxx| 亚洲自拍偷拍欧美| 91同城在线观看| 国产精品欧美一区喷水| 激情综合网激情| 欧美一区在线视频| 视频一区欧美精品| 91国偷自产一区二区开放时间| 中文字幕第一区第二区| 国内精品视频666| 日韩免费观看高清完整版| 天堂一区二区在线免费观看| 日本久久一区二区三区| **性色生活片久久毛片| 成人av在线看| 亚洲国产精品精华液2区45| 国产精品亚洲第一| 国产人妖乱国产精品人妖| 韩国三级在线一区| 精品电影一区二区| 乱中年女人伦av一区二区| 日韩一区二区三区电影| 丝袜亚洲精品中文字幕一区| 欧美日韩美女一区二区| 亚洲va在线va天堂| 欧美日韩亚洲高清一区二区| 洋洋成人永久网站入口| 一本久久a久久精品亚洲| 综合电影一区二区三区| 91免费看`日韩一区二区| 亚洲女爱视频在线| 欧洲视频一区二区| 亚洲国产日韩a在线播放性色| 一本一本久久a久久精品综合麻豆| 中文字幕在线一区免费| 91老师片黄在线观看| 亚洲人成网站色在线观看| 色老综合老女人久久久| 亚洲精品国产无套在线观| 在线观看国产日韩| 午夜精品在线看| 日韩欧美一级片| 国产成人欧美日韩在线电影| 国产精品全国免费观看高清| 一本一本大道香蕉久在线精品| 亚洲综合视频网| 91精品蜜臀在线一区尤物| 精品一区二区影视| 日本一区二区三区久久久久久久久不 | 欧美三区在线观看| 亚洲成人综合网站| 欧美成人精品福利| 国产高清精品在线| 亚洲人成网站精品片在线观看| 欧美色图在线观看| 老司机精品视频一区二区三区| 久久综合五月天婷婷伊人| 成人午夜激情在线| 亚洲成人在线免费| 亚洲精品在线观看视频| 成人国产视频在线观看| 一区二区三区四区国产精品| 欧美一区二区三区日韩视频| 国产风韵犹存在线视精品| 亚洲欧美日本韩国| 欧美精品日日鲁夜夜添| 国产一区二区三区国产| 一区二区三区中文字幕| 日韩一级免费一区| www.亚洲人| 日韩黄色片在线观看| 日本一区二区成人| 91麻豆精品国产91久久久久久久久| 国内精品不卡在线| 亚洲伊人伊色伊影伊综合网| 精品国产乱码久久| 欧美在线|欧美| 国产大陆a不卡| 亚洲一区二区在线视频| www国产亚洲精品久久麻豆| 91一区二区三区在线观看| 麻豆专区一区二区三区四区五区| 亚洲图片另类小说| 日韩精品一区二区三区三区免费| www.在线欧美| 激情综合色丁香一区二区| 亚洲人xxxx| 久久九九久久九九| 欧美精品在线视频| 99国产精品久久久久久久久久久| 蜜桃视频免费观看一区| 一区二区三区日韩精品视频| 国产午夜精品久久| 日韩欧美你懂的| 欧美日韩一级视频| av男人天堂一区| 国产一区高清在线| 亚洲第一福利视频在线| 中文字幕一区二区三区在线不卡 | 日韩欧美在线不卡| 91色视频在线| 国产精品亚洲第一区在线暖暖韩国 | 国产欧美日韩在线| 日韩欧美在线网站| 欧美三级资源在线| 91污在线观看| 成人永久免费视频| 精品一区二区免费看| 日本美女一区二区三区视频| 亚洲精品免费播放| 国产精品国产三级国产a | 五月天激情小说综合| 亚洲精品免费电影| 国产精品久久久久影视| 欧美精品一区二区三区四区 | 欧美在线啊v一区| 色综合久久中文综合久久97 | 精品国产亚洲一区二区三区在线观看| 欧洲一区在线观看| 91免费看视频| 99精品桃花视频在线观看| 成人免费视频网站在线观看| 国产米奇在线777精品观看| 久久99国产精品久久99| 琪琪一区二区三区| 日本午夜精品一区二区三区电影|