Coding的痕迹

一位互联网奔跑者的网上日记

0%

(原)极域电子教室V6 2007通信协议解析(二)

在教师端软件右方的窗口发送消息时,程序会向 班级组播地址(225.2.x.x)发送以下结构的数据包:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
typedef struct MseeagePacket
{
char flag[4]; // "MESS"
BYTE unknow1; // 值: 0x01
BYTE null1[7]; // 空的
BYTE messagelen; // 从下一个字节起到消息数据最后一个字节的偏移,将它减12就是消息长度
BYTE null2[4]; // 空
BYTE unknow2; // 值: 0x08,不变,可能是从本字节起到下一个数据的偏移,在值为0x02的时候弹出exchange
//对话框,不解
BYTE null3[6]; // 空
BYTE unknow3; // 值: 0x05(默认),即消息停留时间,在“其他设置”中设置
BYTE null4[3]; // 空
char message[];// 需要发送给学生端的数据
BYTE null5[2];
};
<!--more-->

例1:

4D 45 53 53 01 00 00 00 00 00 00 00 16 00 00 00 00 08 00 00 00 00 00 00 05
M E S S  . . . . . . .  . . . .  . . . . . . 
00 00 00 68 61 68 61 00 00
. . . h a h a . .

例2:

4D 45 53 53 01 00 00 00 00 00 00 00 20 00 00 00 00 08 00 00 00 00 00 00 05
M E S S . . . . . . . . . . . . . . . . . . . . 
00 00 00 41 72 65 20 79 6F 75 20 72 65 61 64 79 3F 00 00
. . . A r e y o u r e a d y ? . .