-
Notifications
You must be signed in to change notification settings - Fork 8
Gamestats2 protocol
sepalani edited this page Jun 29, 2017
·
3 revisions
Reverse engineering based on Mario Strikers Charged Football (PAL) dumps and debug messages.
DWC_RnkPutScoreAsync(uint32_t category, uint32_t region, uint32_t score, void* data, uint32_t len)
// category: 0, 1, 2, ...
// region: 1, 2, 4
// score: user score
// data: user data
// len: data length (0x80)GET /mschargedwii/web/client/put2.asp?pid=355776439 HTTP/1.1
Host: gamestats2.gs.nintendowifi.net
User-Agent: GameSpyHTTP/1.0
Connection: close
HTTP/1.1 200 OK
Date: Sun, 18 May 2014 11:44:50 GMT
Server: Microsoft-IIS/6.0
p3p: CP='NOI ADMa OUR STP'
cluster-server: gstprdweb13.las1.colo.ignops.com
X-Powered-By: ASP.NET
Content-Length: 32
Content-Type: text/html
Set-Cookie: ASPSESSIONIDCATBCDCD=PHKJJNEAEICIGKFNNMFMECDD; path=/
Cache-control: private
yTeitsg1L1AD5u8bmx5T8VpS9QK7vNGX
GET /mschargedwii/web/client/put2.asp?pid=355776439&hash=a991ad96336e6ebcbdef5676f140a300a2a7b5de&data=QttED7e3NBWQAAAABAAAAAIAAAAQAAAAgAAAABIFB94AAAABAAAAAgACAHMAZQBiAAD_Vf3I-8MAqv9V_cj746hWAHMAZQBiAAAAAAAAAAAAAAAAAAB_UYB2N3fCXLmQIAxmAAGWCKIIjAhANEiYjTCKAIolBQAAAAAAAAAAAAAAAAAAAAAAAAAAlveDTEEndGCCEhX5wMekPim2 HTTP/1.1
Host: gamestats2.gs.nintendowifi.net
User-Agent: GameSpyHTTP/1.0
Connection: close
HTTP/1.1 200 OK
Date: Sun, 18 May 2014 11:44:51 GMT
Server: Microsoft-IIS/6.0
p3p: CP='NOI ADMa OUR STP'
cluster-server: gstprdweb15.las1.colo.ignops.com
X-Powered-By: ASP.NET
Content-Length: 44
Content-Type: text/html
Set-Cookie: ASPSESSIONIDSASRSATD=PIJLNNEAAAOKNLBLLBDAGGMP; path=/
Cache-control: private
done15a5ff3d835a9e893af615959c78552ac0f02909// Data base64 urlsafe decoded
00000000 42 db 44 0f b7 b7 34 15 90 00 00 00 04 00 00 00 |B.D...4.........|
00000010 02 00 00 00 10 00 00 00 80 00 00 00 12 05 07 de |................|
00000020 00 00 00 01 00 00 00 02 00 02 00 73 00 65 00 62 |...........s.e.b|
00000030 00 00 ff 55 fd c8 fb c3 00 aa ff 55 fd c8 fb e3 |...U.......U....|
00000040 a8 56 00 73 00 65 00 62 00 00 00 00 00 00 00 00 |.V.s.e.b........|
00000050 00 00 00 00 00 00 7f 51 80 76 37 77 c2 5c b9 90 |.......Q.v7w.\..|
00000060 20 0c 66 00 01 96 08 a2 08 8c 08 40 34 48 98 8d | .f........@4H..|
00000070 30 8a 00 8a 25 05 00 00 00 00 00 00 00 00 00 00 |0...%...........|
00000080 00 00 00 00 00 00 00 00 00 00 96 f7 83 4c 41 27 |.............LA'|
00000090 74 60 82 12 15 f9 c0 c7 a4 3e 29 b6 |t`.......>).|
0000009c// Data base64 urlsafe decoded (earlier ones)
00000000 42 db 44 5e b7 b7 34 15 90 00 00 00 04 00 00 00 |B.D^..4.........|
00000010 00 00 00 00 00 00 00 00 80 00 00 00 12 05 07 de |................|
00000020 00 00 00 00 00 00 00 01 00 02 00 73 00 65 00 62 |...........s.e.b|
00000030 00 00 ff 55 fd c8 fb c3 00 aa ff 55 fd c8 fb e3 |...U.......U....|
00000040 a8 56 00 73 00 65 00 62 00 00 00 00 00 00 00 00 |.V.s.e.b........|
00000050 00 00 00 00 00 00 7f 51 80 76 37 77 c2 5c b9 90 |.......Q.v7w.\..|
00000060 20 0c 66 00 01 96 08 a2 08 8c 08 40 34 48 98 8d | .f........@4H..|
00000070 30 8a 00 8a 25 05 00 00 00 00 00 00 00 00 00 00 |0...%...........|
00000080 00 00 00 00 00 00 00 00 00 00 96 f7 3e a1 1f 8a |............>...|
00000090 7f 95 91 dd b9 97 0e 6b ae 21 2c 0a |.......k.!,.|
0000009c
00000000 42 db 44 5f b7 b7 34 15 90 00 00 00 04 00 00 00 |B.D_..4.........|
00000010 01 00 00 00 00 00 00 00 80 00 00 00 12 05 07 de |................|
00000020 00 00 00 00 00 00 00 01 00 02 00 73 00 65 00 62 |...........s.e.b|
00000030 00 00 ff 55 fd c8 fb c3 00 aa ff 55 fd c8 fb e3 |...U.......U....|
00000040 a8 56 00 73 00 65 00 62 00 00 00 00 00 00 00 00 |.V.s.e.b........|
00000050 00 00 00 00 00 00 7f 51 80 76 37 77 c2 5c b9 90 |.......Q.v7w.\..|
00000060 20 0c 66 00 01 96 08 a2 08 8c 08 40 34 48 98 8d | .f........@4H..|
00000070 30 8a 00 8a 25 05 00 00 00 00 00 00 00 00 00 00 |0...%...........|
00000080 00 00 00 00 00 00 00 00 00 00 96 f7 3e a1 1f 8a |............>...|
00000090 7f 95 91 dd b9 97 0e 6b ae 21 2c 0a |.......k.!,.|
0000009c
00000000 42 db 44 58 b7 b7 34 15 90 00 00 00 04 00 00 00 |B.DX..4.........|
00000010 02 00 00 00 00 00 00 00 80 00 00 00 12 05 07 de |................|
00000020 00 00 00 00 00 00 00 01 00 02 00 73 00 65 00 62 |...........s.e.b|
00000030 00 00 ff 55 fd c8 fb c3 00 aa ff 55 fd c8 fb e3 |...U.......U....|
00000040 a8 56 00 73 00 65 00 62 00 00 00 00 00 00 00 00 |.V.s.e.b........|
00000050 00 00 00 00 00 00 7f 51 80 76 37 77 c2 5c b9 90 |.......Q.v7w.\..|
00000060 20 0c 66 00 01 96 08 a2 08 8c 08 40 34 48 98 8d | .f........@4H..|
00000070 30 8a 00 8a 25 05 00 00 00 00 00 00 00 00 00 00 |0...%...........|
00000080 00 00 00 00 00 00 00 00 00 00 96 f7 3e a1 1f 8a |............>...|
00000090 7f 95 91 dd b9 97 0e 6b ae 21 2c 0a |.......k.!,.|
0000009c// Data Structure
struct put2_data
{
uint32_le checksum;
uint32_le pid;
uint32_le packet_len;
uint32_le region;
uint32_le category;
uint32_le score;
uint32_le data_len;
uint8_t data[0];
};DWC_RnkGetScoreAsync(uint32_t mode, uint32_t category, uint32_t region, void* options)
// mode: 0 (own ranking), 1 (top), 2 (nearby stats), 3 (friends stats)
// category: 0, 1, 2
// region: 1, 2, 4
// struct options
// {
// uint32_be unk_0x00; // 0x0000010C // size?
// uint32_be unk_0x04; // 0x00000001 // filter?
// uint32_be unk_0x08; // 0x00000041 // limit?
// uint32_be unk_0x0C; // 0x00000000 // update time?
// ???
// }
//
// First call:
// DWC_RnkGetScoreAsync(3, 2, 4, &options)
// 51:08:895 HLE\HLE_OS.cpp:82 N[OSREPORT]: 8012d798->8012d770| Error 16 from DWC_RnkResGetRowCount cat 2 filter 1
// 51:08:896 HLE\HLE_OS.cpp:82 N[OSREPORT]: 8012f72c->8012f6a0| Unavailable Leaderboard Stats cat 2 filter 1
// 51:08:896 HLE\HLE_OS.cpp:82 N[OSREPORT]: 8012017c->80120168| Error getting friends stats at loginGET /mschargedwii/web/client/get2.asp?pid=355776439 HTTP/1.1
Host: gamestats2.gs.nintendowifi.net
User-Agent: GameSpyHTTP/1.0
Connection: close
HTTP/1.1 200 OK
Date: Sun, 18 May 2014 11:45:32 GMT
Server: Microsoft-IIS/6.0
p3p: CP='NOI ADMa OUR STP'
cluster-server: gstprdweb13.las1.colo.ignops.com
X-Powered-By: ASP.NET
Content-Length: 32
Content-Type: text/html
Set-Cookie: ASPSESSIONIDSQQQSRAS=JKPKFMEAIPJAJGJFBLPFKIIC; path=/
Cache-control: private
ZccwFoIeKe3E3GbI5xtADduDRxkCQ6Hk
GET /mschargedwii/web/client/get2.asp?pid=355776439&hash=cf6b615962175f24cc3b2a6214bcbae05f498b84&data=Qttjmbe3NBUcAQAABAAAAAIAAAADAAAADAEAAAEAAABBAAAAAAAAAEm3NBUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= HTTP/1.1
Host: gamestats2.gs.nintendowifi.net
User-Agent: GameSpyHTTP/1.0
Connection: close
// Data base64 urlsafe decoded
00000000 42 db 63 99 b7 b7 34 15 1c 01 00 00 04 00 00 00 |B.c...4.........|
00000010 02 00 00 00 03 00 00 00 0c 01 00 00 01 00 00 00 |................|
00000020 41 00 00 00 00 00 00 00 49 b7 34 15 00 00 00 00 |A.......I.4.....|
00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00000040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00000050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00000060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00000070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00000080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00000090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
000000a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
000000b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
000000c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
000000d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
000000e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
000000f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00000100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00000110 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00000120 00 00 00 00 00 00 00 00 |........|
00000128
HTTP/1.1 200 OK
Date: Sun, 18 May 2014 11:45:32 GMT
Server: Microsoft-IIS/6.0
p3p: CP='NOI ADMa OUR STP'
cluster-server: gstprdweb13.las1.colo.ignops.com
X-Powered-By: ASP.NET
Content-Length: 356
Content-Type: text/html
Set-Cookie: ASPSESSIONIDCATBCDCD=DHLJJNEAGJKOGGPBBJIOMACO; path=/
Cache-control: private
0000 03 00 00 00 02 00 00 00 01 00 00 00 01 00 00 00 ................
0010 b7 b7 34 15 10 00 00 00 04 00 00 00 00 00 00 00 ..4.............
0020 80 00 00 00 12 05 07 de 00 00 00 01 00 00 00 02 ................
0030 00 02 00 73 00 65 00 62 00 00 ff 55 fd c8 fb c3 ...s.e.b...U....
0040 00 aa ff 55 fd c8 fb e3 a8 56 00 73 00 65 00 62 ...U.....V.s.e.b
0050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 7f 51 ...............Q
0060 80 76 37 77 c2 5c b9 90 20 0c 66 00 01 96 08 a2 .v7w.\.. .f.....
0070 08 8c 08 40 34 48 98 8d 30 8a 00 8a 25 05 00 00 ...@4H..0...%...
0080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0090 00 00 96 f7 83 4c 41 27 74 60 82 12 15 f9 c0 c7 .....LA't`......
00a0 a4 3e 29 b6 00 00 00 00 49 b7 34 15 00 00 00 00 .>).....I.4.....
00b0 04 00 00 00 88 fa 14 00 80 00 00 00 06 0a 07 db ................
00c0 00 00 00 00 00 00 00 00 00 02 00 4e 00 69 00 63 ...........N.i.c
00d0 00 6f 00 6c 00 61 00 73 00 00 ff 55 fd c8 fb e3 .o.l.a.s...U....
00e0 a4 c1 00 4e 00 69 00 63 00 6f 00 6c 00 61 00 73 ...N.i.c.o.l.a.s
00f0 00 00 00 00 00 00 53 46 82 26 9d 9b 30 f4 b6 95 ......SF.&..0...
0100 04 c4 56 40 31 bd 28 a2 08 8c 08 40 14 4d 98 8d ..V@1.(....@.M..
0110 30 8a 00 8a 25 04 00 4e 00 69 00 63 00 6f 00 6c 0...%..N.i.c.o.l
0120 00 61 00 73 00 00 00 00 00 00 f0 95 74 2d ea 29 .a.s........t-.)
0130 39 27 f7 44 ea 65 24 ac 40 63 0f 88 66 62 33 35 9'.D.e$.@c..fb35
0140 61 38 38 33 64 32 37 36 30 33 32 31 36 61 35 62 a883d27603216a5b
0150 65 37 36 39 38 35 66 64 32 33 65 38 39 33 66 36 e76985fd23e893f6
0160 32 35 38 63 258c
// Earlier one
GET /mschargedwii/web/client/get2.asp?pid=355776439 HTTP/1.1
Host: gamestats2.gs.nintendowifi.net
User-Agent: GameSpyHTTP/1.0
Connection: close
HTTP/1.1 200 OK
Date: Sun, 18 May 2014 11:45:27 GMT
Server: Microsoft-IIS/6.0
p3p: CP='NOI ADMa OUR STP'
cluster-server: gstprdweb16.las1.colo.ignops.com
X-Powered-By: ASP.NET
Content-Length: 32
Content-Type: text/html
Set-Cookie: ASPSESSIONIDQARTQDSD=JMPBHIEAJJNNMLDOBKIFDFIL; path=/
Cache-control: private
KQkQRfx1anLfWgPFbAgL1hWLsKkUK8T8
GET /mschargedwii/web/client/get2.asp?pid=355776439&hash=4e2a8b441d4caba5222639f0b1a3952dd0c1d288&data=QttiWbe3NBUcAAAABAAAAAEAAAACAAAADAAAAAEAAAAKAAAAwgIAAA== HTTP/1.1
Host: gamestats2.gs.nintendowifi.net
User-Agent: GameSpyHTTP/1.0
Connection: close
// Data base64 urlsafe decoded
00000000 42 db 62 59 b7 b7 34 15 1c 00 00 00 04 00 00 00 |B.bY..4.........|
00000010 01 00 00 00 02 00 00 00 0c 00 00 00 01 00 00 00 |................|
00000020 0a 00 00 00 c2 02 00 00 |........|
00000028
HTTP/1.1 200 OK
Date: Sun, 18 May 2014 11:45:28 GMT
Server: Microsoft-IIS/6.0
p3p: CP='NOI ADMa OUR STP'
cluster-server: gstprdweb13.las1.colo.ignops.com
X-Powered-By: ASP.NET
Content-Length: 1572
Content-Type: text/html
Set-Cookie: ASPSESSIONIDSQQQSRAS=FJPKFMEAHKEFLFCEDPCBNNEK; path=/
Cache-control: private
0000 02 00 00 00 0a 00 00 00 be 00 00 00 49 00 00 00 ............I...
0010 b7 b7 34 15 10 00 00 00 04 00 00 00 00 00 00 00 ..4.............
0020 80 00 00 00 12 05 07 de 00 00 00 01 00 00 00 02 ................
0030 00 02 00 73 00 65 00 62 00 00 ff 55 fd c8 fb c3 ...s.e.b...U....
0040 00 aa ff 55 fd c8 fb e3 a8 56 00 73 00 65 00 62 ...U.....V.s.e.b
0050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 7f 51 ...............Q
0060 80 76 37 77 c2 5c b9 90 20 0c 66 00 01 96 08 a2 .v7w.\.. .f.....
0070 08 8c 08 40 34 48 98 8d 30 8a 00 8a 25 05 00 00 ...@4H..0...%...
0080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0090 00 00 96 f7 83 4c 41 27 74 60 82 12 15 f9 c0 c7 .....LA't`......
00a0 a4 3e 29 b6 00 00 00 00 27 61 a3 1c 13 00 00 00 .>).....'a......
00b0 04 00 00 00 f5 00 00 00 80 00 00 00 12 05 07 de ................
00c0 00 00 00 01 00 00 00 03 00 02 03 b6 03 b1 03 bb ................
00d0 00 3f 00 3f 00 3f 26 06 00 00 ff 55 fd c8 fb e3 .?.?.?&....U....
00e0 9c 25 03 b6 03 b1 03 bb 03 ac 03 ad 03 ca 26 06 .%............&.
00f0 00 00 00 52 00 00 3b 3c 83 e7 23 08 27 c0 84 0e ...R..;<..#.'...
0100 04 04 48 60 31 bd 28 a2 08 8c 08 40 14 49 b0 8d ..H`1.(....@.I..
0110 00 8a 08 8a 25 04 00 72 00 61 00 66 00 61 00 65 ....%..r.a.f.a.e
0120 00 6c 00 00 00 00 00 00 00 00 d8 d0 f5 f0 53 3e .l............S>
0130 d5 73 76 7a 1f de e2 16 cd 10 b6 8c 00 00 00 00 .svz............
0140 9c 60 a3 1c 11 00 00 00 04 00 00 00 f9 00 00 00 .`..............
0150 80 00 00 00 12 05 07 de 00 00 00 01 00 00 00 04 ................
0160 00 02 00 62 00 e9 00 62 00 e9 00 20 00 6d 00 61 ...b...b... .m.a
0170 00 72 00 69 00 6f 00 00 80 0a 00 62 00 e9 00 62 .r.i.o.....b...b
0180 00 e9 00 20 00 6d 00 61 00 72 00 69 00 6f 7f 7f ... .m.a.r.i.o..
0190 82 c8 0e 31 59 70 31 89 60 2d 4a 4c 29 f2 28 a2 ...1Yp1.`-JL).(.
01a0 50 8c 08 41 84 49 28 8d 00 8a 71 0a c6 0b 00 00 P..A.I(...q.....
01b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
01c0 00 00 b8 78 98 b1 1f 8c 3f 42 5e 25 68 e4 98 f5 ...x....?B^%h...
01d0 e4 49 48 fa 00 00 00 00 d8 63 a3 1c 10 00 00 00 .IH......c......
01e0 04 00 00 00 f6 00 00 00 80 00 00 00 12 05 07 de ................
01f0 00 00 00 01 00 00 00 02 00 02 00 6c 00 69 00 6c ...........l.i.l
0200 00 69 00 61 00 6e 00 00 00 aa ff 55 fd c8 fb e3 .i.a.n.....U....
0210 06 61 00 6c 00 69 00 6c 00 69 00 61 00 6e 00 00 .a.l.i.l.i.a.n..
0220 00 6f 00 73 00 73 13 00 82 80 4f 9a 59 59 eb c4 .o.s.s....O.YY..
0230 00 04 62 01 31 bd 08 a2 3c 8c 08 48 14 4d 78 8d ..b.1...<..H.Mx.
0240 00 8a 00 8a 25 05 00 6c 00 69 00 6c 00 69 00 00 ....%..l.i.l.i..
0250 00 00 00 00 00 00 00 00 00 00 b6 08 77 43 0a 81 ............wC..
0260 04 01 54 85 9a ff 2b f5 20 81 57 cc 00 00 00 00 ..T...+. .W.....
0270 87 e7 8a 1c 10 00 00 00 04 00 00 00 04 00 00 00 ................
0280 80 00 00 00 12 05 07 de 00 00 00 01 00 00 00 01 ................
0290 00 02 00 4a 00 61 00 6e 00 20 00 47 00 6f 00 6c ...J.a.n. .G.o.l
02a0 00 64 00 00 fd c8 fb e3 0a a5 00 4a 00 61 00 6e .d.........J.a.n
02b0 00 20 00 47 00 6f 00 6c 00 64 00 00 00 00 2b 06 . .G.o.l.d....+.
02c0 83 c8 85 ca 41 8a d1 e8 00 05 44 5c 99 bc 28 b2 ....A.....D\..(.
02d0 08 8d a8 54 14 49 b0 8d 04 8a 00 8a 25 04 00 00 ...T.I......%...
02e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
02f0 00 00 1c ea 88 75 8a 63 c1 4f 26 e5 bb de d4 d6 .....u.c.O&.....
0300 62 bd dd ac 00 00 00 00 5e ce 63 1c 0f 00 00 00 b.......^.c.....
0310 04 00 00 00 61 00 00 00 80 00 00 00 12 05 07 de ....a...........
0320 00 00 00 01 00 00 00 01 00 02 00 4a 00 41 00 56 ...........J.A.V
0330 00 49 00 00 fd c8 fb c3 00 aa ff 55 fd c8 fb e3 .I.........U....
0340 b1 e1 00 4a 00 41 00 56 00 49 00 00 00 00 00 00 ...J.A.V.I......
0350 00 00 00 00 00 00 7f 4c 83 db 63 74 41 e5 e8 f5 .......L..ctA...
0360 10 04 62 40 31 bc 28 a2 08 8c 08 40 14 49 b0 8d ..b@1.(....@.I..
0370 74 8a 00 8a 25 04 00 00 00 00 00 00 00 00 00 00 t...%...........
0380 00 00 00 00 00 00 00 00 00 00 a6 ae 58 80 8e 37 ............X..7
0390 90 cd 83 83 df 44 f8 da 03 82 df 42 00 00 00 00 .....D.....B....
03a0 ba 96 a3 1c 0f 00 00 00 04 00 00 00 1f 00 00 00 ................
03b0 80 00 00 00 12 05 07 de 00 00 00 01 00 00 00 01 ................
03c0 00 02 26 06 00 53 00 63 00 61 00 72 00 74 26 06 ..&..S.c.a.r.t&.
03d0 00 00 ff 55 fd c8 fb e3 00 16 26 06 00 53 00 63 ...U......&..S.c
03e0 00 61 00 72 00 74 26 06 00 00 00 00 00 00 40 11 .a.r.t&.......@.
03f0 83 f0 66 ea 03 b4 10 76 34 05 43 dc 32 3d f0 68 ..f....v4.C.2=.h
0400 18 e0 0e 5c 14 4d 01 0d 00 8a 00 8a 25 05 26 06 ...\.M......%.&.
0410 00 42 00 47 26 06 00 00 00 00 00 00 00 00 00 00 .B.G&...........
0420 00 00 1b 99 66 7c c0 76 96 4c cd ce a0 cb 7d 9e ....f|.v.L....}.
0430 dc 54 63 8f 00 00 00 00 53 2f 8c 1c 0d 00 00 00 .Tc.....S/......
0440 04 00 00 00 76 00 00 00 80 00 00 00 12 05 07 de ....v...........
0450 00 00 00 01 00 00 00 01 00 02 00 65 00 74 00 68 ...........e.t.h
0460 00 61 00 6e 00 20 00 77 00 20 26 06 26 06 00 00 .a.n. .w. &.&...
0470 a2 21 00 65 00 74 00 68 00 61 00 6e 00 20 00 77 .!.e.t.h.a.n. .w
0480 00 20 26 06 26 06 54 31 83 dc 0d f8 47 8f ee 9d . &.&.T1....G...
0490 00 04 3e 40 31 bd 28 a2 08 8c 08 40 14 4d 78 8d ..>@1.(....@.Mx.
04a0 84 80 00 8a 25 04 00 00 00 00 00 00 00 00 00 00 ....%...........
04b0 00 00 00 00 00 00 00 00 00 00 1f 90 7d f7 a6 d5 ............}...
04c0 e3 e4 c0 5d f5 01 35 4c b0 c0 35 c0 00 00 00 00 ...]..5L..5.....
04d0 2c 1d aa 11 0d 00 00 00 04 00 00 00 37 00 00 00 ,...........7...
04e0 80 00 00 00 12 05 07 de 00 00 00 01 00 00 00 01 ................
04f0 00 02 00 67 00 75 00 2d 00 67 00 75 00 73 00 00 ...g.u.-.g.u.s..
0500 00 aa ff 55 fd c8 fb e3 2a 61 00 67 00 75 00 2d ...U....*a.g.u.-
0510 00 67 00 75 00 73 00 00 00 00 00 00 00 00 35 15 .g.u.s........5.
0520 81 df 63 b3 68 30 af 86 04 07 42 5a 01 80 28 a2 ..c.h0....BZ..(.
0530 08 8c 48 44 14 48 b0 8d 00 8a 00 8a 25 04 00 6d ..HD.H......%..m
0540 00 61 00 72 00 69 00 75 00 73 00 00 00 00 00 00 .a.r.i.u.s......
0550 00 00 d8 bd 23 84 c3 0e 7d 45 1a da 08 3a af 98 ....#...}E...:..
0560 f5 55 3b 91 00 00 00 00 98 03 42 1c 0c 00 00 00 .U;.......B.....
0570 04 00 00 00 84 00 00 00 80 00 00 00 12 05 07 de ................
0580 00 00 00 00 00 00 00 04 00 02 00 4d 00 61 00 69 ...........M.a.i
0590 00 74 00 72 00 65 00 47 00 69 00 6d 00 73 00 00 .t.r.e.G.i.m.s..
05a0 80 17 00 4d 00 61 00 69 00 74 00 72 00 65 00 47 ...M.a.i.t.r.e.G
05b0 00 69 00 6d 00 73 33 4b 81 e7 35 65 17 0a 98 3a .i.m.s3K..5e...:
05c0 34 04 5a 40 31 bd 28 a2 08 8c 08 40 a4 4d 30 8d 4.Z@1.(....@.M0.
05d0 60 8a f0 8a 25 04 00 00 00 00 00 00 00 00 00 00 `...%...........
05e0 00 00 00 00 00 00 00 00 00 00 aa 9e 9a 47 f0 9b .............G..
05f0 30 2d 40 d6 4f 95 b2 30 3b d6 64 0f 30 35 35 31 0-@.O..0;.d.0551
0600 66 65 66 32 39 31 61 64 63 39 63 61 34 66 39 36 fef291adc9ca4f96
0610 34 36 39 64 62 30 61 66 61 35 62 33 34 39 31 31 469db0afa5b34911
0620 66 38 38 37 f887// Data Structure
struct get2_data
{
uint32_le checksum;
uint32_le pid;
uint32_le packet_len;
uint32_le region;
uint32_le category;
uint32_le mode;
uint32_le data_len;
uint8_t data[0];
};
// Own Ranking
struct get2_mode_0x00_data
{
// TODO
};
// Top
struct get2_mode_0x01_data
{
// TODO
};
// Nearby Stats
struct get2_mode_0x02_data
{
uint32_le filter;
uint32_le limit;
uint32_le update_time;
};
// Friends Stats
struct get2_mode_0x03_data
{
uint32_le filter;
uint32_le limit;
uint32_le update_time;
uint32_le friends_pid[64];
};
// HTTP Body
struct row
{
uint32_le unk_0x00; // order?
uint32_le pid;
uint32_le score;
uint32_le region; // Set to 0xFFFFFFFF if pid not found
uint32_le unk_0x10; // update time?
uint32_le data_len;
uint8_t data[0];
};
struct body
{
uint32_le mode;
uint32_le row_count; // Transferred rows
uint32_le row_total; // Total rows
struct row rows[0];
};