📄 evadefines.h
字号:
/*************************************************************************** * Copyright (C) 2004 by yunfan * * yunfan_zg@163.com * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation; either version 2 of the License, or * * (at your option) any later version. * * * * This program is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * GNU General Public License for more details. * * * * You should have received a copy of the GNU General Public License * * along with this program; if not, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #ifndef LIBEVADEFINES_H#define LIBEVADEFINES_H/** add a type define for uint in case that some platform dose not has type uint */typedef unsigned int uint;/** Visual Studio .NET 2002/2003 Additional Definitions */#ifdef WIN32#pragma warning(disable: 4309 4800)typedef unsigned char uint8_t;#include <malloc.h>#endif/** * define all constants for eva use *//** the unknown part in login request appended data, after this, all 0x00s*/static const unsigned char login_appended_2_72[71]= { 0x01, 0x2e, 0x2c, 0x69, 0xb4, 0x00, 0x10, 0x6b, 0xc3, 0xe9, 0x92, 0xc3, 0x50, 0x7a, 0x3a, 0x77, 0x4d, 0xad, 0x69 , 0x0c, 0x04, 0xc3, 0x5f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xc5, 0x17, 0xea, 0x05, 0x00, 0x10, 0x5d, 0xef, 0x8a, 0xfe, 0xe6, 0x10, 0x37, 0xf8, 0xff, 0xcc, 0x52, 0x58, 0x62, 0x42, 0xa0, 0x91 };/** eva, URL of applying free qq acount */static const char QQ_APPLY_FREE_ACOUNT_URL[] = "http://jump.qq.com/clienturl_239?ADUIN=0&ADSESSION=0&ADTAG=CLIENT.QQ.1595_LoginWindow.0";static const char QQ_FORGET_PASSWORD_URL[] = "http://dna.qq.com/cgi-bin/console_forgetPW?reLogin=true&ADUIN=0&ADSESSION=0&ADTAG=CLIENT.QQ.1595_LoginWindow.0";static const char QQ_FORGET_PW_URL[] = "http://service.tencent.com/reg/getpassword.shtml?ADUIN=0&ADSESSION=0&ADTAG=CLIENT.QQ.1595_LoginWindow.0";static const char QQ_PW_PROTECT_URL[] = "http://jump.qq.com/clienturl_8?source=8&ADUIN=0&ADSESSION=0&ADTAG=CLIENT.QQ.1595_LoginWindow.0";/// all version numbers takes 2 bytes( short)/** client GB QQ2000c build 630 */#define QQ_CLIENT_062E = 0x062E/** client En QQ2000c build 305 */#define QQ_CLIENT_072E 0x072E/** client En QQ2000c build 630 */#define QQ_CLIENT_0801 0x0801/** client Gb QQ2003c build 0808 */#define QQ_CLIENT_0A1D 0x0A1D/** client Gb QQ2003c build 0925 */#define QQ_CLIENT_0B07 0x0B07/** client GB QQ2003iii build 0117 */#define QQ_CLIENT_0B2F 0x0B2F/** GB QQ2003iii build 0304 (offical release) */#define QQ_CLIENT_0B35 0x0B35/** QQ20003 */#define QQ_CLIENT_0B37 0x0B37/** QQ2004 */#define QQ_CLIENT_0C0B 0x0C0B/** QQ2004 preview*/#define QQ_CLIENT_0C0D 0x0C0D/** QQ2004 */#define QQ_CLIENT_0C21 0x0C21/** QQ2004II */#define QQ_CLIENT_0C49 0x0C49/** QQ2005 beta1 */#define QQ_CLIENT_0D05 0x0D05/** QQ2005 beta2 */#define QQ_CLIENT_0D51 0x0D51/** QQ2005 */#define QQ_CLIENT_0D61 0x0D61/** QQ2005 ? */#define QQ_CLIENT_0E1B 0x0E1B/** ? */#define QQ_CLIENT_05A5 0x05A5/** QQ2006 Spring Festival */#define QQ_CLIENT_05F1 0x0F15/** QQ2006 Beta 3 */#define QQ_CLIENT_0F4B 0x0F4B#define QQ_LOGIN_DATA_0F4B_LENGTH 456#define QQ_LOGIN_RESERVE_0F4B_LENGTH 0x13#define QQ_LOGIN_APPEND_0F4B_LENGTH 0x0140/** QQ2006 standard */#define QQ_CLIENT_0F5F 0x0F5F#define QQ_LOGIN_DATA_0F5F_LENGTH 449#define QQ_LOGIN_RESERVE_0F5F_LENGTH 0x13#define QQ_LOGIN_APPEND_0F5F_LENGTH 0x0140/** a random key used for login request packet Bring Good luck to anyone who uses Eva, that's what 66 means. :)*/static const unsigned char QQ_Client_Key[16] = { 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, }; static const unsigned char QQ_Hash_0F4B[16] = { 0x3f, 0xf2, 0x31, 0x72, 0x30, 0xc8, 0x95, 0x7d, 0xd8, 0x6a, 0x49, 0x0d, 0xf9, 0x8e, 0x44, 0xea };static const unsigned char QQ_Hash_0F5F[16] = { 0x41, 0xd1, 0x18, 0xac, 0x14, 0x78, 0x58, 0xf1, 0xd0, 0x81, 0x4d, 0x7d, 0x7d, 0x7b, 0xd9, 0x1f };static const unsigned char Computer_UUID_0F4B[16] = { 0x88, 0xef, 0x95, 0xa6 , 0xd4, 0x04, 0xeb, 0x49, 0x9f, 0x56, 0xb5, 0x5f , 0x2e, 0x3d, 0xac, 0x6a };static const unsigned char Computer_UUID_0F5F[16] = { 0x00, 0xe3, 0xae, 0x4c, 0xd4, 0xff, 0x4b, 0x88, 0x42, 0xb5, 0x66, 0xc5, 0x3a, 0x0d, 0xb6, 0x6f };/** QQ server number*/#define QQ_SERVER_0100 0x0100/** QQ Token server number*/#define QQ_SERVER_0000 0x0000/** default client version*/#define QQ_CLIENT_VERSION QQ_CLIENT_0F5F/** default qq.exe md5 hash code */#define QQ_Hash QQ_Hash_0F5F/** default computer UUID */#define Computer_UUID Computer_UUID_0F5F/** default qq reserved length for login request */#define QQ_LOGIN_RESERVED_LENGTH QQ_LOGIN_RESERVE_0F5F_LENGTH/** QQ login data length */#define QQ_LOGIN_DATA_OLD_LENGTH 416/** QQ default login request packet length */#define QQ_LOGIN_DATA_LENGTH QQ_LOGIN_DATA_0F5F_LENGTH/** QQ default login request last trunck */#define QQ_LOGIN_APPEND_LENGTH QQ_LOGIN_APPEND_0F5F_LENGTH/** qq header tag, unsigned char ( 1 byte) */#define QQ_PACKET_TAG 0x02/** QQ tail byte*/#define QQ_PACKET_TAIL 0x03/** eva system message types, unsigned short ( 2 bytes) */#define SYSTEM_MESSAGE_NORMAL 0x0001/** udp */#define QQ_LOGIN_UDP 0/** tcp */#define QQ_LOGIN_TCP 1/** QQ UDP packet header length*/#define QQ_UDP_HEADER_LENGTH 7/** QQ TCP packet header length */#define QQ_TCP_HEADER_LENGTH 9/** QQ packet tail length*/#define QQ_TAIL_LENGTH 1/** the number of send times*/ #define QQ_ACK_PACKET_SEND_TIME 4/** QQ packet maximum size*/#define MAX_PACKET_SIZE 65535/** the maximum bytes to send at once*/#define MAX_SEND_IM_SIZE 400/** QQ key length*/#define QQ_KEY_LENGTH 16/** QQ default encoding, short ( 2 bytes) */#define QQ_IM_ENCODING_GB 0x8602/** packet queue time out */#define QQ_SENDQUEUE_TIMEOUT 5000/** the times of maximum re-send a packet */#define QQ_RESEND_MAX 5/** Keep Alive time interval unit: ms */#define QQ_KEEP_ALIVE_INTERVAL 60000#define QQ_MAX_GROUP_NAME_BYTE 16#define QQ_NAME_LENGTH_MAX 250#define QQ_MSG_IM_MAX 1500#define QQ_CONTACT_FIELDS 37#define QQ_MEMO_FIELDS 7/// unsigned char ( 1 bytes)#define QQ_LOGIN_MODE_NORMAL 0x0A#define QQ_LOGIN_MODE_INVISIBLE 0x28#define QQ_FRIEND_GENDER_GG 0x00#define QQ_FRIEND_GENDER_MM 0x01#define QQ_FRIEND_GENDER_UNKNOWN 0xFF#define QQ_FRIEND_FLAG_QQ_MEMBER 0x01#define QQ_FRIEND_FLAG_MOBILE 0x10#define QQ_FRIEND_FLAG_BIND_MOBILE 0x20// should we change the status into Hex expression?#define QQ_FRIEND_STATUS_ONLINE 10#define QQ_FRIEND_STATUS_OFFLINE 20#define QQ_FRIEND_STATUS_LEAVE 30#define QQ_FRIEND_STATUS_INVISIBLE 40// int ( 4 bytes)#define QQ_MISC_STATUS_HAVING_VIDEO 0x00000001/// unsigned char ( 1 bytes)#define QQ_REQUEST_LOGIN_TOKEN_REPLY_OK 0x00#define QQ_LOGIN_REPLY_OK 0x00#define QQ_LOGIN_REPLY_REDIRECT 0x01#define QQ_LOGIN_REPLY_PWD_ERROR 0x05#define QQ_LOGIN_REPLY_NEED_REACTIVATE 0x06#define QQ_LOGIN_REPLY_REDIRECT_EX 0x0A// eva defines this#define QQ_LOGIN_REPLY_MISC_ERROR 0xFF#define QQ_UPLOAD_GROUP_FRIEND_OK 0x00#define QQ_UPLOAD_FRIEND_REMARK_OK 0x00#define QQ_CHANGE_STATUS_REPLY_OK 0x30#define QQ_SEND_IM_REPLY_OK 0x00#define QQ_ADD_FRIEND_AUTH_REPLY_OK 0x30#define QQ_DELETE_FRIEND_REPLY_OK 0x00#define QQ_DELETE_ME_REPLY_OK 0x00#define QQ_REQUEST_KEY_REPLY_OK 0x00// unsigned short#define QQ_FRIEND_LIST_POSITION_START 0x0000#define QQ_FRIEND_LIST_POSITION_END 0xFFFF// unsigned char#define QQ_FRIEND_ONLINE_LIST_POSITION_START 0x00#define QQ_FRIEND_ONLINE_LIST_POSITION_END 0xFF#define QQ_FRIEND_LIST_UNSORTED 0x00#define QQ_FRIEND_LIST_SORTED 0x01/* QQ commands, unsigned short( 2 bytes) */#define QQ_CMD_LOGOUT 0x0001#define QQ_CMD_KEEP_ALIVE 0x0002#define QQ_CMD_MODIFY_INFO 0x0004#define QQ_CMD_SEARCH_USER 0x0005
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -