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

📄 bnet_protocol.h

📁 打魔兽战网的都知道他是什么
💻 H
📖 第 1 页 / 共 5 页
字号:
/******************************************************//******************************************************//*later replaced by progident2 and the authreq packets                          FF 06 14 00 36 38 58 49            ....68XI50 58 45 53 BB 00 00 00   00 00 00 00                PXES........sent by 1.05 StarcraftFF 06 14 00 36 38 58 49   52 41 54 53 BD 00 00 00    ....68XIRATS....00 00 00 00                                          ....Diablo II 1.03      FF 06 14 00 36 38   58 49 56 44 32 44 03 00      ....68XIVD2D.. 00 00 00 00 00 00                                    ......*/#define CLIENT_PROGIDENT 0x06fftypedef struct{    t_bnet_header h;    bn_int        archtag;    bn_int        clienttag; /* see tag.h */    bn_int        versionid; /* FIXME: how does the versionid work? */    bn_int        unknown1;  /* FIXME: always zero? spawn flag? */} PACKED_ATTR() t_client_progident;/******************************************************//******************************************************//*These formulas are for authenticating the client version.                          FF 06 5A 00 00 86 BA E3            ..Z.....09 28 BC 01 49 58 38 36   76 65 72 32 2E 6D 70 71    .(..IX86ver2.mpq00 41 3D 32 30 31 39 34   39 38 38 39 39 20 42 3D    .A=2019498899 B=33 34 32 33 32 39 32 33   39 34 20 43 3D 31 37 31    3423292394 C=17139 30 31 31 32 32 32 20   34 20 41 3D 41 5E 53 20    9011222 4 A=A^S42 3D 42 2D 43 20 43 3D   43 5E 41 20 41 3D 41 5E    B=B-C C=C^A A=A^42 00                                                B.FF 06 59 00 00 C1 12 EC   09 28 BC 01 49 58 38 36    ..Y......(..IX8676 65 72 35 2E 6D 70 71   00 41 3D 31 38 37 35 35    ver5.mpq.A=1875539 31 33 34 31 20 42 3D   32 34 39 31 30 39 39 38    91341 B=2491099830 39 20 43 3D 36 33 34   38 35 36 36 30 34 20 34    09 C=634856604 420 41 3D 41 2D 53 20 42   3D 42 5E 43 20 43 3D 43     A=A-S B=B^C C=C2B 41 20 41 3D 41 5E 42   00                         +A A=A^B.FF 06 5A 00 00 C1 12 EC   09 28 BC 01 49 58 38 36    ..Z......(..IX8676 65 72 35 2E 6D 70 71   00 41 3D 31 37 31 32 39    ver5.mpq.A=1712934 38 34 32 36 20 42 3D   33 36 30 30 30 33 30 36    48426 B=3600030630 37 20 43 3D 33 33 39   30 34 31 37 39 35 39 20    07 C=3390417959 34 20 41 3D 41 2D 53 20   42 3D 42 5E 43 20 43 3D    4 A=A-S B=B^C C=43 2D 41 20 41 3D 41 2D   42 00                      C-A A=A-B.FF 06 5A 00 00 3A 7F E8   09 28 BC 01 49 58 38 36    ..Z..:...(..IX8676 65 72 34 2E 6D 70 71   00 41 3D 31 31 38 36 39    ver4.mpq.A=1186935 38 31 34 31 20 42 3D   31 33 37 37 34 34 31 34    58141 B=1377441435 37 20 43 3D 31 37 37   32 37 38 37 37 30 35 20    57 C=177278770534 20 41 3D 41 5E 53 20   42 3D 42 5E 43 20 43 3D    4 A=A^S B=B^C C=43 2B 41 20 41 3D 41 5E   42 00                      C+A A=A^B.FF 06 5A 00 00 56 CD F6   09 28 BC 01 49 58 38 36    ..Z..V...(..IX8676 65 72 37 2E 6D 70 71   00 41 3D 31 30 32 36 30    ver7.mpq.A=1026034 34 33 35 34 20 42 3D   34 31 33 32 36 33 30 37    44354 B=4132630731 31 20 43 3D 32 33 30   32 34 31 31 33 32 38 20    11 C=230241132834 20 41 3D 41 5E 53 20   42 3D 42 5E 43 20 43 3D    4 A=A^S B=B^C C=43 5E 41 20 41 3D 41 2B   42 00                      C^A A=A+B.*/#define SERVER_AUTHREQ1 0x06fftypedef struct{    t_bnet_header h;    bn_long       timestamp; /* FIXME: file modification time? */    /* versioncheck filename */    /* equation */} PACKED_ATTR() t_server_authreq1;/******************************************************//******************************************************//*  First seen in Diablo II (and LoD) 1.09FF 50 65 00 00 00 00 00   36 1A 6C 45 76 BC 00 00    .Pe.....6.lEv...00 48 A6 EF 09 28 BC 01   49 58 38 36 76 65 72 36    .H...(..IX86ver62E 6D 70 71 00 41 3D 33   38 34 35 35 38 31 36 33    .mpq.A=38455816334 20 42 3D 38 38 30 38   32 33 35 38 30 20 43 3D    4 B=880823580 C=31 33 36 33 39 33 37 31   30 33 20 34 20 41 3D 41    1363937103 4 A=A2D 53 20 42 3D 42 2D 43   20 43 3D 43 2D 41 20 41    -S B=B-C C=C-A A3D 41 2D 42 00                                       =A-B.                          FF 50 65 00 00 00 00 00            .Pe.....30 4B C1 33 10 EB 09 00   00 A5 C4 DD 09 28 BC 01    0K.3.........(..49 58 38 36 76 65 72 30   2E 6D 70 71 00 41 3D 31    IX86ver0.mpq.A=134 33 32 36 36 32 34 37   38 20 42 3D 36 35 32 32    432662478 B=652237 38 36 32 35 20 43 3D   31 37 36 31 35 31 35 38    78625 C=1761515836 39 20 34 20 41 3D 41   5E 53 20 42 3D 42 2B 43    69 4 A=A^S B=B+C20 43 3D 43 2B 41 20 41   3D 41 5E 42 00              C=C+A A=A^B.   */#define SERVER_AUTHREQ_109 0x50fftypedef struct{    t_bnet_header h;    bn_int        logontype;  /* 00 00 00 00 always zero */    bn_int        sessionkey;    bn_int        sessionnum;    bn_long       timestamp;    /* versioncheck filename */    /* equation */} PACKED_ATTR() t_server_authreq_109;#define SERVER_AUTHREQ_109_LOGONTYPE 		0x0000000#define SERVER_AUTHREQ_109_LOGONTYPE_W3 	0x00000002#define SERVER_AUTHREQ_109_LOGONTYPE_W3XP 	0x00000002/******************************************************//* ADDED BY UNDYING SOULZZ 4/3/02 */#define VERSIONTAG_WARCRAFT3_113	"WAR3_113"/******************************************************//*FF 07 40 00 36 38 58 49   52 41 54 53 BD 00 00 00    ..@.68XIRATS....00 05 00 01 1E 88 D7 08   73 74 61 72 63 72 61 66    ........starcraf74 2E 65 78 65 20 30 33   2F 30 38 2F 39 39 20 32    t.exe 03/08/99 232 3A 34 31 3A 35 30 20   31 30 34 32 34 33 32 00    2:41:50 1042432.sent by the 1.05 StarcraftFF 07 40 00 36 38 58 49   52 41 54 53 BD 00 00 00    ..@.68XIRATS....00 05 00 01 AE AC DE 87   73 74 61 72 63 72 61 66    ........starcraf74 2E 65 78 65 20 30 33   2F 30 38 2F 39 39 20 32    t.exe 03/08/99 232 3A 34 31 3A 35 30 20   31 30 34 32 34 33 32 00    2:41:50 1042432.sent by the 1.08alpha Brood War (Starcraft game) in response toA=2521522835 B=3428392135 C=218673704 4 A=A^S B=B-C C=C+A A=A-Bwith IX86ver1.mpqFF 07 40 00 36 38 58 49   52 41 54 53 C3 00 00 00    ..@.68XIRATS....01 08 00 01 A1 52 CE FE   73 74 61 72 63 72 61 66    .....R..starcraf74 2E 65 78 65 20 31 32   2F 32 38 2F 30 30 20 31    t.exe 12/28/00 131 3A 32 38 3A 35 32 20   31 30 38 32 33 36 38 00    1:28:52 1082368.sent by the 1.07 DiabloFF 07 3C 00 36 38 58 49   4C 54 52 44 26 00 00 00    ..<.68XILTRD&...01 06 05 62 8C 56 E6 21   64 69 61 62 6C 6F 2E 65    ...b.V.!diablo.e78 65 20 30 39 2F 31 37   2F 39 38 20 31 38 3A 30    xe 09/17/98 18:030 3A 34 30 20 37 36 30   33 32 30 00                0:40 760320.FF 07 45 00 36 38 58 49   4E 42 32 57 4B 00 00 00    ..E.68XINB2WK...99 00 00 02 3D 51 C4 AA   57 61 72 63 72 61 66 74    ....=Q..Warcraft20 49 49 20 42 4E 45 2E   65 78 65 20 31 30 2F 31     II BNE.exe 10/135 2F 39 39 20 30 30 3A   33 37 3A 35 34 20 37 30    5/99 00:37:54 7034 35 31 32 00                                       4512.           sent by the 1.03 Diablo II                          FF 07 3A 00 36 38 58 49            ..:.68XI56 44 32 44 03 00 00 00   00 03 00 01 47 3E 26 73    VD2D........G>&s47 61 6D 65 2E 65 78 65   20 30 38 2F 30 35 2F 30    Game.exe 08/05/030 20 30 31 3A 34 32 3A   32 38 20 32 39 34 39 31    0 01:42:28 2949132 00                                                2.*/#define CLIENT_AUTHREQ1 0x07fftypedef struct{    t_bnet_header h;    bn_int        archtag;    bn_int        clienttag;    bn_int        versionid;    bn_int        gameversion;    bn_int        checksum;    /* executable info */} PACKED_ATTR() t_client_authreq1;/******************************************************//******************************************************//*                          FF 07 0A 00 02 00 00 00            ........00 00                                                ..FF 07 0A 00 02 00 00 00   00 00                      ..........*/#define SERVER_AUTHREPLY1 0x07fftypedef struct{    t_bnet_header h;    bn_int        message;    /* filename */    /* unknown */} PACKED_ATTR() t_server_authreply1;#define SERVER_AUTHREPLY1_MESSAGE_BADVERSION  0x00000000#define SERVER_AUTHREPLY1_MESSAGE_UPDATE      0x00000001 /* initiate auto-update */#define SERVER_AUTHREPLY1_MESSAGE_OK          0x00000002/* anything other than these is considered to be ok *//* Hmm... Blizzard messed up and changed the meanings of the flags in LoD 108. * they seem to be moving to "zero is success" so they can have multiple error * messages.  109 fixes it because they introduced new packets to replace * these. */#define SERVER_AUTHREPLY1_D2XP_MESSAGE_OK         0x00000001#define SERVER_AUTHREPLY1_D2XP_MESSAGE_BADVERSION 0x00000000 /* Battle.net is unable to properly identify you application version. */#define SERVER_AUTHREPLY1_D2XP_MESSAGE_UPDATE     0x00000000 /* FIXME: there doesn't seem to be an update reply... should we send a different packet or should we be appending a string to this reply or .... */#define SERVER_AUTHREPLY1_D2XP_MESSAGE_BADKEY     0x00000002 /* This application was installed with a CD key which is not authorized Battle.net use. *//* anything 3 and higher seems to be considered the same as BADVERSION *//******************************************************//******************************************************//*  First seen in Diablo II (and LoD) 1.09FF 51 09 00 00 00 00 00   00                         .Q.......       */#define SERVER_AUTHREPLY_109 0x51fftypedef struct{    t_bnet_header h;    bn_int        message;    /* message string? */} PACKED_ATTR() t_server_authreply_109;#define SERVER_AUTHREPLY_109_MESSAGE_OK         0x00000000#define SERVER_AUTHREPLY_109_MESSAGE_UPDATE     0x00000100#define SERVER_AUTHREPLY_109_MESSAGE_BADVERSION 0x00000101/* we should check the first 10 values or so to see what they mean *//******************************************************//******************************************************//*  First seen in Diablo II (and LoD) 1.09FF 51 67 00 C9 88 DA 42   00 09 00 01 46 97 62 9A    .Qg....B....F.b.01 00 00 00 00 00 00 00   10 00 00 00 06 00 00 00    ................A5 E7 39 00 00 00 00 00   ED CD 4F F7 6A 7A 4F 96    ..9.......O.jzO.85 7A 2D A2 7F 1F B1 D6   81 B3 8D 50 47 61 6D 65    .z-........PGame2E 65 78 65 20 30 38 2F   31 36 2F 30 31 20 32 33    .exe 08/16/01 233A 30 34 3A 34 30 20 34   32 34 30 36 37 00 74 73    :04:40 424067.ts69 6E 67 68 75 61 00                                 inghua.         */#define CLIENT_AUTHREQ_109 0x51fftypedef struct{    t_bnet_header h;    bn_int        ticks;    bn_int        gameversion;    bn_int        checksum;    bn_int        cdkey_number; /* count of cdkeys, d2 = 1, lod = 2 */    bn_int        spawn; 	/* set if using spawn copy */    /* cdkey info(s) */    /* executable info */    /* cdkey owner */} PACKED_ATTR() t_client_authreq_109;/* values are the same as in CLIENT_AUTHREQ1 */typedef struct{    bn_int len;    bn_int type;    bn_int checksum;    bn_int u1;    bn_int hash[5];} PACKED_ATTR() t_cdkey_info;/******************************************************//******************************************************//* Batle.net used to send requests for registry and email info.   Thanks to bnetanon, I have a dump of these old packets.*//*FF 18 41 00 00 00 00 00   01 00 00 80 53 6F 66 74    ..A.........Soft77 61 72 65 5C 4D 69 63   72 6F 73 6F 66 74 5C 4D    ware\Microsoft\M53 20 53 65 74 75 70 20   28 41 43 4D 45 29 5C 55    S Setup (ACME)\U73 65 72 20 49 6E 66 6F   00 44 65 66 4E 61 6D 65    ser Info.DefName00                                                   .FF 18 48 00 00 00 00 00   01 00 00 80 53 6F 66 74    ..H.........Soft77 61 72 65 5C 4D 69 63   72 6F 73 6F 66 74 5C 4D    ware\Microsoft\M65 64 69 61 50 6C 61 79   65 72 5C 43 6F 6E 74 72    ediaPlayer\Contr6F 6C 5C 50 6C 61 79 42   61 72 00 43 6C 72 42 61    ol\PlayBar.ClrBa63 6B 43 6F 6C 6F 72 00                              ckColor.*/#define SERVER_REGSNOOPREQ 0x18fftypedef struct{    t_bnet_header h;    bn_int        unknown1; /* 00 00 00 00 */ /* sequence match like in other packets? */    bn_int        hkey;    /* registry key */    /* value name */} PACKED_ATTR() t_server_regsnoopreq;#define SERVER_REGSNOOPREQ_UNKNOWN1 0x00000000#define SERVER_REGSNOOPREQ_HKEY_CLASSES_ROOT        0x80000000#define SERVER_REGSNOOPREQ_HKEY_CURRENT_USER        0x80000001#define SERVER_REGSNOOPREQ_HKEY_LOCAL_MACHINE       0x80000002#define SERVER_REGSNOOPREQ_HKEY_USERS               0x80000003#define SERVER_REGSNOOPREQ_HKEY_PERFORMANCE_DATA    0x80000004#define SERVER_REGSNOOPREQ_HKEY_CURRENT_CONFIG      0x80000005#define SERVER_REGSNOOPREQ_HKEY_DYN_DATA            0x80000006#define SERVER_REGSNOOPREQ_HKEY_PERFORMANCE_TEXT    0x80000050#define SERVER_REGSNOOPREQ_HKEY_PERFORMANCE_NLSTEXT 0x80000060#define SERVER_REGSNOOPREQ_REGKEY "Software\\Microsoft\\MS Setup (ACME)\\User Info"#define SERVER_REGSNOOPREQ_REGVALNAME "DefName"/******************************************************//******************************************************//* If the key exists, the client send this back *//*FF 18 0C 00 00 00 00 00   42 6F 62 00                ........Bob.FF 18 0C 00 00 00 00 00   A0 9C A0 00                ............*/#define CLIENT_REGSNOOPREPLY 0x18fftypedef struct{    t_bnet_header h;    bn_int        unknown1; /* 00 00 00 00 */ /* same as request? */    /* registry value (string, dword, or binary */} PACKED_ATTR() t_client_regsnoopreply;/******************************************************//******************************************************//*FF 07 0A 00 02 00 00 00   00 00                      ..........*/#define CLIENT_ICONREQ 0x2dfftypedef struct{    t_bnet_header h;} PACKED_ATTR() t_client_iconreq;/******************************************************//******************************************************//*                          FF 2D 16 00 76 34 1F 8F            .-..v4..C0 D6 BD 01 69 63 6F 6E   73 2E 62 6E 69 00          ....icons.bni.FF 2D 16 00 00 77 D0 01   C7 B1 BE 01 69 63 6F 6E    .-...w......icon73 2E 62 6E 69 00                                    s.bni.*/

⌨️ 快捷键说明

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