This is the SNAC sent by the server in reply to BUCP__CHALLENGE_REQUEST. After this is sent, the client should send a BUCP__LOGIN_REQUEST packet, where the challenge it recieves here is used when hashing the password.
00 17 |
|
word |
|
SNAC foodgroup |
00 07 |
|
word |
|
SNAC subgroup |
00 00 |
|
word |
|
SNAC flags |
00 00 00 00 |
|
dword |
|
SNAC request ID |
|
SNAC DataThe SNAC data is as follows, in this order:
- Challenge length (uint16/word)
- Challenge (bytes)
Example dump (from NINA's servers - with a FLAP header):
0000 00 0c 29 d0 5f 85 00 50 56 f1 00 4c 08 00 45 00 ..)._..PV..L..E.
0010 00 44 00 e1 00 00 80 06 f2 d6 86 d1 af f6 c0 a8 .D..............
0020 4f 8c 14 46 04 8a 6c 15 1c b4 de 01 cb ad 50 18 O..F..l.......P.
0030 fa f0 f0 2e 00 00 2a 02 00 01 00 16 00 17 00 07 ......*.........
0040 00 00 00 00 00 00 00 0a 36 30 30 35 38 35 35 39 ........60058559
0050 34 36 46
Note for server developers: I'm not quite sure if there is anything fancy going on in the challenge generation in NINA, but judging by the packet dumps above, I simply just made a string with 10 random numbers, as seen in my server
| |