From c2154c0d362ced8f8b5181799c369e1497c958e1 Mon Sep 17 00:00:00 2001 From: Dan Klein Date: Thu, 27 Aug 2015 10:58:01 +0300 Subject: reverting to dpkt v1.8.6 instead of 1.8.6.2 to avoid importing error of pystone modue --- scripts/external_libs/dpkt-1.8.6/dpkt/qq.py | 224 ++++++++++++++++++++++++++++ 1 file changed, 224 insertions(+) create mode 100644 scripts/external_libs/dpkt-1.8.6/dpkt/qq.py (limited to 'scripts/external_libs/dpkt-1.8.6/dpkt/qq.py') diff --git a/scripts/external_libs/dpkt-1.8.6/dpkt/qq.py b/scripts/external_libs/dpkt-1.8.6/dpkt/qq.py new file mode 100644 index 00000000..4720c69b --- /dev/null +++ b/scripts/external_libs/dpkt-1.8.6/dpkt/qq.py @@ -0,0 +1,224 @@ +# $Id: qq.py 48 2008-05-27 17:31:15Z yardley $ + +from dpkt import Packet + +# header_type +QQ_HEADER_BASIC_FAMILY = 0x02 +QQ_HEADER_P2P_FAMILY = 0x00 +QQ_HEADER_03_FAMILY = 0x03 +QQ_HEADER_04_FAMILY = 0x04 +QQ_HEADER_05_FAMILY = 0x05 + +header_type_str = [ + "QQ_HEADER_P2P_FAMILY", + "Unknown Type", + "QQ_HEADER_03_FAMILY", + "QQ_HEADER_04_FAMILY", + "QQ_HEADER_05_FAMILY", +] + +# command +QQ_CMD_LOGOUT = 0x0001 +QQ_CMD_KEEP_ALIVE = 0x0002 +QQ_CMD_MODIFY_INFO = 0x0004 +QQ_CMD_SEARCH_USER = 0x0005 +QQ_CMD_GET_USER_INFO = 0x0006 +QQ_CMD_ADD_FRIEND = 0x0009 +QQ_CMD_DELETE_FRIEND = 0x000A +QQ_CMD_ADD_FRIEND_AUTH = 0x000B +QQ_CMD_CHANGE_STATUS = 0x000D +QQ_CMD_ACK_SYS_MSG = 0x0012 +QQ_CMD_SEND_IM = 0x0016 +QQ_CMD_RECV_IM = 0x0017 +QQ_CMD_REMOVE_SELF = 0x001C +QQ_CMD_REQUEST_KEY = 0x001D +QQ_CMD_LOGIN = 0x0022 +QQ_CMD_GET_FRIEND_LIST = 0x0026 +QQ_CMD_GET_ONLINE_OP = 0x0027 +QQ_CMD_SEND_SMS = 0x002D +QQ_CMD_CLUSTER_CMD = 0x0030 +QQ_CMD_TEST = 0x0031 +QQ_CMD_GROUP_DATA_OP = 0x003C +QQ_CMD_UPLOAD_GROUP_FRIEND = 0x003D +QQ_CMD_FRIEND_DATA_OP = 0x003E +QQ_CMD_DOWNLOAD_GROUP_FRIEND = 0x0058 +QQ_CMD_FRIEND_LEVEL_OP = 0x005C +QQ_CMD_PRIVACY_DATA_OP = 0x005E +QQ_CMD_CLUSTER_DATA_OP = 0x005F +QQ_CMD_ADVANCED_SEARCH = 0x0061 +QQ_CMD_REQUEST_LOGIN_TOKEN = 0x0062 +QQ_CMD_USER_PROPERTY_OP = 0x0065 +QQ_CMD_TEMP_SESSION_OP = 0x0066 +QQ_CMD_SIGNATURE_OP = 0x0067 +QQ_CMD_RECV_MSG_SYS = 0x0080 +QQ_CMD_RECV_MSG_FRIEND_CHANGE_STATUS = 0x0081 +QQ_CMD_WEATHER_OP = 0x00A6 +QQ_CMD_ADD_FRIEND_EX = 0x00A7 +QQ_CMD_AUTHORIZE = 0X00A8 +QQ_CMD_UNKNOWN = 0xFFFF +QQ_SUB_CMD_SEARCH_ME_BY_QQ_ONLY = 0x03 +QQ_SUB_CMD_SHARE_GEOGRAPHY = 0x04 +QQ_SUB_CMD_GET_FRIEND_LEVEL = 0x02 +QQ_SUB_CMD_GET_CLUSTER_ONLINE_MEMBER = 0x01 +QQ_05_CMD_REQUEST_AGENT = 0x0021 +QQ_05_CMD_REQUEST_FACE = 0x0022 +QQ_05_CMD_TRANSFER = 0x0023 +QQ_05_CMD_REQUEST_BEGIN = 0x0026 +QQ_CLUSTER_CMD_CREATE_CLUSTER= 0x01 +QQ_CLUSTER_CMD_MODIFY_MEMBER= 0x02 +QQ_CLUSTER_CMD_MODIFY_CLUSTER_INFO= 0x03 +QQ_CLUSTER_CMD_GET_CLUSTER_INFO= 0x04 +QQ_CLUSTER_CMD_ACTIVATE_CLUSTER= 0x05 +QQ_CLUSTER_CMD_SEARCH_CLUSTER= 0x06 +QQ_CLUSTER_CMD_JOIN_CLUSTER= 0x07 +QQ_CLUSTER_CMD_JOIN_CLUSTER_AUTH= 0x08 +QQ_CLUSTER_CMD_EXIT_CLUSTER= 0x09 +QQ_CLUSTER_CMD_SEND_IM= 0x0A +QQ_CLUSTER_CMD_GET_ONLINE_MEMBER= 0x0B +QQ_CLUSTER_CMD_GET_MEMBER_INFO= 0x0C +QQ_CLUSTER_CMD_MODIFY_CARD = 0x0E +QQ_CLUSTER_CMD_GET_CARD_BATCH= 0x0F +QQ_CLUSTER_CMD_GET_CARD = 0x10 +QQ_CLUSTER_CMD_COMMIT_ORGANIZATION = 0x11 +QQ_CLUSTER_CMD_UPDATE_ORGANIZATION= 0x12 +QQ_CLUSTER_CMD_COMMIT_MEMBER_ORGANIZATION = 0x13 +QQ_CLUSTER_CMD_GET_VERSION_ID= 0x19 +QQ_CLUSTER_CMD_SEND_IM_EX = 0x1A +QQ_CLUSTER_CMD_SET_ROLE = 0x1B +QQ_CLUSTER_CMD_TRANSFER_ROLE = 0x1C +QQ_CLUSTER_CMD_CREATE_TEMP = 0x30 +QQ_CLUSTER_CMD_MODIFY_TEMP_MEMBER = 0x31 +QQ_CLUSTER_CMD_EXIT_TEMP = 0x32 +QQ_CLUSTER_CMD_GET_TEMP_INFO = 0x33 +QQ_CLUSTER_CMD_MODIFY_TEMP_INFO = 0x34 +QQ_CLUSTER_CMD_SEND_TEMP_IM = 0x35 +QQ_CLUSTER_CMD_SUB_CLUSTER_OP = 0x36 +QQ_CLUSTER_CMD_ACTIVATE_TEMP = 0x37 + +QQ_CLUSTER_SUB_CMD_ADD_MEMBER = 0x01 +QQ_CLUSTER_SUB_CMD_REMOVE_MEMBER = 0x02 +QQ_CLUSTER_SUB_CMD_GET_SUBJECT_LIST = 0x02 +QQ_CLUSTER_SUB_CMD_GET_DIALOG_LIST = 0x01 + +QQ_SUB_CMD_GET_ONLINE_FRIEND = 0x2 +QQ_SUB_CMD_GET_ONLINE_SERVICE = 0x3 +QQ_SUB_CMD_UPLOAD_GROUP_NAME = 0x2 +QQ_SUB_CMD_DOWNLOAD_GROUP_NAME = 0x1 +QQ_SUB_CMD_SEND_TEMP_SESSION_IM = 0x01 +QQ_SUB_CMD_BATCH_DOWNLOAD_FRIEND_REMARK = 0x0 +QQ_SUB_CMD_UPLOAD_FRIEND_REMARK = 0x1 +QQ_SUB_CMD_REMOVE_FRIEND_FROM_LIST = 0x2 +QQ_SUB_CMD_DOWNLOAD_FRIEND_REMARK = 0x3 +QQ_SUB_CMD_MODIFY_SIGNATURE = 0x01 +QQ_SUB_CMD_DELETE_SIGNATURE = 0x02 +QQ_SUB_CMD_GET_SIGNATURE = 0x03 +QQ_SUB_CMD_GET_USER_PROPERTY = 0x01 +QQ_SUB_CMD_GET_WEATHER = 0x01 + +QQ_FILE_CMD_HEART_BEAT = 0x0001 +QQ_FILE_CMD_HEART_BEAT_ACK = 0x0002 +QQ_FILE_CMD_TRANSFER_FINISHED = 0x0003 +QQ_FILE_CMD_FILE_OP = 0x0007 +QQ_FILE_CMD_FILE_OP_ACK = 0x0008 +QQ_FILE_CMD_SENDER_SAY_HELLO = 0x0031 +QQ_FILE_CMD_SENDER_SAY_HELLO_ACK = 0x0032 +QQ_FILE_CMD_RECEIVER_SAY_HELLO = 0x0033 +QQ_FILE_CMD_RECEIVER_SAY_HELLO_ACK = 0x0034 +QQ_FILE_CMD_NOTIFY_IP_ACK = 0x003C +QQ_FILE_CMD_PING = 0x003D +QQ_FILE_CMD_PONG = 0x003E +QQ_FILE_CMD_YES_I_AM_BEHIND_FIREWALL = 0x0040 +QQ_FILE_CMD_REQUEST_AGENT = 0x0001 +QQ_FILE_CMD_CHECK_IN = 0x0002 +QQ_FILE_CMD_FORWARD = 0x0003 +QQ_FILE_CMD_FORWARD_FINISHED = 0x0004 +QQ_FILE_CMD_IT_IS_TIME = 0x0005 +QQ_FILE_CMD_I_AM_READY = 0x0006 + +command_str = { + 0x0001: "QQ_CMD_LOGOUT", + 0x0002: "QQ_CMD_KEEP_ALIVE", + 0x0004: "QQ_CMD_MODIFY_INFO", + 0x0005: "QQ_CMD_SEARCH_USER", + 0x0006: "QQ_CMD_GET_USER_INFO", + 0x0009: "QQ_CMD_ADD_FRIEND", + 0x000A: "QQ_CMD_DELETE_FRIEND", + 0x000B: "QQ_CMD_ADD_FRIEND_AUTH", + 0x000D: "QQ_CMD_CHANGE_STATUS", + 0x0012: "QQ_CMD_ACK_SYS_MSG", + 0x0016: "QQ_CMD_SEND_IM", + 0x0017: "QQ_CMD_RECV_IM", + 0x001C: "QQ_CMD_REMOVE_SELF", + 0x001D: "QQ_CMD_REQUEST_KEY", + 0x0022: "QQ_CMD_LOGIN", + 0x0026: "QQ_CMD_GET_FRIEND_LIST", + 0x0027: "QQ_CMD_GET_ONLINE_OP", + 0x002D: "QQ_CMD_SEND_SMS", + 0x0030: "QQ_CMD_CLUSTER_CMD", + 0x0031: "QQ_CMD_TEST", + 0x003C: "QQ_CMD_GROUP_DATA_OP", + 0x003D: "QQ_CMD_UPLOAD_GROUP_FRIEND", + 0x003E: "QQ_CMD_FRIEND_DATA_OP", + 0x0058: "QQ_CMD_DOWNLOAD_GROUP_FRIEND", + 0x005C: "QQ_CMD_FRIEND_LEVEL_OP", + 0x005E: "QQ_CMD_PRIVACY_DATA_OP", + 0x005F: "QQ_CMD_CLUSTER_DATA_OP", + 0x0061: "QQ_CMD_ADVANCED_SEARCH", + 0x0062: "QQ_CMD_REQUEST_LOGIN_TOKEN", + 0x0065: "QQ_CMD_USER_PROPERTY_OP", + 0x0066: "QQ_CMD_TEMP_SESSION_OP", + 0x0067: "QQ_CMD_SIGNATURE_OP", + 0x0080: "QQ_CMD_RECV_MSG_SYS", + 0x0081: "QQ_CMD_RECV_MSG_FRIEND_CHANGE_STATUS", + 0x00A6: "QQ_CMD_WEATHER_OP", + 0x00A7: "QQ_CMD_ADD_FRIEND_EX", + 0x00A8: "QQ_CMD_AUTHORIZE", + 0xFFFF: "QQ_CMD_UNKNOWN", + 0x0021: "_CMD_REQUEST_AGENT", + 0x0022: "_CMD_REQUEST_FACE", + 0x0023: "_CMD_TRANSFER", + 0x0026: "_CMD_REQUEST_BEGIN", +} + + +class QQBasicPacket(Packet): + __hdr__ = ( + ('header_type', 'B', 2), + ('source', 'H', 0), + ('command', 'H', 0), + ('sequence', 'H', 0), + ('qqNum', 'L', 0), + ) + + +class QQ3Packet(Packet): + __hdr__ = ( + ('header_type', 'B', 3), + ('command', 'B', 0), + ('sequence', 'H', 0), + ('unknown1', 'L', 0), + ('unknown2', 'L', 0), + ('unknown3', 'L', 0), + ('unknown4', 'L', 0), + ('unknown5', 'L', 0), + ('unknown6', 'L', 0), + ('unknown7', 'L', 0), + ('unknown8', 'L', 0), + ('unknown9', 'L', 0), + ('unknown10', 'B', 1), + ('unknown11', 'B', 0), + ('unknown12', 'B', 0), + ('source', 'H', 0), + ('unknown13', 'B', 0), + ) + + +class QQ5Packet(Packet): + __hdr__ = ( + ('header_type', 'B', 5), + ('source', 'H', 0), + ('unknown', 'H', 0), + ('command', 'H', 0), + ('sequence', 'H', 0), + ('qqNum', 'L', 0), + ) -- cgit 1.2.3-korg