Valhalla Legends Forums Archive | Battle.net Bot Development | [VB6] S->C SID_AUTH_INFO

AuthorMessageTime
bethra
I am having trouble extracting the data from the packet that was returned by the SID_AUTH_INFO packet.

I'm using the Grok's DebugOutput function but I'm finding that its is just confusing me.

The format of the returned packet by the SID_AUTH_INFO packet is
[quote]
(DWORD)       Logon Type
(DWORD)       Server Token
(DWORD)       UDPValue**
(FILETIME)    MPQ filetime
(STRING)       IX86ver filename
(STRING)       ValueString
[/quote]

This is what the DebugOutput function displays in the lstbox I used
[quote]
FF 50 62 00 00 00 00 00 E7 F9 41 F3 8C 60 02 00 ÿPb.....çùAóŒ`..
00 81 8F 83 91 E7 C3 01 49 58 38 36 76 65 72 37 .??ƒ‘çÃ.IX86ver7
2E 6D 70 71 00 41 3D 32 39 30 30 32 37 33 31 39 .mpq.A=290027319
20 42 3D 37 30 39 37 36 34 30 32 35 20 43 3D 34 B=709764025 C=4
32 37 31 38 35 33 36 20 34 20 41 3D 41 2B 53 20 2718536 4 A=A+S
42 3D 42 5E 43 20 43 3D 43 5E 41 20 41 3D 41 5E B=B^C C=C^A A=A^
42 00 B...............
[/quote]

The packet has a total of 99 bytes...

DWORDs are 32-bit unsigned integers, 4bytes and so to get the "Logon Type" I should take the first 4 bytes from the packet.

I tried to get the "Logon Type" by using the MidB function like this
[code]
LogonType = MidB(data, 1, 4)
[/code]

What I get is the "ÿP" that is shown from the DebugOutput.

The possible logon type values are
[quote]
0: Broken Sha-1 (STAR/SEXP/D2DV/D2XP)
1: NLS version 1 (War3Beta)
2: NLS Version 2 (WAR3)
[/quote]

ummm I don't think that "ÿP" is 0, 1 or 2 =\

where is this Logon Type?
August 8, 2004, 11:21 PM
Soul Taker
The first four bytes of all BNCS packets is the packet header. The format shall always be 0xFF followed by the packet ID as a byte, followed by the packet length as a WORD. The logon type would then logically be the next four bytes.
August 8, 2004, 11:37 PM
bethra
[quote author=Soul Taker link=board=17;threadid=8079;start=0#msg74636 date=1092008278]
The first four bytes of all BNCS packets is the packet header. The format shall always be 0xFF followed by the packet ID as a byte, followed by the packet length as a WORD. The logon type would then logically be the next four bytes.
[/quote]

LogonType = MidB(data, 4, 4)

gives me "?"

LogonType = Mid(data, 4, 4)

gives me "" nothing
August 9, 2004, 1:28 AM
UserLoser.
[quote author=bethra link=board=17;threadid=8079;start=0#msg74652 date=1092014937]

LogonType = MidB(data, 4, 4)

gives me "?"

LogonType = Mid(data, 4, 4)

gives me "" nothing
[/quote]

You should be storing it as a long, not a string. Look into RtlMoveMemory() to copy the 4 bytes into a long.
August 9, 2004, 1:58 AM

Search