blob: 1c11ef9a8ee4f362edf27d5cf49612b590671b68 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
|
#include "common.h"
typedef struct
{
int Id;
uint Rank;
} ObjListInfos_S;
typedef struct
{
uint Family;
uint Id;
union
{
Memory_U Memory;
uchar Table[8]; /* Actually DOUBLE int */
uint Nbr;
Host Addr;
} Value;
ObjListInfos_S ObjListInfos;
} ObjectDesc;
typedef struct
{
ushort Cmd;
ushort PacketID;
ushort Reply2ID;
uint NbObj;
ObjectDesc *Objs;
} SResponse;
#define OBJ_FAMILY_NBR 0x00
#define OBJ_FAMILY_TABLE 0x01
#define OBJ_FAMILY_NETADDR 0x02
#define OBJ_FAMILY_STRING 0x03
#define OBJ_FAMILY_BLOB 0x04
#define OBJ_FAMILY_OBJLIST 0x05
#define OBJ_FAMILY_INTLIST 0x06
#define OBJ_ID_NODEID 0x0D
#define OBJ_ID_LPORT 0x10
#define OBJ_ID_UPTIME 0x01
#define OBJ_ID_STVL 0x23
#define OBJ_ID_2000 0x09
#define OBJ_ID_SK 0x08
#define OBJ_ID_ZBOOL1 0x0C
#define OBJ_ID_REQCODE 0x00
#define OBJ_ID_ZBOOL2 0x02
#define OBJ_ID_USERNAME 0x04
#define OBJ_ID_USERPASS 0x05
#define OBJ_ID_MODULUS 0x21
#define OBJ_ID_PLATFORM 0x31
#define OBJ_ID_LANG 0x36
#define OBJ_ID_VERSION 0x0D
#define OBJ_ID_PUBADDR 0x0E
#define OBJ_ID_MISCD 0x33
#define OBJ_ID_OAUTH 0x3D
#define OBJ_ID_PARTNERID 0x3E
#define OBJ_ID_STACKVER 0x0B
#define OBJ_ID_STACKTS 0x0C
#define OBJ_ID_PEERLPORT 0x10
#define OBJ_ID_PUBNETADDR 0x11
#define OBJ_ID_NBCONNECTED 0x09
#define OBJ_ID_LOGINANSWER 0x01
#define OBJ_ID_CIPHERDLOGD 0x24
#define OBJ_ID_LDUSER 0x00
#define OBJ_ID_LDEXPIRY 0x04
#define OBJ_ID_LDMODULUS 0x01
#define OBJ_ID_ESAUTHANSWR 0x0A
#define OBJ_ID_ESHASHLIST 0x35
#define OBJ_ID_HASH 0x32
#define OBJ_ID_DISPLAYNAME 0x34
#define OBJ_ID_UBLOB 0x33
#define OBJ_ID_INTERNALNAM 0x10
#define OBJ_ID_BUDDYSTATUS 0x79 // BUDDYSTATUS
#define OBJ_ID_AUTHCERT 0x03
#define OBJ_ID_USER2SEARCH 0x00
#define OBJ_ID_BCMID 0x00
#define OBJ_ID_BCMVER 0x01
#define OBJ_ID_SLOTID 0x00
#define OBJ_ID_SLOTNBSN 0x07
#define OBJ_ID_SLOTSNADDR 0x03
#define OBJ_ID_DIRBLOB 0x0B
#define OBJ_ID_CIRNAME 0x14 // FULLNAME
#define OBJ_ID_CILANG 0x24 // LANGUAGES
#define OBJ_ID_CICOUNTRY 0x28 // COUNTRY
#define OBJ_ID_CIREGION 0x2C // PROVINCE
#define OBJ_ID_CIVILLE 0x30 // CITY
#define OBJ_ID_CILOCATION 0x03
#define OBJ_ID_CIPSTN_BAL 0x12D // PSTN_BALANCE
#define OBJ_ID_CIPSTN_BALC 0x128 // PSTN_BALANCE_CURRENCY
#define OBJ_ID_CIBIRTHDAY 0x1D // BIRTHDAY
#define OBJ_ID_CIPHONE_H 0x34 // PHONE_HOME
#define OBJ_ID_CIPHONE_O 0x38 // PHONE_OFFICE
#define OBJ_ID_CIPHONE_M 0x3C // PHONE_MOBILE
#define OBJ_ID_CIHOMEPAGE 0x44 // HOMEPAGE
#define OBJ_ID_CIABOUT 0x48 // ABOUT
#define OBJ_ID_CIALIASES 0x60 // ALIASES
#define OBJ_ID_CIMOOD_TEXT 0x68 // MOOD_TEXT
#define OBJ_ID_CIRICH_MOOD 0x334 // RICH_MOOD_TEXT
#define OBJ_ID_CITIMEZONE 0x6D // TIMEZONE
#define OBJ_ID_AUTHEDBUDD 0x71 // NROF_AUTHED_BUDDIES
#define OBJ_ID_RCVDAUTHREQ 0x50 // RECEIVEDAUTHREQUEST
#define OBJ_ID_ISAUTHORIZD 0x5D // ISAUTHORIZED / ISBLOCKED
//#define OBJ_ID_DISPLAYNAME 0x84 // DISPLAYNAME
#define OBJ_ID_ONLINESTAT 0x89 // ONLINESTATUS
#define OBJ_ID_LASTONLINET 0x8D // LASTONLINETIMESTAMP
#define OBJ_ID_CISEX 0x21 // SEX (MALE=1, FEMALE=2, UNKNOWN=0)
#define OBJ_ID_FWTESTID 0x19
#define OBJ_ID_FWTESTER 0x11
#define OBJ_ID_PINGER 0x02
#define OBJ_ID_TESTED 0x02
#define OBJ_ID_TESTER 0x00
#define OBJ_ID_RELAY 0x08
#define OBJ_ID_SESPROPOSER 0x01
#define OBJ_ID_SESCHALLENG 0x09
#define OBJ_ID_SID2DEC 0x03
#define OBJ_ID_SOLVEDCHALL 0x0A
#define OBJ_ID_USRDBLOB 0x05
#define OBJ_ID_AESPART1 0x06
#define OBJ_ID_PEERLOGIN 0x00
#define OBJ_ID_PEERSESSID 0x03
#define OBJ_ID_GROUPID 0x269
#define OBJ_ID_GROUPNAME 0x25C
void WriteValue(uchar **BufferAddr, uint Value);
void WriteObject(uchar **Buffer, ObjectDesc Object);
int ManageObjects(uchar **Buffer, uint Size, SResponse *Response);
void FreeResponse(SResponse *Response);
|