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

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

?? mifare.c

?? 用于小商品消費的SMS消費機程序
?? C
?? 第 1 頁 / 共 5 頁
字號:
					break;
		}
		if (i==3) return 0;
		break;
	default:
		return 0;
	}
	return 1;
}
//更改指針
unsigned char ModifyPoint()
{
	unsigned char  i;

	gcSector = gstWorkCardInfomation.cHisCharge / 3;
	gcBlock = gstWorkCardInfomation.cHisCharge % 3;
	gcSector = gstWorkCardInfomation.stCardStruct.cHistorySector[gcSector];
	gcBlock += gcSector * 4;

	memcpy(gcMifBuffer, gcNowTime+3, 4);		
//	memcpy(gcMifBuffer+4, &gstWorkCardInfomation.lMoney, 4);
	OverTurnString(gcMifBuffer+4, &gstWorkCardInfomation.lMoney, 4);
//	memcpy(gcMifBuffer+8, &glChargeMoney, 3);
	OverTurnString(gcMifBuffer+8, (unsigned char*)&glChargeMoney+1, 3);
	gcMifBuffer[11] = gcChargeType;
	memcpy(gcMifBuffer+12, gcPSAMNo, 4);

	if(!AuthenCard(&glSerialNo, gcSector, MIF_READ)) return 0;
	for(i=0;i<3;i++)
		if(CardMFCWrite16Bytes(gcBlock, gcMifBuffer)==MI_OK) break;
	if(i==3) return 0;
	if (gstWorkCardInfomation.cHisCharge < 8)
		gstWorkCardInfomation.cHisCharge ++;
	else
		gstWorkCardInfomation.cHisCharge = 0;

	switch(gcChargeType)
	{
	case CHARGETYPE_DECMONEY:
	case CHARGETYPE_INCMONEY:
	case CHARGETYPE_PURMONEY:
		if (gstWorkCardInfomation.iMoneyTotleTimes < 0xffff)		
			gstWorkCardInfomation.iMoneyTotleTimes ++;
		else
			gstWorkCardInfomation.iMoneyTotleTimes = 0;
		break;
	case CHARGETYPE_DECTIMES:
	case CHARGETYPE_INCTIMES:
	case CHARGETYPE_PURTIMES:
		if (gstWorkCardInfomation.iTimesTotleTimes < 0xffff)		
			gstWorkCardInfomation.iTimesTotleTimes ++;
		else
			gstWorkCardInfomation.iTimesTotleTimes = 0;
		break;
	}
	gcSector = gstWorkCardInfomation.stCardStruct.cPublicSector;
	gcBlock = gcSector * 4;
	if(!AuthenCard(&glSerialNo, gcSector, MIF_READ)) return 0;
	for(i=0;i<3;i++)
		if(CardMFCRead16Bytes(gcBlock, gcMifBuffer)==MI_OK) break;
	if(i==3) return 0;

	gcMifBuffer[0] = gstWorkCardInfomation.cHisCharge+1;		
	switch(gcChargeType)
	{
	case CHARGETYPE_DECMONEY:
	case CHARGETYPE_INCMONEY:
	case CHARGETYPE_PURMONEY:
//		memcpy(gcMifBuffer+1, &gstWorkCardInfomation.iMoneyTotleTimes, 2);
		OverTurnString(gcMifBuffer+1, &gstWorkCardInfomation.iMoneyTotleTimes, 2);
		break;
	case CHARGETYPE_DECTIMES:
	case CHARGETYPE_INCTIMES:
	case CHARGETYPE_PURTIMES:
//		memcpy(gcMifBuffer+4, &gstWorkCardInfomation.iTimesTotleTimes, 2);
		OverTurnString(gcMifBuffer+4, &gstWorkCardInfomation.iTimesTotleTimes, 2);
		break;
	}
	gcMifBuffer[15] = 0;
	for(i=0;i<15;i++)
		gcMifBuffer[15] ^= gcMifBuffer[i];

	for(i=0;i<3;i++)
		if(CardMFCWrite16Bytes(gcBlock, gcMifBuffer)==MI_OK) break;
	if(i==3) return 0;
	return 1;
}
//分析卡片目錄結構
void AnalyseCardStruct(unsigned char *CardDir)
{
	unsigned char i, j;
	
	j = 0;
	memset((unsigned char*)&gstWorkCardInfomation.stCardStruct, 0xff, 9);
	for(i=0;i<16;i++)
	{
		switch(CardDir[i])
		{
		case 0x00:
			gstWorkCardInfomation.stCardStruct.cDirSector = i;
			break;
		case 0x01:
			gstWorkCardInfomation.stCardStruct.cPublishSector = i;
			break;
		case 0x10:
			gstWorkCardInfomation.stCardStruct.cMoneySector = i;
			break;
		case 0x03:
			gstWorkCardInfomation.stCardStruct.cHistorySector[j] = i;
			j ++;
			break;
		case 0x06:
			gstWorkCardInfomation.stCardStruct.cPublicSector = i;
			break;
		case 0x07:
			gstWorkCardInfomation.stCardStruct.cOddTimesSector = i;
			break;
		case 0x08:
			gstWorkCardInfomation.stCardStruct.cEveTimesSector = i;
			break;
		default:
			break;
		}
	}
}

//獲取卡片密鑰
unsigned char GetCardKey(unsigned long lSerialNo)
{
	unsigned char i, buf[50], outbuf[50], CardKeyIndex;
	if ((lSerialNo == gstWorkCardKey.lSerialNo)&&(gcGetKeyFinished == 4))
		return 1;
//	clr_scr();
//	move_cursor(0,0);	
//	puts("GetCardKey");
//	getch();	
	gstWorkCardInfomation.cKeyVerision = 0;
	memcpy(gstWorkCardKey.cKeyA[0], gcDefaultKeyA, 6);
	memcpy(gstWorkCardKey.cKeyB[0], gcDefaultKeyB, 6);
	gcGetKeyFinished = 0;
	if(CardMFCAuthKey(PICC_AUTHENT1A, (unsigned char*)&lSerialNo, gstWorkCardKey.cKeyA[0], 3)==MI_OK)
	{
		CardMFCRead16Bytes(1,gcMifBuffer);

		AnalyseCardStruct(gcMifBuffer);
		gstWorkCardInfomation.cGetInfoFinished = SECTOR_DIR;
		glSerialNo = lSerialNo;
	}
	else
	{
		if (CardTypeARequest(PICC_REQIDL, gcATQ)!=MI_OK) return 0;
		if (CardTypeASelect(PICC_ANTICOLL1, (unsigned char*)&lSerialNo, gcATS)!=MI_OK) return 0;
		memcpy(gstWorkCardKey.cKeyA[0], gcDefaultKeyAf, 6);
		memcpy(gstWorkCardKey.cKeyB[0], gcDefaultKeyBf, 6);
		if(CardMFCAuthKey(PICC_AUTHENT1A, (unsigned char*)&lSerialNo, gstWorkCardKey.cKeyA[0], 3)==MI_OK)
		{
			gstWorkCardInfomation.cKeyVerision = 0xff;
			//for debug
//			CardMFCRead16Bytes(1,gcMifBuffer);
//			AnalyseCardStruct(gcMifBuffer);
//			gstWorkCardInfomation.cGetInfoFinished = SECTOR_DIR;
			//for debug
		}
		else
		{
			return 0;
		}
	}
	
	//for debug
//	gstWorkCardInfomation.cKeyVerision==0xff;	
	//for debug
	if(gstWorkCardInfomation.cKeyVerision!=0xff)
	{
		
		memcpy(gcKeyA1, (unsigned char*)&lSerialNo, 4);
		gcKeyA1[4] = gcKeyA1[0];
		gcKeyA1[5] = gcKeyA1[1];
		memcpy(gstWorkCardKey.cKeyA[1], gcKeyA1, 6);
		memcpy(gstWorkCardKey.cKeyB[1], gcKeyB1, 6);
		gcGetKeyFinished = 1;

		if(AuthenCard(&lSerialNo, 1, MIF_READ))
		{
			CardMFCRead16Bytes(4, gcMifBuffer);

			gstWorkCardInfomation.cKeyVerision = gcMifBuffer[14];
		}
		else
			gstWorkCardInfomation.cKeyVerision = 0xA0;
	}
//	clr_scr();
//	move_cursor(0,0);
//	set_console_english();
//	Dispbcd(0,0, &gstWorkCardInfomation.cKeyVerision,1);
//	set_console_chinese();

	if ((gstWorkCardInfomation.cKeyVerision==0xff)||(gstWorkCardInfomation.cKeyVerision==0xA0))
	{
		for(i=1;i<16;i++)
		{
			memcpy(gstWorkCardKey.cKeyA[i], gstWorkCardKey.cKeyA[0], 6);
			memcpy(gstWorkCardKey.cKeyB[i], gstWorkCardKey.cKeyB[0], 6);
		}
		gstWorkCardInfomation.cKeyVerision = gstWorkCardKey.cKeyA[0][0];
		gcGetKeyFinished = 4;

	}
	else
	{
		switch(gcGetKeyFinished)
		{
		case 0:		
			gcGetKeyFinished = 1;
		case 1:		
			gcSector = gstWorkCardInfomation.stCardStruct.cPublishSector;
			gcBlock = gcSector * 4;
			AuthenCard(&lSerialNo, gcSector, MIF_READ);
			CardMFCRead16Bytes(gcBlock, gcMifBuffer);
			
			if(!SelectFile(0, 0x1001)) return 0;
			delay_n_ms(20);

			memcpy(buf, gcMifBuffer, 2);
			memcpy(buf+2, (unsigned char*)&lSerialNo, 4);
			memcpy(buf+6, gcMifBuffer+6, 2);	
			memcpy(buf+8, gcMifBuffer+8, 4);	
			buf[12] = 0x02;
			buf[13] = 0x03;
			buf[14] = 0x07;
	
//			clr_scr();
//			move_cursor(0,0);
//			set_console_english();
//			Dispbcd(0,0, buf, 16);
//			set_console_chinese();

			i = GetMifKey(1, 1, buf, 15);

			if(i != 18)
			{
				return 0;
			}
			delay_n_ms(2);
			if(!GetResponse(outbuf, i))
			{
				return 0;
			}

//			clr_scr();
//			move_cursor(0,0);
//			set_console_english();
//			Dispbcd(0,0, outbuf, 24);
//			set_console_chinese();

			delay_n_ms(2);
			memcpy(gstWorkCardKey.cKeyA[2], outbuf, 6);
			memcpy(gstWorkCardKey.cKeyA[6], outbuf, 6);
			gcGetKeyFinished = 2;
		case 2:		
			for(i=3;i<6;i++)
			{
				memcpy(gstWorkCardKey.cKeyA[i], outbuf+6, 6);
			}
			gcGetKeyFinished = 3;
		case 3:		
			memcpy(gstWorkCardKey.cKeyA[7], outbuf+12, 6);
			memcpy(gstWorkCardKey.cKeyA[8], outbuf+12, 6);
			gcGetKeyFinished = 4;
		}
	}
//	for(i=0;i<9;i++)
//	{
//		clr_scr();
//		move_cursor(0,0);
//		set_console_english();
//		printf("%d", i);
//		Dispbcd(0,1, &gstWorkCardKey.cKeyB[i], 6);
//		set_console_chinese();
//	}
//
	gstWorkCardKey.lSerialNo = lSerialNo;
	gstWorkCardInfomation.lSerialNo = lSerialNo;
	return 1;
}
/*
//獲取卡片密鑰
unsigned char GetCardKey(unsigned long lSerialNo)
{
	unsigned char i, buf[50], outbuf[50], CardKeyIndex;
	if ((lSerialNo == gstWorkCardKey.lSerialNo)&&(gcGetKeyFinished == 4))
		return 1;
//	clr_scr();
//	move_cursor(0,0);	
//	puts("GetCardKey");
//	getch();
		
	gstWorkCardInfomation.cKeyVerision = 0;
	memcpy(gstWorkCardKey.cKeyA[0], gcDefaultKeyA, 6);
	memcpy(gstWorkCardKey.cKeyB[0], gcDefaultKeyB, 6);
	gcGetKeyFinished = 0;
	if(CardMFCAuthKey(PICC_AUTHENT1A, (unsigned char*)&lSerialNo, gstWorkCardKey.cKeyA[0], 3)==MI_OK)
	{
		CardMFCRead16Bytes(1,gcMifBuffer);

		AnalyseCardStruct(gcMifBuffer);
		gstWorkCardInfomation.cGetInfoFinished = SECTOR_DIR;
	}
	else
	{
		if (CardTypeARequest(PICC_REQIDL, gcATQ)!=MI_OK) return 0;
		if (CardTypeASelect(PICC_ANTICOLL1, (unsigned char*)&lSerialNo, gcATS)!=MI_OK) return 0;
		memcpy(gstWorkCardKey.cKeyA[0], gcDefaultKeyAf, 6);
		memcpy(gstWorkCardKey.cKeyB[0], gcDefaultKeyBf, 6);
		if(CardMFCAuthKey(PICC_AUTHENT1A, (unsigned char*)&lSerialNo, gstWorkCardKey.cKeyA[0], 3)==MI_OK)
		{
			gstWorkCardInfomation.cKeyVerision = 0xff;
			//for debug
//			CardMFCRead16Bytes(1,gcMifBuffer);
//			AnalyseCardStruct(gcMifBuffer);
//			gstWorkCardInfomation.cGetInfoFinished = SECTOR_DIR;
			//for debug
		}
		else
		{
			return 0;
		}
	}
	
	//for debug
//	gstWorkCardInfomation.cKeyVerision==0xff;	
	//for debug
	if(gstWorkCardInfomation.cKeyVerision!=0xff)
	{
		//OverTurnString(gcKeyA1, (unsigned char*)&lSerialNo, 4);
		memcpy(gcKeyA1, (unsigned char*)&lSerialNo, 4);
		gcKeyA1[4] = gcKeyA1[0];
		gcKeyA1[5] = gcKeyA1[1];
		memcpy(gstWorkCardKey.cKeyA[1], gcKeyA1, 6);
		memcpy(gstWorkCardKey.cKeyB[1], gcKeyB1, 6);
		gcGetKeyFinished = 1;

		if(AuthenCard(&lSerialNo, 1, MIF_READ))
		{
			CardMFCRead16Bytes(4, gcMifBuffer);

			gstWorkCardInfomation.cKeyVerision = gcMifBuffer[14];
		}
		else
			gstWorkCardInfomation.cKeyVerision = 0xA0;
	}
//	clr_scr();
//	move_cursor(0,0);
//	set_console_english();
//	Dispbcd(0,0, &gstWorkCardInfomation.cKeyVerision,1);
//	set_console_chinese();

	if ((gstWorkCardInfomation.cKeyVerision==0xff)||(gstWorkCardInfomation.cKeyVerision==0xA0))
	{
		for(i=1;i<16;i++)
		{
			memcpy(gstWorkCardKey.cKeyA[i], gstWorkCardKey.cKeyA[0], 6);
			memcpy(gstWorkCardKey.cKeyB[i], gstWorkCardKey.cKeyB[0], 6);
		}
		gstWorkCardInfomation.cKeyVerision = gstWorkCardKey.cKeyA[0][0];
		gcGetKeyFinished = 4;

	}
	else
	{
		switch(gcGetKeyFinished)
		{
		case 0:		
			gcGetKeyFinished = 1;
		case 1:		
			memset(gcMifBuffer,0, sizeof(gcMifBuffer));
			gcSector = gstWorkCardInfomation.stCardStruct.cPublishSector;
			gcBlock = gcSector * 4;
			if(!AuthenCard(&lSerialNo, gcSector, MIF_READ)) return 0;
			if(CardMFCRead16Bytes(gcBlock, gcMifBuffer)!=MI_OK) return 0;
			
//			clr_scr();
//			set_console_english();
//			Dispbcd(0,0,gcMifBuffer,16);
//			move_cursor(0,4);
//			puts("SelectFile");
//			getch();
//			set_console_chinese();

			if(!SelectFile(0, 0x1001)) return 0;
			delay_n_ms(2);

			memcpy(buf, gcMifBuffer, 2);
			memcpy(buf+2, (unsigned char*)&lSerialNo, 4);
			memcpy(buf+6, gcMifBuffer+6, 2);	
			memcpy(buf+8, gcMifBuffer+8, 4);	
			buf[12] = 0x01;
			buf[13] = 0x02;
			buf[14] = 0x03;
			buf[15] = 0x07;
			buf[16] = 0x00;
	
//			clr_scr();
//			move_cursor(0,0);
//			set_console_english();
//			puts("GetMifKey");
//			Dispbcd(0,2, buf, 16);
//			set_console_chinese();

			i = GetMifKey(1, 1, buf, 17);

			if(i != 30)
			{
				return 0;
			}
			delay_n_ms(2);
			
//			clr_scr();
//			move_cursor(0,0);
//			set_console_english();

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线观看亚洲精品| 亚洲成年人网站在线观看| 久久99久久99| 成人国产精品免费观看动漫| 日韩欧美专区在线| 手机精品视频在线观看| 欧美精品一区二区三| 亚洲欧洲国产专区| 男人的j进女人的j一区| 欧美成人三级电影在线| 蜜乳av一区二区三区| 欧美一级黄色片| 亚洲色图欧洲色图| 99久久综合色| 日韩精品欧美成人高清一区二区| 欧美性淫爽ww久久久久无| 欧美日韩免费不卡视频一区二区三区| 天天色天天爱天天射综合| 欧美军同video69gay| 国产一区二区三区香蕉 | 久久99久久精品| 中国av一区二区三区| 蜜臀av一区二区在线观看| 91官网在线观看| 国产日韩影视精品| 91视频.com| 精品在线免费视频| 国产精品美女一区二区在线观看| 91极品视觉盛宴| 美日韩一区二区三区| 欧美专区日韩专区| 国产精品一二三四五| 中文字幕在线播放不卡一区| 色哟哟欧美精品| 国产精品91xxx| 一区二区理论电影在线观看| 久久久久久久精| 色菇凉天天综合网| 天堂va蜜桃一区二区三区| 在线电影一区二区三区| 国产一区福利在线| 伊人婷婷欧美激情| 91久久一区二区| 亚洲高清视频在线| 国产亚洲精品超碰| 91成人在线精品| 懂色av一区二区夜夜嗨| 一区二区三区在线看| 欧美日韩一区精品| 国产成人免费在线视频| 亚洲欧美日韩国产成人精品影院| 国产欧美一区在线| 欧美日韩国产天堂| 久久er精品视频| 一区二区三区不卡视频| 欧美乱妇23p| 久久精品国产精品亚洲综合| 国产精品久久久久一区二区三区 | 成人免费小视频| 欧美高清www午色夜在线视频| 美美哒免费高清在线观看视频一区二区 | 99久久免费精品| 日韩电影一区二区三区| 日韩欧美专区在线| 在线亚洲一区二区| 日本道在线观看一区二区| 国模无码大尺度一区二区三区| 久久久久久久网| 欧美日韩高清一区二区不卡| 在线精品视频免费观看| 国产成人精品1024| 婷婷开心激情综合| 亚洲视频免费在线观看| 91看片淫黄大片一级在线观看| 无码av免费一区二区三区试看| 国产嫩草影院久久久久| 欧美精品少妇一区二区三区| www.久久精品| 亚洲一区二区三区中文字幕 | av激情亚洲男人天堂| 亚洲成人免费视| 国产片一区二区| 久久综合色天天久久综合图片| 777亚洲妇女| 乱一区二区av| 国产精品成人免费精品自在线观看 | 亚洲精品乱码久久久久| 欧美一区二区三区影视| 欧美日韩一级视频| 国产一区二区三区日韩| 三级影片在线观看欧美日韩一区二区 | 欧美精品一区二区三区一线天视频| 国产精品一区一区| 国产综合色视频| 国产激情一区二区三区| 蜜臀av亚洲一区中文字幕| 免费看欧美美女黄的网站| 美女一区二区三区在线观看| 国产精品一色哟哟哟| 国产成人精品亚洲日本在线桃色| 99热在这里有精品免费| 久久国产婷婷国产香蕉| 免费在线观看日韩欧美| 高清不卡在线观看| av在线播放一区二区三区| 欧美日韩成人综合天天影院| 日韩三级伦理片妻子的秘密按摩| 欧美一区二区三区视频在线| 国产精品一色哟哟哟| 亚洲成人激情社区| 国产一区二区视频在线| 亚洲成人黄色影院| 男男视频亚洲欧美| 亚洲成av人综合在线观看| 亚州成人在线电影| 久草热8精品视频在线观看| 夜夜揉揉日日人人青青一国产精品| 亚洲精品乱码久久久久久日本蜜臀| 亚洲123区在线观看| 成人午夜激情视频| 色视频成人在线观看免| 精品国产91九色蝌蚪| 中文字幕中文字幕一区| 另类欧美日韩国产在线| 国产福利不卡视频| 99在线精品观看| 91麻豆精品国产91久久久久| 91麻豆免费观看| 色成年激情久久综合| 欧美人与禽zozo性伦| 日韩美女精品在线| 琪琪久久久久日韩精品| 午夜精品在线视频一区| 日韩专区欧美专区| 成人久久18免费网站麻豆| 日韩欧美二区三区| 亚洲视频在线一区观看| 久久久久免费观看| 亚洲一区在线观看网站| 一区二区三区高清在线| 天堂va蜜桃一区二区三区| 亚洲sss视频在线视频| 不卡电影一区二区三区| 欧美精品国产精品| 日韩区在线观看| 日韩主播视频在线| 日本欧美加勒比视频| 在线观看国产一区二区| 欧美视频自拍偷拍| 国产福利一区二区三区视频| 欧美日韩激情一区二区三区| 国产日韩亚洲欧美综合| 国内精品视频666| 国产乱码精品一区二区三区忘忧草 | 在线播放/欧美激情| 亚洲女厕所小便bbb| 国产.欧美.日韩| 欧美在线free| 91麻豆精品久久久久蜜臀| 亚洲欧美日韩中文播放 | 青青草精品视频| 欧美日韩成人在线| 中文字幕制服丝袜一区二区三区| 国产精品一区二区无线| 日韩欧美国产一区二区三区| 国产精品高潮久久久久无| 亚洲精品高清在线| 成人动漫一区二区在线| 欧美一级片免费看| 一区二区三区产品免费精品久久75| 色综合久久中文综合久久牛| 久久久高清一区二区三区| 一区二区免费看| 韩国成人福利片在线播放| 91精品免费在线| 九九视频精品免费| 日韩午夜三级在线| 欧美在线一区二区| 艳妇臀荡乳欲伦亚洲一区| 国产高清久久久| 久久久久久**毛片大全| 亚洲成av人**亚洲成av**| 91丝袜呻吟高潮美腿白嫩在线观看| 91国偷自产一区二区三区观看| 亚洲午夜久久久久久久久电影网| 色88888久久久久久影院野外 | 欧美亚洲愉拍一区二区| 欧美精品在线观看一区二区| 亚洲欧洲精品天堂一级| 成人av网站大全| 欧美日韩在线亚洲一区蜜芽| 麻豆91在线观看| 91色.com| 日本中文字幕一区二区有限公司| 欧美日韩亚洲不卡| 亚洲精品第1页| 欧美亚洲综合另类| 免费美女久久99| 欧美日韩综合不卡| 久久综合99re88久久爱|