⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 icq.java

📁 类似QQ的功能
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
				{					caps |= CAPF_IM2;				}				else if (Util.byteArrayEquals(capabilities, offset, CAP_MACICQ, 0, 16))				{					caps |= CAPF_MACICQ;				}				else if (Util.byteArrayEquals(capabilities, offset, CAP_RICHTEXT, 0, 16))				{					caps |= CAPF_RICHTEXT;				}				else if (Util.byteArrayEquals(capabilities, offset, CAP_IS2001, 0, 16))				{					caps |= CAPF_IS2001;				}				else if (Util.byteArrayEquals(capabilities, offset, CAP_IS2002, 0, 16))				{					caps |= CAPF_IS2002;				}				else if (Util.byteArrayEquals(capabilities, offset, CAP_STR20012, 0, 16))				{					caps |= CAPF_STR20012;				}				else if (Util.byteArrayEquals(capabilities, offset, CAP_AIMICON, 0, 16))				{					caps |= CAPF_AIMICON;				}				else if (Util.byteArrayEquals(capabilities, offset, CAP_AIMCHAT, 0, 16))				{					caps |= CAPF_AIMCHAT;				}				else if (Util.byteArrayEquals(capabilities, offset, CAP_UIM, 0, 16))				{					caps |= CAPF_UIM;				}				else if (Util.byteArrayEquals(capabilities, offset, CAP_RAMBLER, 0, 16))				{					caps |= CAPF_RAMBLER;				}				else if (Util.byteArrayEquals(capabilities, offset, CAP_ABV, 0, 16))				{					caps |= CAPF_ABV;				}				else if (Util.byteArrayEquals(capabilities, offset, CAP_NETVIGATOR, 0, 16))				{					caps |= CAPF_NETVIGATOR;				}				else if (Util.byteArrayEquals(capabilities, offset, CAP_XTRAZ, 0, 16))				{					caps |= CAPF_XTRAZ;				}				else if (Util.byteArrayEquals(capabilities, offset, CAP_AIMFILE, 0, 16))				{					caps |= CAPF_AIMFILE;				}				else if (Util.byteArrayEquals(capabilities, offset, CAP_JIMM, 0, 5))				{					caps |= CAPF_JIMM;					szVersion = detectClientVersion(capabilities, CLI_JIMM, j);				}				else if (Util.byteArrayEquals(capabilities, offset, CAP_QUTIM, 0, CAP_QUTIM.length))				{					caps |= CAPF_QUTIM;					szVersion = detectClientVersion(capabilities, CLI_QUTIM, j);				}				else if (Util.byteArrayEquals(capabilities, offset, CAP_SMAPER, 0, CAP_SMAPER.length))				{					caps |= CAPF_SMAPER;					szVersion = detectClientVersion(capabilities, CLI_SMAPER, j);				}				else if (Util.byteArrayEquals(capabilities, offset, CAP_JIMM_DICHAT, 0, CAP_JIMM_DICHAT.length))				{					caps |= CAPF_JIMM_DICHAT;					szVersion = detectClientVersion(capabilities, CLI_JIMM_DICHAT, j);				}				else if (Util.byteArrayEquals(capabilities, offset, CAP_AIMIMIMAGE, 0, 16)) caps |= CAPF_AIMIMIMAGE;				else if (Util.byteArrayEquals(capabilities, offset, CAP_AVATAR, 0, 16)) caps |= CAPF_AVATAR;				else if (Util.byteArrayEquals(capabilities, offset, CAP_DIRECT, 0, 16)) caps |= CAPF_DIRECT;				else if (Util.byteArrayEquals(capabilities, offset, CAP_TYPING, 0, 16)) caps |= CAPF_TYPING;				else if (Util.byteArrayEquals(capabilities, offset, CAP_MCHAT, 0, 9))				{					caps |= CAPF_MCHAT;					szVersion = detectClientVersion(capabilities, CLI_MCHAT, j);				}				else if (Util.byteArrayEquals(capabilities, offset, CAP_QIPINFIUM, 0, 16))				{					caps |= CAPF_QIPINFIUM;				}//				else if (Util.byteArrayEquals(capabilities, j16, CAP_AUDIO, 0, 16))//				{//					caps |= CAPF_AUDIO;//				}//				else if (Util.byteArrayEquals(capabilities, j16, CAP_VIDEO, 0, 16))//				{//					caps |= CAPF_VIDEO;//				}				else if (Util.byteArrayEquals(capabilities, offset, CAP_HTMLMESSAGES, 0, 16))				{					caps |= CAPF_HTMLMESSAGES;				}//				else if (Util.byteArrayEquals(capabilities, j16, CAP_XMultiUserChat, 0, 16))//				{//					caps |= CAPF_XMultiUserChat;//				}//				else if (Util.byteArrayEquals(capabilities, j16, CAP_XtZers, 0, 16))//				{//					caps |= CAPF_XtZers;//				}				else if (Util.byteArrayEquals(capabilities, offset, CAP_IsICQLITE, 0, 16))				{					caps |= CAPF_IsICQLITE;				}				else if (Util.byteArrayEquals(capabilities, offset, CAP_IMPLUS, 0, 16))				{					caps |= CAPF_IMPLUS;				}			}		}		//Client detection		//If this is status change we don`t need to detect client... 		if (!statusChange)		{			switch (1)			{			default:				if ((caps & CAPF_IMPLUS) != 0)				{					client = CLI_IMPLUS;  					if ((dwFP1 & 0xFFFFFFF0) == 0x494D2B00) {						switch (dwFP1 & 0xFF) {							case 0x03:		//SmartPhone, Pocket PC								szVersion += "(SmartPhone, Pocket PC)";								break;							case 0x05:		//Win32								szVersion += "(Win32)";								break;						}					}					break;				}				if ((caps & CAPF_QUTIM) != 0)				{					client = CLI_QUTIM;					break;				}				if ((caps & CAPF_SMAPER) != 0)				{					client = CLI_SMAPER;					break;				}				if ((caps & CAPF_JIMM_DICHAT) != 0)				{					client = CLI_JIMM_DICHAT;					break;				}				if ((caps & CAPF_QIPINFIUM) != 0)				{					client = CLI_QIPINFIUM;					szVersion += "(" + dwFP1 + ")" + ((dwFP2 == 0xB) ? " Beta" : "");					break;				}				if ((caps & CAPF_QIPPDASYM) != 0)				{					client = CLI_QIPPDASYM;					break;				}				if ((caps & CAPF_QIPPDAWIN) != 0)				{					client = CLI_QIPPDAWIN;					break;				}				if ((caps & CAPF_MCHAT) != 0)				{					client = CLI_MCHAT;					break;				}				if ((caps & CAPF_JIMM) != 0)				{					client = CLI_JIMM;					break;				}				if ((caps & CAPF_QIP) != 0)				{					client = CLI_QIP;					if (((dwFP1 >> 24) & 0xFF) != 0) szVersion += " (" + ((dwFP1 >> 24) & 0xFF) + ((dwFP1 >> 16) & 0xFF) + ((dwFP1 >> 8) & 0xFF)							+ (dwFP1 & 0xFF) + ")";					break;				}				if (((caps & (CAPF_TRILLIAN + CAPF_TRILCRYPT)) != 0) && (dwFP1 == 0x3b75ac09))				{					client = CLI_TRILLIAN;					break;				}				if (((caps & CAPF_IM2) != 0) && (dwFP1 == 0x3FF19BEB))				{					client = CLI_IM2;					break;				}				if ((caps & (CAPF_SIM + CAPF_SIMOLD)) != 0)				{					client = CLI_SIM;					break;				}				if ((caps & CAPF_KOPETE) != 0)				{					client = CLI_KOPETE;					break;				}				if ((caps & CAPF_LICQ) != 0)				{					client = CLI_LICQ;					break;				}				if (((caps & CAPF_AIMICON) != 0) && ((caps & CAPF_AIMFILE) != 0) && ((caps & CAPF_AIMIMIMAGE) != 0))				{					client = CLI_GAIM;					break;				}				if ((caps & CAPF_UTF8_INTERNAL) != 0)				{					switch (wVersion)					{					case 10:						if (((caps & CAPF_TYPING) != 0) && ((caps & CAPF_RICHTEXT) != 0))						{							client = CLI_ICQ2003B;						}					case 7:						if (((caps & CAPF_AIM_SERVERRELAY) == 0) && ((caps & CAPF_DIRECT) == 0) && (dwFP1 == 0) && (dwFP2 == 0) && (dwFP3 == 0))						{							client = CLI_ICQ2GO;						}						break;					default:						if ((dwFP1 == 0) && (dwFP2 == 0) && (dwFP3 == 0))						{							if ((caps & CAPF_RICHTEXT) != 0)							{								client = CLI_ICQLITE;								if (((caps & CAPF_AVATAR) != 0) && ((caps & CAPF_XTRAZ) != 0))								{									if ((caps & CAPF_AIMFILE) != 0) // TODO: add more									client = CLI_ICQLITE5;									else client = CLI_ICQLITE4;								}							}							else if (((caps & CAPF_IsICQLITE) != 0) && ((caps & CAPF_HTMLMESSAGES) != 0))								{									client = CLI_ICQ6;								}							else if ((caps & CAPF_UIM) != 0) client = CLI_UIM;							else client = CLI_AGILE;						}						break;					}					if (client != CLI_NONE) break;				}				if ((caps & CAPF_MACICQ) != 0)				{					client = CLI_MACICQ;					break;				}				if (((caps & CAPF_AIMCHAT) != 0) && ((caps & CAPF_IsICQLITE) == 0))				{					client = CLI_AIM;					break;				}				if ((dwFP1 & 0xFF7F0000) == 0x7D000000)				{					client = CLI_LICQ;					int ver = dwFP1 & 0xFFFF;					if (ver % 10 != 0)					{						szVersion = ver / 1000 + "." + (ver / 10) % 100 + "." + ver % 10;					}					else					{						szVersion = ver / 1000 + "." + (ver / 10) % 100;					}					break;				}				switch (dwFP1)				{				case 0x7FFFFFFF:					if ((caps & CAPF_MIRANDAIM) != 0)					{						client = CLI_MIRANDA;						szVersion = "IM: " + szVersion + " ICQ: " +((dwFP2 >> 24) & 0x7F) + "." + ((dwFP2 >> 16) & 0xFF) + "." + ((dwFP2 >> 8) & 0xFF) + "." + (dwFP2 & 0xFF);					}					break;				case 0xFFFFFFFF:					if ((dwFP3 == 0xFFFFFFFF) && (dwFP2 == 0xFFFFFFFF))					{						client = CLI_GAIM;						break;					}					if ((dwFP2 == 0) && (dwFP3 != 0xFFFFFFFF))					{						if (wVersion == 7)						{							client = CLI_WEBICQ;							break;						}						if ((dwFP3 == 0x3B7248ED) && ((caps & CAPF_UTF8_INTERNAL) == 0) && ((caps & CAPF_RICHTEXT) == 0))						{							client = CLI_SPAM;							break;						}					}					client = CLI_MIRANDA;					szVersion = ((dwFP2 >> 24) & 0x7F) + "." + ((dwFP2 >> 16) & 0xFF) + "." + ((dwFP2 >> 8) & 0xFF) + "." + (dwFP2 & 0xFF);					break;				case 0xFFFFFFFE:					if (dwFP3 == dwFP1)					{						client = CLI_JIMM;					}					break;				case 0xFFFFFF8F:					client = CLI_STRICQ;					break;				case 0xFFFFFF42:					client = CLI_MICQ;					break;				case 0xFFFFFFBE:					client = CLI_ALICQ;					break;				case 0xFFFFFF7F:					client = CLI_ANDRQ;					szVersion = ((dwFP2 >> 24) & 0xFF) + "." + ((dwFP2 >> 16) & 0xFF) + "." + ((dwFP2 >> 8) & 0xFF) + "." + (dwFP2 & 0xFF);					break;				case 0xFFFFFFAB:					client = CLI_YSM;					break;				case 0x04031980:					client = CLI_VICQ;					break;				case 0x3AA773EE:					if ((dwFP2 == 0x3AA66380) && (dwFP3 == 0x3A877A42))					{						if (wVersion == 7)						{							if (((caps & CAPF_AIM_SERVERRELAY) != 0) && ((caps & CAPF_DIRECT) != 0))							{								if ((caps & CAPF_RICHTEXT) != 0)								{									client = CLI_CENTERICQ;									break;								}								client = CLI_LIBICQJABBER;							}						}						client = CLI_LIBICQ2000;					}					break;				case 0x3b75ac09:					client = CLI_TRILLIAN;					break;				case 0x3BA8DBAF: // FP2: 0x3BEB5373; FP3: 0x3BEB5262;					if (wVersion == 2) client = CLI_STICQ;					break;				case 0x3FF19BEB:					if ((wVersion == 8) && (dwFP1 == dwFP3)) //FP2: 0x3FEC05EB; FP3: 0x3FF19BEB;					client = CLI_IM2;					break;				case 0x4201F414:					if (((dwFP2 & dwFP3) == dwFP1) && (wVersion == 8)) client = CLI_SPAM;					break;									case 0xFFFFF666:					client = CLI_RANDQ;	                szVersion = Integer.toString(dwFP2);	                break;				}				if (client != CLI_NONE) break;				if ((dwFP1 != 0) && (dwFP1 == dwFP3) && (dwFP3 == dwFP2) && (caps == 0))				{					client = CLI_VICQ;					break;				}				if (((caps & CAPF_AIM_SERVERRELAY) != 0) && ((caps & CAPF_DIRECT) != 0) && ((caps & CAPF_UTF8_INTERNAL) != 0)						&& ((caps & CAPF_RICHTEXT) != 0))

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -